ืคึผืฉืื ืคึผืึทืกืืืขืจืื ืืขื ืขื ื ืืฉื ืืืืขืจ, ืืื ืงืึธืืคึผืืขืงืก ืึธื ืขืก ืืขื ืขื ืืืืืขืืืขื ืฆื ืืขืืขื ืงืขื. ืึทื ืก ืืืึธืก ืืื ืึทืืื ืึธืคื ืกืืฃ ืึทืจืืืฃ ืืืืฃ ืึท ืงืืขืคึผืืง ืืึธื ืืื ืืขืจ ืื ืงืืึทืืืืึทืืืจ ืึธืืขืจ ืืืืฃ ืื ืืึธื ืืืึธืจ. ืฆื ืขื ืฉืืจ ืึทื ืคึผืึทืกืืืขืจืื ืืืืืื ืืื ืื ืืืฉืืืช ืคืื "ืคืขืจืืขืืคืึทื" ื ืืฆืขืจืก ืืื ืื ืจืืืืืึทืืืืึทืื ืคืื ืฉืืฅ ืืื ื ืืฉื ืคืึทืจืคืึทืื, ืขืก ืืื ืฆืืืื-ืคืึทืงืืึธืจ ืึธืืขื ืืึทืงืืืฉืึทื (2FA).
ืจืขืื ืฆื ืืขืจ ืงืึธืืืื ืึทืฆืืข ืคืื โโโโืึธืื ืื ื ืึท ืืืื ืืื ืืืืกื ืืืื PIN, ืื PIN ืืื ืงืขื ืขื ืืืื ืกืืืคึผืืขืจ ืืื ืืจืื ืืขืจ ืฆื ืืขืืขื ืงืขื. ืืืกืึทืืืืึทื ืืืืืฉืื ืืื PIN ืืขื ื ืึธืืขืจ ืจืึทื ืืึทืื ืึทืก ืืขื ืขื ืึธืคืกืขื ืืืจื ืื ืืฉืืืืช ืคืึทืจืืขืื ืคืึธืืขืจืื ื ืืื ืจืืกืืจืืงืฉืึทื ื ืืืืฃ PIN ืืจืื ืงืจืึทืคื.
ืืื ืืขืจืฆื, ืขืก ืืึทืคึผืึทื ื ืืื ืจืขืืืจืื ื ืืืืืฉืึทื ืกืื ืึทื ืืื ืืืขืื ืึทืืฅ ืฆื ืึทืจืืขืื ืืืื GOST. ืื 2FA ืึธืคึผืฆืืข ืคึฟืึทืจ ืืึธืืื ื ืืื ืืื ืืงืก ืืืขื ืืืื ืืืกืงืึทืกื. ืืื ืฐืขื ืึธื ืืืืื ืคึฟืื ืืขืจ ืฐืฒึทืื.
PAM ืืึทืืืฉืืื
ืคึผืืึทืืึทืืืข ืึธืืขื ืืึทืงืืืฉืึทื ืืึธืืืืขืก (PAM) ืืขื ืขื ืืึทืืืฉืืื ืืื ืึท ื ืึธืจืืึทื ืึทืคึผื ืืื ืืืคึผืืึทืืึทื ืฅ ืคืื ืคืึทืจืฉืืื ืึธืืขื ืืึทืงืืืฉืึทื ืืขืงืึทื ืืืึทืื ืืื ืึทืคึผืืึทืงืืืฉืึทื ื.
ืื ืืืืืืึทืืื ืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืืึธืก ืงืขื ืขื ืึทืจืืขืื ืืื PAM ืงืืืึทืื ืืื ืืื ืงืขื ืขื ื ืืฆื ืืื ืคึฟืึทืจ ืืึทื ืืฆืขืจ ืึธืืขื ืืึทืงืืืฉืึทื.
ืืื ืคืืจ, ืขืก ืึทืจืืขื ืขืคึผืขืก ืืื ืืึธืก: ืื ืืึธืืื ืืึทืคึฟืขื ืจืืคื PAM, ืืืึธืก ืคึผืขืจืคืึธืจืื ืึทืืข ืื ื ืืืืืง ืืฉืขืงืก ื ืืฆื ืื ืืึทืืืฉืืื ืกืคึผืขืกืืคืืขื ืืื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข ืืื ืงืขืจื ืื ืจืขืืืืืึทื ืฆืืจืืง ืฆื ืื ืืึธืืื ืืึทืคึฟืขื.
librtpam
ืืขืจ ืืึธืืืืข ืืขืืืขืืึธืคึผืขื ืืืจื ืื ืึทืงืืืื ืคืืจืืข ืืืกืืฃ ืฆืืืื-ืคืึทืงืืึธืจ ืึธืืขื ืืึทืงืืืฉืึทื ืคืื ื ืืฆืขืจืก ื ืืฆื ืกืืึทืจื ืงืึทืจืืก ืึธืืขืจ ืืกื ืืึธืงืขื ืก ื ืืฆื ืึทืกืืืืขืืจืืง ืฉืืืกืืขื ืืืื ืื ืืขืฆืืข ืกืืึทื ืืึทืจืืก ืคืื ืืื ืขืจ ืงืจืืคึผืืึธืืจืึทืคื.
ืืื ืก ืงืืง ืืื ืืขื ืคึผืจืื ืฆืืคึผ ืคืื ืืืึทื ืึธืคึผืขืจืึทืฆืืข:
- ืืขืจ ืกืืืขื ืกืืึธืจื ืืขืจ ืืึทื ืืฆืขืจ ืก ืืึทืืืืึทืื ืืื ืืืื ืคึผืจืืืืึทื ืฉืืืกื;
- ืื ืืึทืืืืึทืื ืืื ืืขืจืืืขืืืขื ืืื ืืขืจ ืืึทื ืืฆืขืจ 'ืก ืืืื ืืืขืืืืืึทืืขืจ ืืื ืืจืึทืกืืื.
ืืขืจ ืึธืืขื ืืึทืงืืืฉืึทื ืคึผืจืึธืฆืขืก ืึทืงืขืจื ืืื ืืืื:
- Rutoken ืืืื ืคึฟืึทืจ ืืขืจ ืืึทื ืืฆืขืจ ืก ืคึผืขืจืืขื ืืขื ืืึทืืืืึทืื.
- ืื ืกืืืขื PIN ืืื ืคืืจืืื ืื.
- ืืจืึทืค ืืึทืื ืืื ืืขืืชืืขื ืืืืฃ ืื ืคึผืจืืืืึทื ืฉืืืกื ืืืืึทื ืืื ืื Rutoken ืฉืคึผืึธื.
- ืื ืจืืืึทืืืื ื ืืกืืืข ืืื ืืืขืจืึทืคืืื ื ืืฆื ืื ืฆืืืืจ ืฉืืืกื ืคืื ืืขืจ ืืึทื ืืฆืขืจ ืก ืืึทืืืืึทืื.
- ืืขืจ ืืึธืืืืข ืงืขืจื ืื ืืกืืืข ืืืขืจืึทืคืึทืงืืืฉืึทื ืจืขืืืืืึทื ืฆื ืื ืคืึทื ืึทืคึผืืึทืงืืืฉืึทื.
ืืืจ ืงืขื ืขื ืึธืืขื ืืึทืงืืื ื ืืฆื GOST R 34.10-2012 ืฉืืืกืืขื (ืืขื ื 256 ืึธืืขืจ 512 ืืืฅ) ืึธืืขืจ ืื ืึทืืืืืืืื GOST R 34.10-2001.
ืืืจ ืืึธื ื ืื ืืึธืื ืฆื ืืึธืจื ืืืขืื ืื ืืืืขืจืืืื ืคืื ืื ืฉืืืกืืขื - ืืื ืืขื ืขื ืืืฉืขื ืขืจืืืืึทื ืืืืึทื ืืื Rutoken ืืื ืงืืื ืืึธื ืืึธืื ืืืื ืืึผืจืื ืืขืฉืึทืก ืงืจืืคึผืืึธืืจืึทืคืืง ืึทืคึผืขืจืืืฉืึทื ื.
Rutoken EDS 2.0 ืืื ืกืขืจืืึทืคืืื ืืืจื ืื ืคืกื ืืื FSTEC ืืืื NDV 4, ืืขืจืืืขืจ ืขืก ืงืขื ืขื ืืืื ืืขืืืืื ื ืืื ืืื ืคึฟืึธืจืืึทืฆืืข ืกืืกืืขืืขื ืืืึธืก ืคึผืจืึทืกืขืก ืงืึทื ืคืึทืืขื ืฉืึทื ืืื ืคึฟืึธืจืืึทืฆืืข.
ืคึผืจืึทืงืืืฉ ื ืืฆื
ืึผืืขื ืงืืื ืืึธืืขืจื ืืื ืืงืก ืืืขื ืืึธื, ืคึฟืึทืจ ืืืึทืฉืคึผืื ืืืจ ืืืขืื ื ืืฆื xUbuntu 18.10.
1) ืื ืกืืึทืืืจื ืื ื ืืืืืง ืคึผืึทืงืึทืืืฉืึทื
sudo apt-get install libccid pcscd opensc
ืืืื ืืืจ ืืืืื ืฆื ืืืืื ืึท ืืขืกืงืืึทืคึผ ืฉืืึธืก ืืื ืึท ืกืงืจืขืขื ืกืึทืืืขืจ, ืื ืกืืึทืืืจื ืืขื ืคึผืขืงื ืึทืืืฉื ืึทืื libpam-pkcs11
.
2) ืืืื ืึท PAM ืืึธืืืืข ืืื GOST ืฉืืืฆื
ืืึธืืืื ื ืื ืืืืืืึธืืขืง ืคึฟืื
ื ืึธืืืึทืื ืื ืืื ืืึทืื ืคืื ืื PAM ืืขืงืข librtpam.so.1.0.0 ืฆื ืื ืกืืกืืขื ืืขืงืข
/usr/lib/
ืึธืืขืจ /usr/lib/x86_64-linux-gnu/
ืึธืืขืจ /usr/lib64
3) ืื ืกืืึทืืืจื ืืขื ืคึผืขืงื ืืื librtpkcs11ecp.so
ืืจืืคืงืืคืืข ืืื ืื ืกืืึทืืืจื ืื DEB ืึธืืขืจ RPM ืคึผืขืงื ืคึฟืื ืืขื ืืื ืง:
4) ืงืึธื ืืจืึธืืืจื ืึทื Rutoken EDS 2.0 ืึทืจืืขื ืืื ืื ืกืืกืืขื
ืืื ืื ืืืึธืงืืึทื ืืืจ ืืืกืคืืจื
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
ืืืื ืืืจ ืืขื ืื ืฉืืจื Rutoken ECP <no label>
- ืขืก ืืืื ืึทื ืึทืืฅ ืืื ืืื.
5) ืืืืขื ืขื ืื ืืึทืืืืึทืื
ืงืึธื ืืจืึธืืืจื ืึทื ืื ืืืื ืืื ืึท ืืึทืืืืึทืื
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
ืืืื ื ืึธื ืื ืฉืืจื:
Using slot 0 with a present token (0x0)
- ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืืขืืืืื ืืืขืื ืฉืืืกืืขื ืืื ืกืขืจืืืคืืงืึทืฅ, ืืืจ ืืึทืจืคึฟื ืฆื ืืืืขื ืขื ืื ืืึทืืืืึทืื ืืื ืจืึทืืขืืืขื ืขืก ืืืืฃ ืืืกืง. ืฆื ืืึธื ืืึธืก, ืืืืคื ืื ืคืืืืขื ืืข ืืึทืคึฟืขื, ืึทื ืฉืืึธื ืคืื {ืื} ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืืืึทืื ืื ืืึทืืืืึทืื ืฉืืึทื ืืืึธืก ืืืจ ืืึธื ืืขืืขื ืืื ืืขืจ ืจืขืืืืืึทื ืคืื ืื ืคืจืืขืจืืืงืข ืืึทืคึฟืขื:
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
ืืืื ืื cert.crt ืืขืงืข ืืื ืืืฉืืคื, ืืืื ืืืืึทืืขืจ ืฆื ืฉืจืื 6). - ืขืก ืืื ืืืจื ืืฉื ืื, ืืขืืึธืื ืืขืจ ืืืื ืืื ืืืืืืง. ืงืึธื ืืึทืงื ืืืื ืึทืืืื ืืกืืจืึทืืึธืจ ืึธืืขืจ ืฉืึทืคึฟื ืื ืฉืืืกืืขื ืืื ืืึทืืืืึทืื ืืื ืืืจื ืื ืืืืึทืืขืจ ืฉืจืื.
5.1) ืฉืึทืคึฟื ืึท ืคึผืจืึธืืข ืืึทืืืืึทืื
ืืคืืขืจืงืืึทืืงืืึทื! ืื ืืืกืงืจืืืื ืืขืืืึธืืก ืคึฟืึทืจ ืงืจืืืืืื ื ืฉืืืกืืขื ืืื ืกืขืจืืืคืืงืึทืฅ ืืขื ืขื ืคึผืึทืกืืง ืคึฟืึทืจ ืืขืกืืื ื ืืื ืืขื ืขื ื ืืฉื ืืืขื ืคึฟืึทืจ ื ืืฆื ืืื ืงืึทืืืึทื ืืึธืืข. ืฆื ืืึธื ืืึธืก, ืืืจ ืืึทืจืคึฟื ืฆื ื ืืฆื ืฉืืืกืืขื ืืื ืกืขืจืืืคืืงืึทืฅ ืืจืืืก ืืืจื ืืืื ืืจืึทืกืืื ืกืขืจืืึทืคืึทืงืืืฉืึทื ืืืืืึธืจืืืขื ืึธืืขืจ ืึทื ืึทืงืจืขืืืืื ืกืขืจืืึทืคืึทืงืืืฉืึทื ืืืืืึธืจืืืขื.
ืื PAM ืืึธืืืืข ืืื ืืืืืื ื ืฆื ืืึทืฉืืฆื ืืืืข ืงืึธืืคึผืืืืขืจืก ืืื ืืื ืืืืืื ื ืฆื ืึทืจืืขืื ืืื ืงืืืื ืึธืจืืึทื ืึทืืืืฉืึทื ื. ืืื ื ืขืก ืืขื ืขื ืืืืื ืืง ื ืืฆืขืจืก, ืืขืจ ืึทืืืื ืืกืืจืึทืืึธืจ ืงืขื ืขื ืืึธื ืืืึธืจ ืื ืจืขืืืึธืงืึทืืืึธื ืคืื ืกืขืจืืืคืืงืึทืฅ ืืื ืืึทื ืืืึทืื ืคืึทืจืฉืคึผืึทืจื ืึทืงืึทืื ืฅ, ืืื ืืขืืื ื ืืื ืื ืืืืืืงืืึทื ืฆืืึทื ืคืื ืกืขืจืืืคืืงืึทืฅ. ืื PAM ืืึธืืืืข ืงืขื ื ืึธื ื ืืฉื ืืืืกื ืืื ืฆื ืืึทืฉืืขืืืงื ืกืขืจืืืคืืงืึทืฅ ื ืืฆื CRL ืืื ืืืืขื ืฆืืืจืื ืงืืืื.
ืืขืจ ืืจืื ื ืืืขื (ืืืจื ืืืขืืขืจืขืจ)
ืฆื ืงืจืืื ืึท ืคึผืจืึธืืข ืืึทืืืืึทืื, ื ืืฆื
ืื ืืืง ืก ืืืขื (ืืืจื ืื ืงืึทื ืกืึธืื ืืื ืขืคืฉืขืจ ืื ืงืึทืืคึผืืืืขืจ)
ืงืืง ืื OpenSC ืืืขืจืกืืข
$ opensc-tool --version
ืืืื ืื ืืืขืจืกืืข ืืื ืืืืื ืืงืขืจ ืืื 0.20, ืืขืจืืืึทื ืืืงื ืึธืืขืจ ืืืืขื
ืืืฉืขื ืขืจืืื ืึท ืฉืืืกื ืคึผืึธืจ ืืื ืื ืคืืืืขื ืืข ืคึผืึทืจืึทืืขืืขืจืก:
--key-type: GOSTR3410-2012-512:ะ (ะะะกะข-2012 512 ะฑะธั c ะฟะฐัะฐะผัะตัะพะผ ะ), GOSTR3410-2012-256:A (ะะะกะข-2012 256 ะฑะธั ั ะฟะฐัะฐะผัะตัะพะผ A)
--id:
ืึธืืืืฉืขืงื ืืืืขื ืืืคืืฆืืจื (CKA_ID) ืืื ืฆืืืื-ืฆืืคึฟืขืจ ืืขืงืก ืืึทืจืึทืงืืขืจ ื ืืืขืจื ืคืื ืื ASCII ืืืฉ. ื ืืฆื ืืืืื ASCII ืงืึธืืื ืคึฟืึทืจ ืคึผืจืื ืืึทืืึทื ืืืชืืืช, ืืืืึทื ... ืื ืืืขื ืืืื ืืืจืืืขืืื ืืขื ืฆื OpenSSL ืืื ืึท ืฉืืจืืงื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื ASCII ืงืึธื "3132" ืงืึธืจืึทืกืคึผืึทื ืื ืฆื ืื ืฉืืจืืงื "12". ืคึฟืึทืจ ืงืึทื ืืืื ืืึทื ืก, ืืืจ ืงืขื ืขื ื ืืฆื
$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132
ืืืืึทืืขืจ ืืืจ ืืืขืื ืืึทืื ืึท ืืึทืืืืึทืื. ืฆืืืื ืืืขืื ืืืขื ืืืื ืืืกืงืจืืืื ืืื ืื: ืืขืจ ืขืจืฉืืขืจ ืืื ืืืจื ืึท CA (ืืืจ ืืืขืื ื ืืฆื ืคึผืจืืืืจื CAs), ืื ืจืืข ืืื ืืื-ืืขืืชืืขื. ืฆื ืืึธื ืืึธืก, ืืืจ ืขืจืฉืืขืจ ืืึทืจืคึฟื ืฆื ืื ืกืืึทืืืจื ืืื ืงืึทื ืคืืืืขืจ OpenSSL ืืืขืจืกืืข 1.1 ืึธืืขืจ ืฉืคึผืขืืขืจ ืฆื ืึทืจืืขืื ืืื Rutoken ืืืจื ืึท ืกืคึผืขืฆืืขื ืจืืขื ืืื ืข ืืึธืืืืข ืืื ืื ืืึทื ืืึทื.
ืคึฟืึทืจ ืืืึทืฉืคึผืื: ืคึฟืึทืจ '--id 3132
'ืืื OpenSSL ืืืจ ืืึทืจืคึฟื ืฆื ืกืคึผืขืฆืืคืืฆืืจื "pkcs11:id=12
".
ืืืจ ืงืขื ืขื ื ืืฆื ืื ืกืขืจืืืืกืขืก ืคืื ืึท ืคึผืจืึธืืข CA, ืคืื ืืืึธืก ืขืก ืืขื ืขื ืคืืืข, ืืืฉื,
ืื ืื ืืขืจ ืึธืคึผืฆืืข ืืื ืฆื ืืขืื ืืื ืคืืืืงืืึทื ืืื ืืึทืื ืึท ืืื-ืืขืืชืืขื
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr
ืืคึผืืึธืึทืืื ื ืื ืืึทืืืืึทืื ืฆื ืื ืืืื
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer
6) ืจืขืืืกืืจืืจื ืื ืืึทืืืืึทืื ืืื ืื ืกืืกืืขื
ืืึทืื ืืืืขืจ ืืืื ืืึทืืืืึทืื ืงืืงื ืืื ืึท base64 ืืขืงืข:
ืืืื ืืืื ืืึทืืืืึทืื ืงืืงื ืืื ืืึธืก:
ืืขืืึธืื ืืืจ ืืึทืจืคึฟื ืฆื ืืืึทืื ืื ืืึทืืืืึทืื ืคืื DER ืคึฟืึธืจืืึทื ืฆื PEM ืคึฟืึธืจืืึทื (ืืึทืกืข64)
$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
ืืืจ ืงืึธื ืืจืึธืืืจื ืืืืืขืจ ืึทื ืึทืืฅ ืืื ืืื ืกืืจ ืืืฆื.
ืืืื ืื ืืึทืืืืึทืื ืฆื ืืขืจ ืจืฉืืื ืคืื ืืจืึทืกืืื ืกืขืจืืืคืืงืึทืฅ
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates
ืื ืืขืฆืืข ืฉืืจื ืคึผืจืึทืืขืงืฅ ืื ืจืฉืืื ืคืื ืืจืึทืกืืื ืกืขืจืืืคืืงืึทืฅ ืคืื ืึทืงืกืึทืืขื ืึทืื ืึธืืขืจ ืืขืงืืืื ืืขืืืื ืืืจื ืื ืืขืจืข ื ืืฆืขืจืก. ืืึธืก ืคึผืจืืืืขื ืฅ ืขืืขืฆืขืจ ืคืื ืึทืืื ื ืืืืขืจ ืืึทืืืืึทืื ืืึธ ืืื ืงืขื ืขื ืฆื ืงืืึธืฅ ืืื ืืืืฃ ืืืื ืืืืึทืฃ.
7) ืฉืืขืื ืึทืจืืืฃ ืึธืืขื ืืึทืงืืืฉืึทื
ืืึทืฉืืขืืืงื ืืื ืืืขืจ PAM ืืึธืืืืข ืืื ืืึธืจ ื ืึธืจืืึทื ืืื ืืื ืืืจืืืขืงืึธืื ืืื ืคึผืื ืงื ืื ืืขืืืข ืืืขื ืืื ืืึทืฉืืขืืืงื ืื ืืขืจืข ืืึทืืืฉืืื. ืฉืึทืคึฟื ืฆื ืืขืงืข /usr/share/pam-configs/rutoken-gost-pam
ืืื ืื ืคืื ื ืึธืืขื ืคืื ืื ืืึธืืืืข, ืฆื ืขืก ืืื ืขื ืืืืึทืื ืืืจื ืคืขืืืงืืึทื, ืื ืืืืืขืจืงืืึทื ืคืื ืื ืืึธืืืืข ืืื ืึธืืขื ืืึทืงืืืฉืึทื ืคึผืึทืจืึทืืขืืขืจืก.
ืื ืึธืืขื ืืึทืงืืืฉืึทื ืคึผืึทืจืึทืืขืืขืจืก ืึทื ืืืึทืืื ืจืขืงืืืืจืขืืขื ืฅ ืคึฟืึทืจ ืื ืืฆืืื ืคืื ืื ืึธืคึผืขืจืึทืฆืืข:
- ืคืืจืืื ืื: ืึทืืึท ืืึทืืืฉืืื ืืืื ืฆืืจืืงืงืืืขื ืึท positive ืขื ืืคืขืจ. ืืืื ืืขืจ ืจืขืืืืืึทื ืคืื ืึท ืืึธืืืืข ืจืืคื ืึผืืื ืึท ื ืขืืึทืืืื ืขื ืืคืขืจ, ืืึธืก ืืืขื ืจืขืืืืืึทื ืืื ืึท ืึธืืขื ืืึทืงืืืฉืึทื ืืขืืช. ืื ืืงืฉื ืืืขื ืืืื ืืจืึทืคึผื, ืึธืืขืจ ืื ืจืืขื ืืึทืืืฉืืื ืืืขื ืืืื ืืขืจืืคึฟื.
- ืคืืจืืื ืื: ืขื ืืขื ืฆื ืคืืจืืื ืื, ืึธืืขืจ ืืื ืคืืืื ืึธืืขื ืืึทืงืืืฉืึทื ืืื ืืื ืึธืจื ืื ืืขืจืข ืืึทืืืฉืืื.
- ืืขื ืื: ืืืื ืงืืื ืขืจ ืคืื ืื ืคืืจืืื ืื ืึธืืขืจ ืืขื ืื ืืึทืืืฉืืื ืืืืืขืจ ืึทืืึท ืึท ืืึธืืืืข ืืื ื ืืฉื ืืึทืงืืืขื ืึท ื ืขืืึทืืืื ืจืขืืืืืึทื, ืืขืจ ืืึธืืืืข ืืืขื ืฆืืจืืงืงืืืขื ืึท positive ืขื ืืคืขืจ. ืื ืจืืขื ืืึทืืืฉืืื ืืืขื ืืืื ืืืื ืึธืจืืจื.
- ืึทืคึผืฉืึทื ืึทื: ืืืื ืขืก ืืขื ืขื ืงืืื ืคืืจืืื ืื ืืึทืืืฉืืื ืืืืฃ ืื ืึธื ืืืืื ืืื ืงืืื ืคืื ืื ืืขื ืื ืืึทืืืฉืืื ืืขืื ืึท positive ืจืขืืืืืึทื, ืืื ืืื ืืกืืขืจ ืืืื ืขืจ ืคืื ืื ืึทืคึผืฉืึทื ืึทื ืืึทืืืฉืืื ืืืื ืฆืืจืืงืงืืืขื ืึท positive ืจืขืืืืืึทื.
ืืึทื ืฅ ืืขืงืข ืืื ืืึทืื /usr/share/pam-configs/rutoken-gost-pam
:
Name: Rutoken PAM GOST
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient /usr/lib/librtpam.so.1.0.0 /usr/lib/librtpkcs11ecp.so
ืจืึทืืขืืืขื ืื ืืขืงืข, ืืขืืึธืื ืืืกืคืืจื
$ sudo pam-auth-update
ืืื ืื ืคึฟืขื ืฆืืขืจ ืืืึธืก ืืื ืืจืืืก, ืฉืืขืื ืึท ืึทืกืืขืจืืกืง ืืืืึทืืขืจ Rutoken PAM GOST ืืื ืืื OK
8) ืงืืง ืื ืกืขืืืื ืืก
ืฆื ืคึฟืึทืจืฉืืืื ืึทื ืึทืืฅ ืืื ืงืึทื ืคืืืืขืจื, ืึธืืขืจ ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื ื ืืฉื ืคืึทืจืืืจื ืื ืคืืืืงืืื ืฆื ืงืืึธืฅ ืืื ืื ืกืืกืืขื, ืึทืจืืึทื ืื ืืึทืคึฟืขื
$ sudo login
ืึทืจืืึทื ืืืื ื ืืืขื. ืึทืืฅ ืืื ืงืึทื ืคืืืืขืจื ืจืืืืืง ืืืื ืื ืกืืกืืขื ืจืืงืืืืืขืจื ืึท PIN ืงืึธื ืคึฟืึทืจ ืื ืืืื.
9) ืงืึทื ืคืืืืขืจ ืื ืงืึธืืคึผืืืืขืจ ืฆื ืืืื ืืคืืขืฉืืขืื ืืืขื ืื ืกืืืขื ืืื ืืงืกืืจืึทืงืืื
ืึทืจืืึทื ืืขืจืขืื ื ืืื ืืขื ืคึผืขืงื libpam-pkcs11
ื ืืฆื ืึทืจืืึทื ืืขืจืขืื ื pkcs11_eventmgr,
ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืืืจืืคืืจื ืคืึทืจืฉืืื ืึทืงืฉืึทื ื ืืืขื PKCS #11 ืืขืฉืขืขื ืืฉื ืคึผืึทืกืืจื.
ืคึฟืึทืจ ืกืขืืืื ืืก pkcs11_eventmgr
ืกืขืจืืืขืก ืืื ืึท ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข: /etc/pam_pkcs11/pkcs11_eventmgr.conf
ืคึฟืึทืจ ืคืึทืจืฉืืืขื ืข ืืื ืืงืก ืืืกืืจืืืืืฉืึทื ื, ืื ืืึทืคึฟืขื ืืืึธืก ืืขืคึฟืืจื ืึท ืืฉืืื ืฆื ืืืื ืคืืจืฉืคืืจื ืืืขื ืึท ืกืืึทืจื ืงืึทืจืื ืึธืืขืจ ืกืืืขื ืืื ืึทืืืขืงืืขื ืืืขื ืืืขื ืืืื ืึทื ืืขืจืฉ. ืกืขื ืืืืขืืขืจ. event card_remove
.
ื ืืืืฉืคึผืื ืคืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข ืืื ืืขืืืืื ืืื ืื:
pkcs11_eventmgr
{
# ะะฐะฟััะบ ะฒ ะฑัะบะณัะฐัะฝะดะต
daemon = true;
# ะะฐัััะพะนะบะฐ ัะพะพะฑัะตะฝะธะน ะพัะปะฐะดะบะธ
debug = false;
# ะัะตะผั ะพะฟัะพัะฐ ะฒ ัะตะบัะฝะดะฐั
polling_time = 1;
# ะฃััะฐะฝะพะฒะบะฐ ัะฐะนะผ-ะฐััะฐ ะฝะฐ ัะดะฐะปะตะฝะธะต ะบะฐััั
# ะะพ-ัะผะพะปัะฐะฝะธั 0
expire_time = 0;
# ะัะฑะพั pkcs11 ะฑะธะฑะปะธะพัะตะบะธ ะดะปั ัะฐะฑะพัั ั ะ ััะพะบะตะฝ
pkcs11_module = usr/lib/librtpkcs11ecp.so;
# ะะตะนััะฒะธั ั ะบะฐััะพะน
# ะะฐััะฐ ะฒััะฐะฒะปะตะฝะฐ:
event card_insert {
# ะััะฐะฒะปัะตะผ ะทะฝะฐัะตะฝะธั ะฟะพ ัะผะพะปัะฐะฝะธั (ะฝะธัะตะณะพ ะฝะต ะฟัะพะธัั
ะพะดะธั)
on_error = ignore ;
action = "/bin/false";
}
# ะะฐััะฐ ะธะทะฒะปะตัะตะฝะฐ
event card_remove {
on_error = ignore;
# ะัะทัะฒะฐะตะผ ััะฝะบัะธั ะฑะปะพะบะธัะพะฒะบะธ ัะบัะฐะฝะฐ
# ะะปั GNOME
action = "dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock";
# ะะปั XFCE
# action = "xflock4";
# ะะปั Astra Linux (FLY)
# action = "fly-wmfunc FLYWM_LOCK";
}
# ะะฐััะฐ ะดะพะปะณะพะต ะฒัะตะผั ะธะทะฒะปะตัะตะฝะฐ
event expire_time {
# ะััะฐะฒะปัะตะผ ะทะฝะฐัะตะฝะธั ะฟะพ ัะผะพะปัะฐะฝะธั (ะฝะธัะตะณะพ ะฝะต ะฟัะพะธัั
ะพะดะธั)
on_error = ignore;
action = "/bin/false";
}
}
ื ืึธื ืืขื, ืืืืื ืื ืึทืคึผืืึทืงืืืฉืึทื pkcs11_eventmgr
ืฆื ืกืืึทืจืืึทืคึผ. ืฆื ืืึธื ืืึธืก, ืจืขืืึทืืืจื ืื .ืืึทืฉ_ืคึผืจืึธืคืื ืืขืงืข:
$ nano /home/<ะธะผั_ะฟะพะปัะทะพะฒะฐัะตะปั>/.bash_profile
ืืืื ืื ืฉืืจื pkcs11_eventmgr ืฆื ืื ืกืืฃ ืคืื ืืขืจ ืืขืงืข ืืื ืจืขืืึธืึธื.
ืื ืืืกืงืจืืืื ืกืืขืคึผืก ืคึฟืึทืจ ืืึทืฉืืขืืืงื ืื ืึธืคึผืขืจืืืืื ื ืกืืกืืขื ืงืขื ืขื ืืืื ืืขืืืืื ื ืืื ืื ืกืืจืึทืงืฉืึทื ื ืืื ืงืืื ืืึธืืขืจื ืืื ืืงืก ืคืึทืจืฉืคึผืจืืืืื ื, ืึทืจืืึทื ืืขืจืขืื ื ืืื ืขืจ.
ืกืึธืฃ
ืืื ืืงืก ืคึผืงืก ืืืขืจื ืื ืงืจืืกืื ืืื ืคืึธืืงืก ืืื ืจืืกืืฉ ืจืขืืืจืื ื ืืืืืฉืึทื ืกืื, ืืื ืืึทืฉืืขืืืงื ืคืึทืจืืึธืืืขื ืฆืืืื-ืคืึทืงืืึธืจ ืึธืืขื ืืึทืงืืืฉืึทื ืืื ืืขื ืึทืก ืืื ื ืื ืฉืืขื ืืืง ืืจืื ื. ืืืจ ืืืขืื ืืืื ืฆืืคืจืืื ืฆื ืืขืืคึฟื ืืืจ ืกืึธืืืืข ืื "ืฉืคึผืจืืืืืึธืจื ืคึผืจืึธืืืขื" ืืื ืืขื ืคืืจืขืจ ืืื ืจืืืืืึทืืื ืืึทืฉืืฆื ืึทืงืกืขืก ืฆื ืืืื ืคึผืืกื ืึธื ืกืคึผืขื ืืื ื ืึท ืคึผืืึทืฅ ืคืื ืฆืืื.
ืืงืืจ: www.habr.com