{"id":36535,"date":"2019-10-31T22:12:11","date_gmt":"2019-10-31T19:12:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-ispolzovat-pam-moduli-dlya-lokalnoj-autentifikatsii-v-linux-po-klyucham-gost-2012-na-rutokene\/"},"modified":"2019-10-31T22:12:11","modified_gmt":"2019-10-31T19:12:11","slug":"kak-ispolzovat-pam-moduli-dlya-lokalnoj-autentifikatsii-v-linux-po-klyucham-gost-2012-na-rutokene","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-ispolzovat-pam-moduli-dlya-lokalnoj-autentifikatsii-v-linux-po-klyucham-gost-2012-na-rutokene","title":{"rendered":"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.\" src=\"\/wp-content\/uploads\/2019\/07\/e6656d4db027ab2705550726d5ab1908.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJednoduch\u00e1 hesla nechr\u00e1n\u00ed, slo\u017eit\u00e1 se naopak obt\u00ed\u017en\u011b pamatuj\u00ed. Proto se tak \u010dasto ocitaj\u00ed na l\u00edste\u010dku pod kl\u00e1vesnic\u00ed nebo na monitoru. Aby si je \u201ezapomn\u011btliv\u00ed\u201c u\u017eivatel\u00e9 l\u00e9pe pamatovali a zabezpe\u010den\u00ed se neztr\u00e1celo, existuje dvoufaktorov\u00e1 autentizace (2FA).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>D\u00edky kombinaci faktoru vlastnictv\u00ed za\u0159\u00edzen\u00ed a znalosti jeho PIN k\u00f3du m\u016f\u017ee b\u00fdt samotn\u00fd PIN k\u00f3d jednodu\u0161\u0161\u00ed a snadn\u011bji zapamatovateln\u00fd. Nedostatky v d\u00e9lce nebo n\u00e1hodnosti PIN k\u00f3du kompenzuj\u00ed po\u017eadavek na fyzick\u00e9 vlastnictv\u00ed a omezen\u00ed p\u0159i jeho proch\u00e1zen\u00ed. <\/p>\n<p>Krom\u011b toho je v st\u00e1tn\u00edch instituc\u00edch \u010dasto \u017e\u00e1d\u00e1no, aby v\u0161e fungovalo podle norem. O tomto variantu 2FA pro p\u0159\u00edstup do Linuxu si pov\u00edme. Za\u010dnu z \u0161ir\u0161\u00edho pohledu.<\/p>\n<h1>PAM moduly<\/h1>\n<p>\nModuly pro p\u0159ipojen\u00e9 autentizace (Pluggable Authentication Modules, PAM) jsou moduly se standardn\u00edm API a implementacemi r\u016fzn\u00fdch mechanism\u016f autentizace v aplikac\u00edch. <br \/>\nV\u0161echny utilit a aplikace, kter\u00e9 um\u00ed pracovat s PAM, je na\u010d\u00edtaj\u00ed a mohou je pou\u017e\u00edvat k autentizaci u\u017eivatele.<br \/>\nV praxi to funguje takto: p\u0159\u00edkaz login se obrac\u00ed na PAM, kter\u00fd prov\u00e1d\u00ed v\u0161echny nezbytn\u00e9 kontroly pomoc\u00ed modul\u016f uveden\u00fdch v konfigura\u010dn\u00edm souboru a vrac\u00ed v\u00fdsledek zp\u011bt p\u0159\u00edkazu login.<\/p>\n<h2>librtpam<\/h2>\n<p>\nModul vyvinut\u00fd spole\u010dnost\u00ed Active p\u0159id\u00e1v\u00e1 dvoufaktorovou autentizaci u\u017eivatel\u016f pomoc\u00ed smart karet nebo USB token\u016f s vyu\u017eit\u00edm asymetrick\u00fdch kl\u00ed\u010d\u016f podle posledn\u00edch standard\u016f dom\u00e1c\u00ed kryptografie. <\/p>\n<p>Pod\u00edvejme se na princip jeho fungov\u00e1n\u00ed:<\/p>\n<ul>\n<li>na tokenu je ulo\u017een certifik\u00e1t u\u017eivatele a jeho soukrom\u00fd kl\u00ed\u010d;<\/li>\n<li>certifik\u00e1t je ulo\u017een v dom\u00e1c\u00edm adres\u00e1\u0159i u\u017eivatele jako d\u016fv\u011bryhodn\u00fd.<\/li>\n<\/ul>\n<p>Proces autentizace prob\u00edh\u00e1 n\u00e1sledovn\u011b:<\/p>\n<ol>\n<li>Na RUTOKENU se hled\u00e1 osobn\u00ed certifik\u00e1t u\u017eivatele.<\/li>\n<li>Je po\u017e\u00e1d\u00e1n o PIN k\u00f3d tokenu.<\/li>\n<li>Prob\u00edh\u00e1 podpis n\u00e1hodn\u00fdch dat soukrom\u00fdm kl\u00ed\u010dem p\u0159\u00edmo v \u010dipu RUTOKENU.<\/li>\n<li>Z\u00edskan\u00fd podpis se ov\u011b\u0159uje pomoc\u00ed ve\u0159ejn\u00e9ho kl\u00ed\u010de z certifik\u00e1tu u\u017eivatele.<\/li>\n<li>Modul vrac\u00ed v\u00fdsledky ov\u011b\u0159en\u00ed podpisu vyvol\u00e1vaj\u00edc\u00ed aplikaci.<\/li>\n<\/ol>\n<p>Je mo\u017en\u00e9 se autentizovat pomoc\u00ed kl\u00ed\u010d\u016f GOST R 34.10-2012 (d\u00e9lky 256 nebo 512 bit\u016f) nebo zastaral\u00e9ho GOST R 34.10-2001. <\/p>\n<p>O bezpe\u010dnost kl\u00ed\u010d\u016f se nen\u00ed t\u0159eba ob\u00e1vat \u2013 jsou generov\u00e1ny p\u0159\u00edmo v Rutokenu a b\u011bhem kryptografick\u00fdch operac\u00ed nikdy neopou\u0161t\u011bj\u00ed jeho pam\u011b\u0165.<\/p>\n<p><img decoding=\"async\" alt=\"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.\" src=\"\/wp-content\/uploads\/2019\/07\/61047962c9aee308d69553201e05203d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nRutoken ECP 2.0 je certifikov\u00e1n FSB a FSTEK podle NDV 4, a proto m\u016f\u017ee b\u00fdt pou\u017e\u00edv\u00e1n v informa\u010dn\u00edch syst\u00e9mech, kter\u00e9 zpracov\u00e1vaj\u00ed d\u016fv\u011brn\u00e9 informace. <\/p>\n<h2>Praktick\u00e9 pou\u017eit\u00ed<\/h2>\n<p>\nVyhovuje prakticky jak\u00fdkoli modern\u00ed Linux, pro p\u0159\u00edklad budeme pou\u017e\u00edvat xUbuntu 18.10.<\/p>\n<h3>1) Nainstalujeme pot\u0159ebn\u00e9 bal\u00ed\u010dky<\/h3>\n<p>\n<code>sudo apt-get install libccid pcscd opensc<\/code><br \/>\nPokud chcete p\u0159idat blokaci pracovn\u00ed plochy spo\u0159i\u010dem obrazovky \u2013 nav\u00edc nainstalujte bal\u00ed\u010dek <code>libpam-pkcs11<\/code>.<\/p>\n<h3>2) P\u0159id\u00e1me PAM modul s podporou GOST\u016f<\/h3>\n<p>\nNa\u010dteme knihovnu s <noindex><a rel=\"nofollow\" href=\"https:\/\/download.rutoken.ru\/Rutoken\/PAM\/\">https:\/\/download.rutoken.ru\/Rutoken\/PAM\/<\/a><\/noindex><br \/>\nKop\u00edrujeme obsah slo\u017eky PAM librtpam.so.1.0.0 do syst\u00e9mov\u00e9 slo\u017eky<br \/>\n<code>\/usr\/lib\/<\/code> nebo <code>\/usr\/lib\/x86_64-linux-gnu\/<\/code>nebo <code>\/usr\/lib64<\/code><\/p>\n<h3>3) Nainstalujeme bal\u00ed\u010dek s librtpkcs11ecp.so<\/h3>\n<p>\nNa\u010dteme a nainstalujeme DEB- nebo RPM-bal\u00ed\u010dek podle odkazu: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.rutoken.ru\/support\/download\/pkcs\/\">https:\/\/www.rutoken.ru\/support\/download\/pkcs\/<\/a><\/noindex><\/p>\n<h3>4) Ov\u011b\u0159\u00edme, \u017ee Rutoken ECP 2.0 funguje v syst\u00e9mu<\/h3>\n<p>\nV termin\u00e1lu provedeme<br \/>\n<code>$ pkcs11-tool --module \/usr\/lib\/librtpkcs11ecp.so -T<\/code><br \/>\nPokud uvid\u00edte \u0159et\u011bzec <code>Rutoken ECP<\/code> \u2013 znamen\u00e1 to, \u017ee v\u0161e je v po\u0159\u00e1dku.<\/p>\n<h3>5) Na\u010dteme certifik\u00e1t<\/h3>\n<p>\nOv\u011b\u0159\u00edme, \u017ee za\u0159\u00edzen\u00ed obsahuje certifik\u00e1t<br \/>\n<code>$ pkcs11-tool --module \/usr\/lib\/librtpkcs11ecp.so -O<\/code><br \/>\nPokud po \u0159\u00e1dku:<br \/>\n<code>Using slot 0 with a present token (0x0)<\/code><\/p>\n<ul>\n<li><b>je zobrazena informace<\/b> o kl\u00ed\u010d\u00edch a certifik\u00e1tech, je nutn\u00e9 certifik\u00e1t na\u010d\u00edst a ulo\u017eit na disk. K tomu zadejte n\u00e1sleduj\u00edc\u00ed p\u0159\u00edkaz, kde m\u00edsto {id} vlo\u017ete ID certifik\u00e1tu, kter\u00e9 jste vid\u011bli ve v\u00fdstupu p\u0159edchoz\u00edho p\u0159\u00edkazu:<br \/>\n<code>$ pkcs11-tool --module \/usr\/lib\/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt<\/code><br \/>\n V p\u0159\u00edpad\u011b, \u017ee byl soubor cert.crt vytvo\u0159en, p\u0159ejd\u011bte k bodu 6).<\/li>\n<li><b>nen\u00ed nic<\/b>, znamen\u00e1 to, \u017ee za\u0159\u00edzen\u00ed je pr\u00e1zdn\u00e9. Obra\u0165te se na administr\u00e1tora nebo si vytvo\u0159te kl\u00ed\u010de a certifik\u00e1t sami podle n\u00e1sleduj\u00edc\u00edho bodu.<\/li>\n<\/ul>\n<h4>5.1) Vytvo\u0159\u00edme testovac\u00ed certifik\u00e1t<\/h4>\n<p><\/p>\n<blockquote><p>Pozor! Popisovan\u00e9 zp\u016fsoby vytv\u00e1\u0159en\u00ed kl\u00ed\u010d\u016f a certifik\u00e1t\u016f jsou vhodn\u00e9 pro testov\u00e1n\u00ed a nejsou ur\u010deny k pou\u017eit\u00ed v provozn\u00edm re\u017eimu. K tomu je nutn\u00e9 pou\u017e\u00edvat kl\u00ed\u010de a certifik\u00e1ty vydan\u00e9 d\u016fv\u011bryhodn\u00fdm certifika\u010dn\u00edm st\u0159ediskem va\u0161\u00ed organizace nebo akreditovan\u00fdm certifika\u010dn\u00edm st\u0159ediskem.<br \/>\nModul PAM je ur\u010den na ochranu lok\u00e1ln\u00edch po\u010d\u00edta\u010d\u016f a je ur\u010den pro mal\u00e9 organizace. Proto\u017ee je m\u00e1lo u\u017eivatel\u016f, m\u016f\u017ee spr\u00e1vce s\u00e1m sledovat platnost certifik\u00e1t\u016f a ru\u010dn\u011b blokovat \u00fa\u010dty, stejn\u011b jako sledovat dobu platnosti certifik\u00e1t\u016f. Modul PAM zat\u00edm neum\u00ed kontrolovat certifik\u00e1ty podle CRL a vytv\u00e1\u0159et d\u016fv\u011bryhodn\u00e9 \u0159et\u011bzce.<\/p><\/blockquote>\n<h4>Jednoduch\u00e1 cesta (p\u0159es prohl\u00ed\u017ee\u010d)<\/h4>\n<p>\nPro z\u00edsk\u00e1n\u00ed testovac\u00edho certifik\u00e1tu pou\u017eijte <noindex><a rel=\"nofollow\" href=\"https:\/\/ra.rutoken.ru\/\">webovou slu\u017ebu \u201eCentrum registrace Rutoken\u201c<\/a><\/noindex>. Proces zabere maxim\u00e1ln\u011b 5 minut.<\/p>\n<h4>Cesta geek\u016f (p\u0159es konzoli a mo\u017en\u00e1 kompil\u00e1tor)<\/h4>\n<p>\n<b>Zkontrolujte verzi OpenSC <\/b><br \/>\n<code>$ opensc-tool --version<\/code><br \/>\nPokud je verze men\u0161\u00ed ne\u017e 0.20, aktualizujte se nebo sestavte <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/AktivCo\/OpenSC\/tree\/gostr3410-2012\/\">v\u011btev pkcs11-tool s podporou GOST-2012<\/a><\/noindex> z na\u0161eho GitHubu (v dob\u011b vyd\u00e1n\u00ed tohoto \u010dl\u00e1nku je\u0161t\u011b nebylo vyd\u00e1no verze 0.20) nebo z v\u011btve master hlavn\u00edho projektu OpenSC nejpozd\u011bji <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenSC\/OpenSC\/tree\/8cf1e6f769b36bdcadc3958574305b90e88c816d\">p\u0159es commita 8cf1e6f<\/a><\/noindex><\/p>\n<p>Generujeme kl\u00ed\u010dov\u00fd p\u00e1r s parametry:<br \/>\n<code>--key-type: GOSTR3410-2012-512:A (GOST-2012 512 bit s parametrem A), GOSTR3410-2012-256:A (GOST-2012 256 bit s parametrem A)<\/code><\/p>\n<p><code>--id: <\/code> identifik\u00e1tor objektu (CKA_ID) ve form\u011b dvoum\u00edstn\u00fdch hexadecim\u00e1ln\u00edch \u010d\u00edsel z tabulky ASCII. Pou\u017e\u00edvejte pouze ASCII k\u00f3dy ti\u0161t\u011bn\u00fdch symbol\u016f, proto\u017ee id bude t\u0159eba p\u0159edat OpenSSL jako \u0159et\u011bzec. Nap\u0159\u00edklad ASCII k\u00f3du \u201e3132\u201c odpov\u00edd\u00e1 \u0159et\u011bzec \u201e12\u201c. <b> Pro pohodl\u00ed m\u016f\u017eete vyu\u017e\u00edt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.rapidtables.com\/convert\/number\/ascii-to-hex.html\">online slu\u017ebu pro p\u0159evod \u0159et\u011bzce na ASCII k\u00f3dy<\/a><\/noindex><\/b>.<\/p>\n<p><code>$ .\/pkcs11-tool --module \/usr\/lib\/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132<\/code><\/p>\n<p>D\u00e1le budeme vytv\u00e1\u0159et certifik\u00e1t. N\u00ed\u017ee budou pops\u00e1ny dv\u011b cesty: prvn\u00ed p\u0159es CA (pou\u017eijeme testovac\u00ed CA), druh\u00fd \u2013 self-signed. K tomu je nejprve nutn\u00e9 nainstalovat a nastavit OpenSSL verze 1.1 nebo nov\u011bj\u0161\u00ed pro pr\u00e1ci s Rutoken prost\u0159ednictv\u00edm speci\u00e1ln\u00edho modulu rtengine podle p\u0159\u00edru\u010dky <noindex><a rel=\"nofollow\" href=\"https:\/\/dev.rutoken.ru\/display\/PUB\/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0+%D0%B8+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0+OpenSSL\">Instalace a nastaven\u00ed OpenSSL<\/a><\/noindex>.<br \/>\nNap\u0159\u00edklad: pro \u2018-<code>-id 3132<\/code>'V OpenSSL je t\u0159eba uv\u00e9st \u00ab<code>pkcs11:id=12<\/code>&#171;. <\/p>\n<p>M\u016f\u017eete vyu\u017e\u00edt slu\u017eeb testovac\u00ed CA, kter\u00fdch je hodn\u011b, nap\u0159\u00edklad <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cryptopro.ru\/solutions\/test-ca\">tady je<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/testcert.infotecs.ru\/\">tady je <\/a><\/noindex>a <noindex><a rel=\"nofollow\" href=\"http:\/\/soft.lissi.ru\/services\/test_ca\/\">tady je<\/a><\/noindex>, k tomu vytvo\u0159\u00edme \u017e\u00e1dost o certifik\u00e1t<\/p>\n<p>Jinou mo\u017enost\u00ed je leniv\u011bt a vytvo\u0159it self-signed<br \/>\n<code>$ openssl req -utf8 <b>-new<\/b> -keyform engine -key \"pkcs11:id=12\" -engine rtengine -out req.csr<\/code><\/p>\n<p>Nahr\u00e1v\u00e1me certifik\u00e1t na za\u0159\u00edzen\u00ed<br \/>\n<code>$ openssl req -utf8 <b>-x509<\/b> -kl\u00ed\u010dov\u00fd engine -kl\u00ed\u010d \"pkcs11:id=12\" -motor rtengine -v\u00fdstup cert.cer<\/code><\/p>\n<h3>6) Registrujeme certifik\u00e1t v syst\u00e9mu<\/h3>\n<p>\nUjist\u011bte se, \u017ee v\u00e1\u0161 certifik\u00e1t vypad\u00e1 jako base64 soubor:<\/p>\n<p><img decoding=\"async\" alt=\"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.\" src=\"\/wp-content\/uploads\/2019\/07\/83a7e25541041d02365141e682bd4635.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPokud v\u00e1\u0161 certifik\u00e1t vypad\u00e1 takto:<\/p>\n<p><img decoding=\"async\" alt=\"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.\" src=\"\/wp-content\/uploads\/2019\/07\/f385e4e288a49acfb2c54be4c24749e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nmus\u00edte konvertovat certifik\u00e1t z form\u00e1tu DER do PEM form\u00e1tu (base64)<\/p>\n<p><code>$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM<\/code><br \/>\nOp\u011bt zkontrolujte, \u017ee je nyn\u00ed v\u0161e v po\u0159\u00e1dku.<\/p>\n<p>P\u0159id\u00e1v\u00e1me certifik\u00e1t do seznamu d\u016fv\u011bryhodn\u00fdch certifik\u00e1t\u016f<br \/>\n<code>$ mkdir ~\/.eid<br \/>\n$ chmod 0755 ~\/.eid<br \/>\n$ cat cert.pem &gt;&gt; ~\/.eid\/authorized_certificates<br \/>\n$ chmod 0644 ~\/.eid\/authorized_certificates<\/code><br \/>\nPosledn\u00ed \u0159\u00e1dek chr\u00e1n\u00ed seznam d\u016fv\u011bryhodn\u00fdch certifik\u00e1t\u016f p\u0159ed n\u00e1hodn\u00fdmi nebo \u00famysln\u00fdmi zm\u011bnami jin\u00fdmi u\u017eivateli. To vylu\u010duje situaci, kdy by sem n\u011bkdo p\u0159idal sv\u016fj certifik\u00e1t a mohl by se p\u0159ihl\u00e1sit va\u0161\u00edm jm\u00e9nem.<\/p>\n<h3>7) Nastavujeme autentizaci <\/h3>\n<p>\nNastaven\u00ed na\u0161eho modulu PAM je zcela standardn\u00ed a prov\u00e1d\u00ed se p\u0159esn\u011b tak, jak se nastavuj\u00ed ostatn\u00ed moduly. Vytvo\u0159\u00edme soubor <code>\/usr\/share\/pam-configs\/rutoken-gost-pam<\/code> kter\u00fd obsahuje \u00fapln\u00fd n\u00e1zev modulu, zda je povolen ve v\u00fdchoz\u00edm nastaven\u00ed, prioritu modulu a parametry autentizace.<br \/>\nV parametrech autentizace jsou po\u017eadavky na \u00fasp\u011b\u0161nost operace:<\/p>\n<ul>\n<li>required (po\u017eadov\u00e1no): takov\u00e9 moduly mus\u00ed vr\u00e1tit kladnou odpov\u011b\u010f. Pokud v\u00fdsledek vol\u00e1n\u00ed modulu obsahuje z\u00e1pornou odpov\u011b\u010f, dojde k chyb\u011b autentizace. \u017d\u00e1dost bude zam\u00edtnuta, ale ostatn\u00ed moduly budou zavol\u00e1ny.<\/li>\n<li>requisite (nezbytn\u00e9): podobn\u00e9 jako required, ale okam\u017eit\u011b vede k selh\u00e1n\u00ed autentizace a ignoruje ostatn\u00ed moduly.<\/li>\n<li>sufficient (dosta\u010duj\u00edc\u00ed): pokud p\u0159ed takov\u00fdm modulem \u017e\u00e1dn\u00fd z modul\u016f required nebo sufficient nevr\u00e1til z\u00e1porn\u00fd v\u00fdsledek, modul vr\u00e1t\u00ed kladnou odpov\u011b\u010f. Zb\u00fdvaj\u00edc\u00ed moduly budou ignorov\u00e1ny.<\/li>\n<li>optional (voliteln\u00e9): pokud v z\u00e1sobn\u00edku nejsou moduly required a \u017e\u00e1dn\u00fd z modul\u016f sufficient nevr\u00e1til kladn\u00fd v\u00fdsledek, alespo\u0148 jeden z modul\u016f optional mus\u00ed vr\u00e1tit kladnou odpov\u011b\u010f.<\/li>\n<\/ul>\n<p>\n\u00dapln\u00fd obsah souboru <code>\/usr\/share\/pam-configs\/rutoken-gost-pam<\/code>:<br \/>\n<code>N\u00e1zev: Rutoken PAM GOST<br \/>\nV\u00fdchoz\u00ed: ano<br \/>\nPriorita: 800<br \/>\nTyp ov\u011b\u0159ov\u00e1n\u00ed: Prim\u00e1rn\u00ed<br \/>\nOv\u011b\u0159en\u00ed: dostate\u010dn\u00e9 \/usr\/lib\/librtpam.so.1.0.0 \/usr\/lib\/librtpkcs11ecp.so<\/code><\/p>\n<p><img decoding=\"async\" alt=\"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.\" src=\"\/wp-content\/uploads\/2019\/07\/804bd960918413e2134617b2ce31f0af.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nulo\u017e\u00edme soubor, pot\u00e9 provedeme<br \/>\n<code>$ sudo pam-auth-update<\/code><br \/>\nv zobrazen\u00e9m okn\u011b um\u00edst\u00edme hv\u011bzdi\u010dku vedle <b>Rutoken PAM GOST<\/b> a klikneme na <b>OK<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.\" src=\"\/wp-content\/uploads\/2019\/07\/2fb2e020c943ef3a22f09985a939a1c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>8) Kontrolujeme nastaven\u00ed <\/h3>\n<p>\nAbychom pochopili, \u017ee je v\u0161echno nastaveno spr\u00e1vn\u011b, ale p\u0159itom neztratili mo\u017enost p\u0159ihl\u00e1\u0161en\u00ed, zadejte p\u0159\u00edkaz<br \/>\n<code>$ sudo login<\/code><br \/>\nZadejte u\u017eivatelsk\u00e9 jm\u00e9no. V\u0161echno je nastaveno spr\u00e1vn\u011b, pokud syst\u00e9m po\u017eaduje PIN k\u00f3d za\u0159\u00edzen\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.\" src=\"\/wp-content\/uploads\/2019\/07\/2501ca77a0c881ebb9fe588031a2c8ef.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>9) Nastavujeme blokaci po\u010d\u00edta\u010de p\u0159i vyjmut\u00ed tokenu<\/h3>\n<p>\nSou\u010d\u00e1st\u00ed bal\u00ed\u010dku <code>libpam-pkcs11<\/code> je utilita <code>pkcs11_eventmgr,<\/code> kter\u00e1 umo\u017e\u0148uje prov\u00e1d\u011bt r\u016fzn\u00e9 akce p\u0159i v\u00fdskytu ud\u00e1lost\u00ed PKCS#11.<br \/>\nPro konfiguraci <code>pkcs11_eventmgr<\/code> slou\u017e\u00ed jako konfigura\u010dn\u00ed soubor: <code>\/etc\/pam_pkcs11\/pkcs11_eventmgr.conf<\/code><br \/>\n<i>Pro r\u016fzn\u00e9 distribuce Linuxu se p\u0159\u00edkaz, kter\u00fd vyvol\u00e1 blokaci \u00fa\u010dtu p\u0159i vyjmut\u00ed chytr\u00fdch karet nebo tokenu, li\u0161\u00ed. Viz. <code>event card_remove<\/code>.<\/i><br \/>\nP\u0159\u00edklad konfigura\u010dn\u00edho souboru je uveden n\u00ed\u017ee:<\/p>\n<pre><code class=\"xml\">pkcs11_eventmgr\n{\n    # Spu\u0161t\u011bn\u00ed na pozad\u00ed\n    daemon = true;\n     \n    # Nastaven\u00ed ladic\u00edch zpr\u00e1v\n    debug = false;\n \n    # \u010casov\u00fd interval pro dotazov\u00e1n\u00ed v sekund\u00e1ch\n    polling_time = 1;\n \n    # Nastaven\u00ed \u010dasov\u00e9ho limitu pro odstran\u011bn\u00ed karty\n    # V\u00fdchoz\u00ed je 0\n    expire_time = 0;\n \n    # V\u00fdb\u011br pkcs11 knihovny pro pr\u00e1ci s RUTOKENEM\n    pkcs11_module = usr\/lib\/librtpkcs11ecp.so;\n \n    # Akce s kartou\n    # Karta vlo\u017eena:\n    event card_insert {\n        # Nech\u00e1v\u00e1me v\u00fdchoz\u00ed hodnoty (nic se ned\u011bje)\n        on_error = ignore;\n \n        action = \"\/bin\/false\";\n    }\n \n    # Karta vyjmuta\n    event card_remove {\n        on_error = ignore;\n         \n        # Vol\u00e1me funkci pro uzam\u010den\u00ed obrazovky\n        \n        # Pro GNOME \n        action = \"dbus-send --type=method_call --dest=org.gnome.ScreenSaver \/org\/gnome\/ScreenSaver org.gnome.ScreenSaver.Lock\";\n        \n        # Pro XFCE\n        # action = \"xflock4\";\n        \n        # Pro Astra Linux (FLY)\n        # action = \"fly-wmfunc FLYWM_LOCK\";\n    }\n \n    # Karta byla vyjmuta dlouhou dobu\n    event expire_time {\n        # Nech\u00e1v\u00e1me v\u00fdchoz\u00ed hodnoty (nic se ned\u011bje)\n        on_error = ignore;\n \n        action = \"\/bin\/false\";\n    }\n}<\/code><\/pre>\n<p>Po tomto p\u0159idejte aplikaci <code>pkcs11_eventmgr<\/code> do automatick\u00e9ho spou\u0161t\u011bn\u00ed. K tomu upravte soubor .bash_profile:<br \/>\n<code>$ nano \/home\/<u>\/.bash_profile<\/code><br \/>\nNa konec souboru p\u0159idejte \u0159\u00e1dek pkcs11_eventmgr a restartujte se.<\/p>\n<p><b>Popisovan\u00e9 kroky pro nastaven\u00ed opera\u010dn\u00edho syst\u00e9mu lze pou\u017e\u00edt jako n\u00e1vod v jak\u00e9mkoli modern\u00edm distribuci Linuxu, v\u010detn\u011b dom\u00e1c\u00edch. <\/b><\/p>\n<p><img decoding=\"async\" alt=\"Jak pou\u017e\u00edvat modul PAM pro m\u00edstn\u00ed autentizaci v Linuxu pomoc\u00ed kl\u00ed\u010d\u016f GOST-2012 na RutoKenu.\" src=\"\/wp-content\/uploads\/2019\/07\/ec235d0d0d50e23fbf09d4849d1fdd11.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Z\u00e1v\u011br <\/h2>\n<p>\nPC s Linuxem v rusk\u00fdch st\u00e1tn\u00edch instituc\u00edch se st\u00e1vaj\u00ed st\u00e1le popul\u00e1rn\u011bj\u0161\u00edmi, a nastavit spolehlivou dvoufaktorovou autentizaci v t\u00e9to OS nen\u00ed v\u017edy jednoduch\u00e9. R\u00e1di t\u00edmto pr\u016fvodcem pom\u016f\u017eeme vy\u0159e\u0161it \"probl\u00e9m s hesly\" a spolehliv\u011b chr\u00e1nit p\u0159\u00edstup k PC, ani\u017e bychom na to str\u00e1vili p\u0159\u00edli\u0161 mnoho \u010dasu.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/aktiv-company\/blog\/461199\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u043d\u0435 \u0437\u0430\u0449\u0438\u0449\u0430\u044e\u0442, \u0430 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0438 \u0442\u0430\u043a \u0447\u0430\u0441\u0442\u043e \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0438\u043a\u0435\u0440\u0435 \u043f\u043e\u0434 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u043e\u0439 \u0438\u043b\u0438 \u043d\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0435. \u0427\u0442\u043e\u0431\u044b \u043f\u0430\u0440\u043e\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u0433\u043e\u043b\u043e\u0432\u0430\u0445 \u201c\u0437\u0430\u0431\u044b\u0432\u0447\u0438\u0432\u044b\u0445\u201d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0449\u0438\u0442\u044b \u043d\u0435 \u0442\u0435\u0440\u044f\u043b\u0430\u0441\u044c \u2013 \u0435\u0441\u0442\u044c \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f (2\u0424\u0410). \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044e \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0438 \u0437\u043d\u0430\u043d\u0438\u044f \u0435\u0433\u043e PIN-\u043a\u043e\u0434\u0430, \u0441\u0430\u043c PIN-\u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0449\u0435 \u0438 \u043b\u0435\u0433\u0447\u0435 \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27347,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36535","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\".\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-ispolzovat-pam-moduli-dlya-lokalnoj-autentifikatsii-v-linux-po-klyucham-gost-2012-na-rutokene\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c PAM-\u043c\u043e\u0434\u0443\u043b\u0438 \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 Linux \u043f\u043e \u043a\u043b\u044e\u0447\u0430\u043c \u0413\u041e\u0421\u0422-2012 \u043d\u0430 \u0420\u0443\u0442\u043e\u043a\u0435\u043d\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\".\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-ispolzovat-pam-moduli-dlya-lokalnoj-autentifikatsii-v-linux-po-klyucham-gost-2012-na-rutokene\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:12:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:12:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Jak pou\u017e\u00edt PAM-moduly pro lok\u00e1ln\u00ed autentizaci v Linuxu podle kl\u00ed\u010d\u016f \u0413\u041e\u0421\u0422-2012 na RUTOKENU | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-ispolzovat-pam-moduli-dlya-lokalnoj-autentifikatsii-v-linux-po-klyucham-gost-2012-na-rutokene","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c PAM-\u043c\u043e\u0434\u0443\u043b\u0438 \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 Linux \u043f\u043e \u043a\u043b\u044e\u0447\u0430\u043c \u0413\u041e\u0421\u0422-2012 \u043d\u0430 \u0420\u0443\u0442\u043e\u043a\u0435\u043d\u0435 | ProHoster","og:description":".","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-ispolzovat-pam-moduli-dlya-lokalnoj-autentifikatsii-v-linux-po-klyucham-gost-2012-na-rutokene","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:12:11+00:00","article:modified_time":"2019-10-31T19:12:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36535","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 03:44:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:43:32","updated":"2026-01-22 03:44:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/36535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=36535"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/36535\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/27347"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=36535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=36535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=36535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}