Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

Tsy azo antoka ny tenimiafina tsotra, ary tsy azo tadidy ny tenimiafina sarotra. Izany no mahatonga azy ireo matetika miafara amin'ny taratasy mipetaka eo ambanin'ny klavier na eo amin'ny monitor. Mba hahazoana antoka fa mijanona ao an-tsain'ireo mpampiasa "manadino" ny tenimiafina ary tsy ho very ny fahamendrehan'ny fiarovana, misy ny fanamarinana roa (2FA).

Noho ny fitambaran'ny fananana fitaovana iray sy ny fahafantarana ny PIN-ny, ny PIN mihitsy dia mety ho mora kokoa sy mora tadidina kokoa. Ny fatiantoka amin'ny halavan'ny PIN na ny kisendrasendra dia entin'ny fitakiana fananana ara-batana sy ny fameperana amin'ny hery mahery vaika PIN.

Ankoatra izany, mitranga ao amin'ny sampan-draharaham-panjakana fa tiany ny rehetra hiasa araka ny GOST. Ity safidy 2FA ity amin'ny fidirana amin'ny Linux dia horesahina. Hanomboka avy lavitra aho.

Modules PAM

Pluggable Authentication Modules (PAM) dia maody miaraka amin'ny API manara-penitra ary fampiharana ny mekanika fanamarinana isan-karazany amin'ny fampiharana.
Ny fitaovana sy fampiharana rehetra izay afaka miara-miasa amin'ny PAM dia maka azy ireo ary afaka mampiasa azy ireo ho fanamarinana ny mpampiasa.
Amin'ny fampiharana dia miasa toy izao izy: miantso PAM ny baikon'ny fidirana, izay manatanteraka ny fisavana rehetra ilaina amin'ny alΓ lan'ny maodely voatondro ao amin'ny rakitra fanamafisana ary mamerina ny valiny amin'ny baiko fidirana.

librtpam

Ny mΓ΄dely novolavolain'ny orinasa Aktiv dia manampy ny fanamarinana roa amin'ireo mpampiasa mampiasa karatra maranitra na famantarana USB mampiasa fanalahidy asymmetrika araka ny fenitra farany momba ny kriptografika ao an-toerana.

Andeha hojerentsika ny fitsipiky ny asany:

  • Ny mari-pamantarana dia mitahiry ny taratasy fanamarinana ny mpampiasa sy ny fanalahidiny manokana;
  • Ny taratasy fanamarinana dia voatahiry ao amin'ny lahatahiry ho an'ny mpampiasa ho azo itokisana.

Ny dingana authentication dia mitranga toy izao:

  1. Rutoken dia mikaroka ny taratasy fanamarinana manokana an'ny mpampiasa.
  2. Ny PIN token no angatahina.
  3. Ny angona kisendrasendra dia nosoniavina amin'ny lakile manokana mivantana ao amin'ny chip Rutoken.
  4. Ny sonia vokarina dia voamarina amin'ny fampiasana ny fanalahidin'ny daholobe avy amin'ny mari-pankasitrahan'ny mpampiasa.
  5. Ny maody dia mamerina ny valin'ny fanamarinana sonia amin'ny fampiharana fiantsoana.

Azonao atao ny manamarina amin'ny fampiasana ny fanalahidy GOST R 34.10-2012 (lavany 256 na 512 bit) na ny GOST R 34.10-2001 efa lany andro.

Tsy mila manahy momba ny fiarovana ny fanalahidy ianao - izy ireo dia noforonina mivantana ao amin'ny Rutoken ary tsy miala amin'ny fitadidiany mandritra ny hetsika cryptographic.

Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

Ny Rutoken EDS 2.0 dia nohamarinin'ny FSB sy FSTEC araka ny NDV 4, noho izany dia azo ampiasaina amin'ny rafitra fampahalalana izay mikarakara fampahalalana tsiambaratelo.

Fampiasana azo ampiharina

Saika ny Linux maoderina rehetra dia hanao, ohatra, hampiasa xUbuntu 18.10 izahay.

1) Apetraho ireo fonosana ilaina

sudo apt-get install libccid pcscd opensc
Raha te-hanampy hidin'ny desktop miaraka amin'ny screensaver ianao dia apetraho fanampiny ilay fonosana libpam-pkcs11.

2) Ampio modely PAM miaraka amin'ny fanohanan'ny GOST

Loading ny tranomboky avy https://download.rutoken.ru/Rutoken/PAM/
Adikao amin'ny lahatahiry rafitra ny votoatin'ny lahatahiry PAM librtpam.so.1.0.0
/usr/lib/ na /usr/lib/x86_64-linux-gnu/na /usr/lib64

3) Apetraho amin'ny librtpkcs11ecp.so ny fonosana

Ampidino ary apetraho ny fonosana DEB na RPM avy amin'ny rohy: https://www.rutoken.ru/support/download/pkcs/

4) Hamarino fa miasa ao amin'ny rafitra ny Rutoken EDS 2.0

Ao amin'ny terminal no tanterahanay
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
Raha hitanao ny tsipika Rutoken ECP <no label> - midika izany fa OK ny zava-drehetra.

5) Vakio ny taratasy fanamarinana

Manamarina fa manana taratasy fanamarinana ilay fitaovana
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
Raha aorian'ny tsipika:
Using slot 0 with a present token (0x0)

  • ny fampahalalana dia aseho momba ny fanalahidy sy ny mari-pankasitrahana, mila mamaky ny taratasy fanamarinana ianao ary tehirizo ao anaty kapila. Mba hanaovana izany dia araho ity baiko manaraka ity, izay tokony hanoloanao {id} ny ID fanamarinana izay hitanao tamin'ny famoahana ny baiko teo aloha:
    $ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
    Raha efa noforonina ny rakitra cert.crt dia tohizo ny dingana 6).
  • tsy misy na inona na inona, dia foana ny fitaovana. Mifandraisa amin'ny mpitantana anao na mamorona ny fanalahidy sy ny taratasy fanamarinana ny tenanao amin'ny fanarahana ny dingana manaraka.

5.1) Mamorona taratasy fanamarinana fitsapana

Attention! Ny fomba voafaritra amin'ny famoronana fanalahidy sy fanamarinana dia mety amin'ny fitsapana ary tsy natao hampiasaina amin'ny fomba fiadiana. Mba hanaovana izany dia mila mampiasa fanalahidy sy mari-pankasitrahana navoakan'ny fahefana fanamarinana azo itokisana ao amin'ny fikambananao ianao na fahefana fanamarinana ekena.
Ny maody PAM dia natao hiarovana ny solosaina eo an-toerana ary natao hiasa amin'ny fikambanana madinika. Satria vitsy ny mpampiasa, ny Administrator dia afaka manara-maso ny fanafoanana ny mari-pankasitrahana sy manakana ny kaonty amin'ny tanana, ary koa ny fe-potoana manankery ny fanamarinana. Ny maody PAM dia tsy mbola mahafantatra ny fomba hanamarinana ny mari-pankasitrahana amin'ny fampiasana CRL sy fananganana rojo fitokisana.

Ny fomba mora (amin'ny alΓ lan'ny navigateur)

Mba hahazoana taratasy fanamarinana, ampiasao serivisy tranonkala "Rutoken Registration Center". Tsy mihoatra ny 5 minitra ny dingana.

Ny lalan'ny geek (amin'ny alΓ lan'ny console ary mety amin'ny compiler)

Jereo ny version OpenSC
$ opensc-tool --version
Raha latsaky ny 0.20 ny dikan-teny dia manavao na manangana sampana pkcs11-fitaovana miaraka amin'ny fanohanan'ny GOST-2012 avy amin'ny GitHub (tamin'ny fotoana namoahana ity lahatsoratra ity, ny famoahana 0.20 dia mbola tsy navoaka) na avy amin'ny sampana tompon'ny tetikasa OpenSC lehibe tsy ho ela manaova 8cf1e6f

Mamorona mpivady fanalahidy miaraka amin'ireto mari-pamantarana manaraka ireto:
--key-type: GOSTR3410-2012-512:А (Π“ΠžΠ‘Π’-2012 512 Π±ΠΈΡ‚ c парамсСтом А), GOSTR3410-2012-256:A (Π“ΠžΠ‘Π’-2012 256 Π±ΠΈΡ‚ с парамсСтом A)

--id: famantarana zavatra (CKA_ID) ho laharan-tsoratra hex roa isa avy amin'ny tabilao ASCII. MampiasΓ  kaody ASCII ho an'ny litera azo pirinty, satria... id dia mila ampitaina amin'ny OpenSSL ho tady. Ohatra, ny kaody ASCII "3132" dia mifanitsy amin'ny tady "12". Ho an'ny fanamorana dia azonao ampiasaina serivisy an-tserasera amin'ny famadihana ny tady ho kaody ASCII.

$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132

Manaraka izany dia hamorona taratasy fanamarinana isika. Fomba roa no hofaritana eto ambany: ny voalohany dia amin'ny alalan'ny CA (hampiasa fitsapana CA izahay), ny faharoa dia manao sonia. Mba hanaovana izany dia mila mametraka sy manitsy ny OpenSSL version 1.1 na aoriana ianao mba hiasa miaraka amin'i Rutoken amin'ny alΓ lan'ny mΓ΄dely rtengine manokana mampiasa ny boky. Fametrahana sy fanamboarana ny OpenSSL.
Ohatra: ho an'ny '--id 3132' ao amin'ny OpenSSL dia mila mamaritra "pkcs11:id=12".

Azonao atao ny mampiasa ny serivisy fitsapana CA, izay misy maro, ohatra, eto, eto ΠΈ eto, noho izany dia hamorona fangatahana fanamarinana izahay

Safidy iray hafa dia ny manaiky ny hakamoana sy mamorona sonia tena
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr

Mampiakatra ny taratasy fanamarinana amin'ny fitaovana
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer

6) Soraty ao amin'ny rafitra ny taratasy fanamarinana

Ataovy azo antoka fa mitovy amin'ny rakitra base64 ny taratasy fanamarinanao:

Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

Raha toa izao ny certificato:

Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

dia mila manova ny taratasy fanamarinana avy amin'ny endrika DER ho endrika PEM (base64) ianao

$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
Manamarina indray izahay fa efa milamina izao ny zava-drehetra.

Ampio ny taratasy fanamarinana amin'ny lisitry ny fanamarinana azo itokisana
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates

Ny andalana farany dia miaro ny lisitry ny mari-pankasitrahana azo itokisana mba tsy hovain'ny mpampiasa hafa tsy nahy na fanahy iniana. Izany dia manakana olona iray tsy hampiditra ny taratasy fanamarinana azy eto ary tsy afaka miditra amin'ny anaranao.

7) Amboary ny fanamarinana

Ny fametrahana ny maody PAM dia manara-penitra tanteraka ary atao amin'ny fomba mitovy amin'ny fametrahana ny maody hafa. Mamorona rakitra /usr/share/pam-configs/rutoken-gost-pam misy ny anarana fenon'ny mΓ΄dΓ΄ly, na avela amin'ny alΓ lan'ny default, ny laharam-pahamehan'ny mΓ΄dΓ΄ly, ary ny mari-pamantarana fanamarinana.
Ny mari-pamantarana fanamarinana dia misy fepetra takiana amin'ny fahombiazan'ny asa:

  • ilaina: Ny modules toy izany dia tsy maintsy mamerina valiny tsara. Raha misy valin-kafatra miiba ny valin'ny antso maody, dia hiteraka hadisoana fanamarinana izany. Hajanona ny fangatahana, fa ny modules sisa dia hantsoina.
  • takiana: Mitovy amin'ny takiana, saingy tsy nahomby ny fanamarinana avy hatrany ary tsy miraharaha ny maody hafa.
  • ampy: Raha toa ka tsy misy na dia iray aza amin'ireo maodely ilaina na ampy alohan'ny modely toy izany dia namerina vokatra ratsy, dia hamerina valiny tsara ilay maody. Ny modules sisa dia tsy horaharahaina.
  • azo atao: Raha tsy misy maody ilaina ao amin'ny stack ary tsy misy na iray aza amin'ireo maodely ampy mamerina vokatra tsara, dia farafaharatsiny ny iray amin'ireo maodely azo atao dia tsy maintsy mamerina vokatra tsara.

Feno rakitra feno /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

Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

tehirizo ilay rakitra, dia tanteraho
$ sudo pam-auth-update
eo amin'ny varavarankely izay miseho, asio asterisk eo akaikiny Rutoken PAM GOST ary tsindrio OK

Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

8) Jereo ny toe-javatra

Mba hahatakarana fa ny zava-drehetra dia voaendrika, fa miaraka amin'izay koa tsy very ny fahafahana miditra ao amin'ny rafitra, midira ny baiko
$ sudo login
Ampidiro ny anaranao. Ny zava-drehetra dia voarindra tsara raha toa ka mila kaody PIN fitaovana ny rafitra.

Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

9) Ampifanaraho ny solosaina hosakanana rehefa esorina ny famantarana

Tafiditra ao anatin'ny fonosana libpam-pkcs11 tafiditra ao ny utility pkcs11_eventmgr, izay ahafahanao manao hetsika isan-karazany rehefa mitranga ny hetsika PKCS#11.
Ho an'ny fanovana pkcs11_eventmgr miasa ho toy ny fichier configuration: /etc/pam_pkcs11/pkcs11_eventmgr.conf
Ho an'ny fizarana Linux samihafa, ny baiko mahatonga ny kaonty hihidy rehefa nesorina ny karatra hendry na marika iray dia tsy mitovy. Cm. event card_remove.
Aseho eto ambany ny rakitra fanamafisana ohatra iray:

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";
    }
}

Aorian'izay dia ampio ny fampiharana pkcs11_eventmgr manomboka. Mba hanaovana izany, ovay ny rakitra .bash_profile:
$ nano /home/<имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ>/.bash_profile
Ampio ny tsipika pkcs11_eventmgr amin'ny faran'ny rakitra ary avereno indray.

Ireo dingana voalaza amin'ny fametrahana ny rafitra fandidiana dia azo ampiasaina ho torolΓ lana amin'ny fizarana Linux maoderina rehetra, anisan'izany ny an-trano.

Ahoana ny fampiasana mody PAM ho an'ny fanamarinana eo an-toerana amin'ny Linux amin'ny fampiasana ny fanalahidy GOST-2012 amin'ny Rutoken

famaranana

Ny PC Linux dia miha-malaza any amin'ny sampan-draharaham-panjakana Rosiana, ary tsy mora foana ny fametrahana fanamarinana roa azo antoka amin'ity OS ity. Ho faly izahay hanampy anao amin'ny famahana ny "olana amin'ny tenimiafina" miaraka amin'ity torolΓ lana ity ary miaro azo antoka ny fidirana amin'ny PC-nao nefa tsy mandany fotoana be amin'izany.

Source: www.habr.com

Add a comment