Awọn ọrọ igbaniwọle ti o rọrun ko ni aabo, ati pe awọn eka ko ṣee ṣe lati ranti. Ti o ni idi ti wọn nigbagbogbo pari lori akọsilẹ alalepo labẹ keyboard tabi lori atẹle naa. Lati rii daju pe awọn ọrọ igbaniwọle wa ninu ọkan ti awọn olumulo “gbagbe” ati igbẹkẹle aabo ko padanu, ijẹrisi ifosiwewe meji (2FA).
Nitori apapọ ti nini ẹrọ kan ati mimọ PIN rẹ, PIN funrararẹ le rọrun ati rọrun lati ranti. Awọn aila-nfani ni gigun PIN tabi aiṣedeede jẹ aiṣedeede nipasẹ ibeere ohun-ini ti ara ati awọn ihamọ lori agbara irokuro PIN.
Ni afikun, o ṣẹlẹ ni awọn ile-iṣẹ ijọba pe wọn fẹ ki ohun gbogbo ṣiṣẹ ni ibamu si GOST. Aṣayan 2FA yii fun wíwọlé sinu Linux ni yoo jiroro. Emi yoo bẹrẹ lati ọna jijin.
Awọn modulu PAM
Awọn modulu Ijeri Pluggable (PAM) jẹ awọn modulu pẹlu API boṣewa ati awọn imuse ti ọpọlọpọ awọn ọna ṣiṣe ijẹrisi ni awọn ohun elo.
Gbogbo awọn ohun elo ati awọn ohun elo ti o le ṣiṣẹ pẹlu PAM gbe wọn soke ati pe o le lo wọn fun ijẹrisi olumulo.
Ni iṣe, o ṣiṣẹ nkan bii eyi: aṣẹ iwọle n pe PAM, eyiti o ṣe gbogbo awọn sọwedowo pataki nipa lilo awọn modulu pato ninu faili iṣeto ati da abajade pada si aṣẹ iwọle.
librtpam
Module ti o dagbasoke nipasẹ ile-iṣẹ Aktiv ṣe afikun ijẹrisi ifosiwewe meji ti awọn olumulo nipa lilo awọn kaadi smati tabi awọn ami USB nipa lilo awọn bọtini asymmetric ni ibamu si awọn iṣedede tuntun ti cryptography ti ile.
Jẹ ki a wo ipilẹ ti iṣẹ rẹ:
- Aami naa tọju ijẹrisi olumulo ati bọtini ikọkọ rẹ;
- Iwe-ẹri naa ti wa ni ipamọ ninu itọsọna ile olumulo bi igbẹkẹle.
Ilana ijẹrisi waye bi atẹle:
- Rutoken n wa ijẹrisi ti ara ẹni olumulo.
- PIN toki ti beere.
- ID data ti wa ni wole lori ikọkọ bọtini taara ni Rutoken ërún.
- Ibuwọlu abajade jẹ ijẹrisi nipa lilo bọtini gbangba lati ijẹrisi olumulo.
- Module naa da abajade ijẹrisi ibuwọlu pada si ohun elo pipe.
O le jẹri nipa lilo awọn bọtini GOST R 34.10-2012 (ipari 256 tabi 512 bits) tabi GOST R 34.10-2001 ti igba atijọ.
O ko ni lati ṣe aniyan nipa aabo ti awọn bọtini - wọn ṣe ipilẹṣẹ taara ni Rutoken ati pe ko fi iranti rẹ silẹ lakoko awọn iṣẹ cryptographic.
Rutoken EDS 2.0 jẹ ifọwọsi nipasẹ FSB ati FSTEC ni ibamu si NDV 4, nitorinaa o le ṣee lo ninu awọn eto alaye ti o ṣe ilana alaye asiri.
Lilo to wulo
Fere eyikeyi Lainos ode oni yoo ṣe, fun apẹẹrẹ a yoo lo xUbuntu 18.10.
1) Fi sori ẹrọ awọn idii pataki
sudo apt-get install libccid pcscd opensc
Ti o ba fẹ ṣafikun titiipa tabili tabili pẹlu fifipamọ iboju, fi package sii ni afikun libpam-pkcs11
.
2) Ṣafikun module PAM pẹlu atilẹyin GOST
Ikojọpọ awọn ìkàwé lati
Da awọn akoonu ti PAM folda librtpam.so.1.0.0 si awọn eto folda
/usr/lib/
tabi /usr/lib/x86_64-linux-gnu/
tabi /usr/lib64
3) Fi sori ẹrọ ni package pẹlu librtpkcs11ecp.so
Ṣe igbasilẹ ati fi sori ẹrọ ni DEB tabi RPM package lati ọna asopọ:
4) Ṣayẹwo pe Rutoken EDS 2.0 ṣiṣẹ ninu eto naa
Ninu ebute naa a ṣiṣẹ
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
Ti o ba ri ila Rutoken ECP <no label>
- o tumọ si pe ohun gbogbo dara.
5) Ka iwe-ẹri naa
Ṣiṣayẹwo pe ẹrọ naa ni ijẹrisi kan
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
Ti o ba lẹhin ila:
Using slot 0 with a present token (0x0)
- alaye ti han nipa awọn bọtini ati awọn iwe-ẹri, o nilo lati ka ijẹrisi naa ki o fi pamọ si disk. Lati ṣe eyi, ṣiṣe aṣẹ atẹle, nibiti dipo {id} o nilo lati paarọ ID ijẹrisi ti o rii ninu iṣelọpọ ti aṣẹ iṣaaju:
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
Ti faili cert.crt ba ti ṣẹda, tẹsiwaju si igbesẹ 6). - ko si nkan, lẹhinna ẹrọ naa ti ṣofo. Kan si alabojuto rẹ tabi ṣẹda awọn bọtini ati ijẹrisi funrararẹ nipa titẹle igbesẹ ti n tẹle.
5.1) Ṣẹda ijẹrisi idanwo
Ifarabalẹ! Awọn ọna ti a ṣalaye fun ṣiṣẹda awọn bọtini ati awọn iwe-ẹri dara fun idanwo ati pe wọn ko pinnu fun lilo ni ipo ija. Lati ṣe eyi, o nilo lati lo awọn bọtini ati awọn iwe-ẹri ti a fun ni aṣẹ nipasẹ aṣẹ iwe-ẹri igbẹkẹle ti ajo rẹ tabi aṣẹ iwe-ẹri ti o ni ifọwọsi.
A ṣe apẹrẹ module PAM lati daabobo awọn kọnputa agbegbe ati pe a ṣe apẹrẹ lati ṣiṣẹ ni awọn ajọ kekere. Niwọn igba ti awọn olumulo diẹ wa, Alakoso le ṣe atẹle ifagile ti awọn iwe-ẹri ati dina awọn akọọlẹ pẹlu ọwọ, bakanna bi akoko iwulo ti awọn iwe-ẹri. Module PAM ko tii mọ bi o ṣe le rii daju awọn iwe-ẹri nipa lilo awọn CRL ati kọ awọn ẹwọn ti igbẹkẹle.
Ọna ti o rọrun (nipasẹ ẹrọ aṣawakiri)
Lati gba ijẹrisi idanwo, lo
Ọna giigi naa (nipasẹ console ati o ṣee ṣe akopọ)
Ṣayẹwo ẹya OpenSC
$ opensc-tool --version
Ti ẹya naa ba kere ju 0.20, lẹhinna ṣe imudojuiwọn tabi kọ
Ṣẹda bata bọtini kan pẹlu awọn paramita wọnyi:
--key-type: GOSTR3410-2012-512:А (ГОСТ-2012 512 бит c парамсетом А), GOSTR3410-2012-256:A (ГОСТ-2012 256 бит с парамсетом A)
--id:
ohun idamo (CKA_ID) bi meji-nọmba hex ohun kikọ awọn nọmba lati ASCII tabili. Lo awọn koodu ASCII nikan fun awọn kikọ atẹjade, nitori... id yoo nilo lati kọja si OpenSSL bi okun. Fun apẹẹrẹ, koodu ASCII "3132" ni ibamu si okun "12". Fun irọrun, o le lo
$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132
Nigbamii a yoo ṣẹda ijẹrisi kan. Awọn ọna meji yoo ṣe apejuwe ni isalẹ: akọkọ jẹ nipasẹ CA kan (a yoo lo awọn CAs idanwo), keji jẹ ami-ara. Lati ṣe eyi, o nilo akọkọ lati fi sori ẹrọ ati tunto ẹya OpenSSL 1.1 tabi nigbamii lati ṣiṣẹ pẹlu Rutoken nipasẹ module rtengine pataki kan nipa lilo itọnisọna.
Fun apẹẹrẹ: fun '--id 3132
' ni OpenSSL o nilo lati pato"pkcs11:id=12
".
O le lo awọn iṣẹ ti CA idanwo kan, eyiti ọpọlọpọ wa, fun apẹẹrẹ,
Aṣayan miiran ni lati fun ọlẹ ati ṣẹda ti ara ẹni
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr
Ikojọpọ ijẹrisi si ẹrọ naa
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer
6) Forukọsilẹ ijẹrisi ninu eto naa
Rii daju pe ijẹrisi rẹ dabi faili base64:
Ti ijẹrisi rẹ ba dabi eleyi:
lẹhinna o nilo lati yi ijẹrisi pada lati ọna kika DER si ọna kika PEM (base64)
$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
A ṣayẹwo lẹẹkansi pe ohun gbogbo wa ni ibere bayi.
Ṣafikun ijẹrisi naa si atokọ ti awọn iwe-ẹri igbẹkẹle
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates
Laini ti o kẹhin ṣe aabo atokọ ti awọn iwe-ẹri ti o ni igbẹkẹle lati jẹ lairotẹlẹ tabi imomose yipada nipasẹ awọn olumulo miiran. Eyi ṣe idiwọ fun ẹnikan lati ṣafikun ijẹrisi wọn nibi ati ni anfani lati wọle fun ọ.
7) Ṣeto ìfàṣẹsí
Ṣiṣeto module PAM wa jẹ boṣewa patapata ati pe a ṣe ni deede ni ọna kanna bi ṣeto awọn modulu miiran. Ṣẹda lati faili /usr/share/pam-configs/rutoken-gost-pam
ti o ni awọn ni kikun orukọ ti awọn module, boya o ti wa ni sise nipa aiyipada, ni ayo module, ati ìfàṣẹsí sile.
Awọn paramita ìfàṣẹsí ni awọn ibeere fun aṣeyọri ti iṣẹ ṣiṣe:
- beere: Iru modulu gbọdọ pada kan rere esi. Ti abajade ipe module kan ba ni esi odi, eyi yoo ja si ni aṣiṣe ijẹrisi. Awọn ìbéèrè yoo wa ni silẹ, ṣugbọn awọn ti o ku modulu yoo wa ni a npe ni.
- ibeere: Iru si beere, ṣugbọn lẹsẹkẹsẹ kuna ìfàṣẹsí ati ki o foju miiran modulu.
- to: Ti ko ba si awọn modulu ti a beere tabi to ṣaaju iru module kan pada abajade odi, lẹhinna module naa yoo pada si esi rere. Awọn ti o ku modulu yoo wa ni bikita.
- iyan: Ti ko ba si awọn modulu ti a beere lori akopọ ati pe ko si ọkan ninu awọn modulu to ti o pada abajade rere, lẹhinna o kere ju ọkan ninu awọn modulu aṣayan gbọdọ pada abajade rere kan.
Awọn akoonu faili ni kikun /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
fi faili pamọ, lẹhinna ṣiṣẹ
$ sudo pam-auth-update
ninu ferese ti o han, fi aami akiyesi lẹgbẹẹ rẹ Rutoken PAM GOST ati нажимаем OK
8) Ṣayẹwo awọn eto
Lati loye pe ohun gbogbo ti tunto, ṣugbọn ni akoko kanna ko padanu agbara lati wọle sinu eto, tẹ aṣẹ naa sii.
$ sudo login
Tẹ orukọ olumulo rẹ sii. Ohun gbogbo ni tunto ni deede ti eto ba nilo koodu PIN ẹrọ kan.
9) Tunto kọmputa lati dinamọ nigbati ami naa ba jade
To wa ninu package libpam-pkcs11
IwUlO to wa pkcs11_eventmgr,
eyi ti o faye gba o a ṣe orisirisi awọn sise nigba ti PKCS # 11 iṣẹlẹ waye.
Fun awọn eto pkcs11_eventmgr
ṣiṣẹ bi faili iṣeto: /etc/pam_pkcs11/pkcs11_eventmgr.conf
Fun awọn pinpin Linux ti o yatọ, aṣẹ ti o fa ki akọọlẹ kan wa ni titiipa nigbati kaadi smart tabi ami ti yọkuro yoo yatọ. Cm. event card_remove
.
Faili iṣeto ni apẹẹrẹ ti han ni isalẹ:
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";
}
}
Lẹhin iyẹn fi ohun elo naa kun pkcs11_eventmgr
lati ibẹrẹ. Lati ṣe eyi, ṣatunkọ faili .bash_profile:
$ nano /home/<имя_пользователя>/.bash_profile
Ṣafikun laini pkcs11_eventmgr si opin faili naa ki o tun bẹrẹ.
Awọn igbesẹ ti a ṣapejuwe fun iṣeto ẹrọ iṣẹ le ṣee lo bi awọn itọnisọna ni eyikeyi pinpin Lainos ode oni, pẹlu awọn ti ile.
ipari
Awọn PC Linux ti n di olokiki si ni awọn ile-iṣẹ ijọba Russia, ati ṣiṣeto ijẹrisi ifosiwewe meji ti o gbẹkẹle ni OS yii kii ṣe rọrun nigbagbogbo. A yoo ni idunnu lati ran ọ lọwọ lati yanju “iṣoro ọrọ igbaniwọle” pẹlu itọsọna yii ati ni igbẹkẹle aabo iraye si PC rẹ laisi lilo akoko pupọ lori rẹ.
orisun: www.habr.com