Il-passwords sempliċi mhumiex sikuri, u dawk kumplessi huma impossibbli li tiftakar. Huwa għalhekk li ħafna drabi jispiċċaw fuq nota li twaħħal taħt it-tastiera jew fuq il-monitor. Biex jiġi żgurat li l-passwords jibqgħu fl-imħuħ ta 'utenti "minsihom" u l-affidabilità tal-protezzjoni ma tintilifx, hemm awtentikazzjoni b'żewġ fatturi (2FA).
Minħabba l-kombinazzjoni ta 'pussess ta' apparat u jafu l-PIN tiegħu, il-PIN innifsu jista 'jkun aktar sempliċi u aktar faċli biex tiftakar. L-iżvantaġġi fit-tul tal-PIN jew ir-randomness huma kkumpensati mir-rekwiżit tal-pussess fiżiku u r-restrizzjonijiet fuq il-forza bruta tal-PIN.
Barra minn hekk, jiġri fl-aġenziji tal-gvern li jridu li kollox jaħdem skont GOST. Din l-għażla 2FA biex tidħol fil-Linux se tiġi diskussa. Nibda mill-bogħod.
Moduli PAM
Moduli ta 'Awtentikazzjoni Pluggable (PAM) huma moduli b'API standard u implimentazzjonijiet ta' diversi mekkaniżmi ta 'awtentikazzjoni fl-applikazzjonijiet.
L-utilitajiet u l-applikazzjonijiet kollha li jistgħu jaħdmu mal-PAM jtellgħuhom u jistgħu jużawhom għall-awtentikazzjoni tal-utent.
Fil-prattika, taħdem xi ħaġa bħal din: il-kmand tal-login isejjaħ PAM, li jwettaq il-kontrolli kollha meħtieġa billi juża l-moduli speċifikati fil-fajl tal-konfigurazzjoni u jirritorna r-riżultat lura lill-kmand tal-login.
librtpam
Il-modulu żviluppat mill-kumpanija Aktiv iżid awtentikazzjoni b'żewġ fatturi ta 'utenti li jużaw smart cards jew tokens USB li jużaw ċwievet asimmetriċi skont l-aħħar standards ta' kriptografija domestika.
Ejja nħarsu lejn il-prinċipju tat-tħaddim tiegħu:
- It-token jaħżen iċ-ċertifikat tal-utent u ċ-ċavetta privata tiegħu;
- Iċ-ċertifikat jiġi ffrankat fid-direttorju tad-dar tal-utent bħala fiduċja.
Il-proċess ta' awtentikazzjoni jseħħ kif ġej:
- Rutoken ifittex iċ-ċertifikat personali tal-utent.
- Il-PIN tat-token huwa mitlub.
- Id-dejta każwali hija ffirmata fuq iċ-ċavetta privata direttament fiċ-ċippa Rutoken.
- Il-firma li tirriżulta hija vverifikata bl-użu taċ-ċavetta pubblika miċ-ċertifikat tal-utent.
- Il-modulu jirritorna r-riżultat tal-verifika tal-firma lill-applikazzjoni tas-sejħa.
Tista' tivverifika billi tuża ċwievet GOST R 34.10-2012 (tul 256 jew 512 bit) jew il-GOST R 34.10-2001 skaduti.
M'għandekx għalfejn tinkwieta dwar is-sigurtà taċ-ċwievet - huma ġġenerati direttament f'Rutoken u qatt ma jħallu l-memorja tiegħu waqt operazzjonijiet kriptografiċi.
Rutoken EDS 2.0 huwa ċċertifikat mill-FSB u l-FSTEC skont NDV 4, għalhekk jista 'jintuża f'sistemi ta' informazzjoni li jipproċessaw informazzjoni kunfidenzjali.
Użu prattiku
Kważi kull Linux moderna se tagħmel, pereżempju se nużaw xUbuntu 18.10.
1) Installa l-pakketti meħtieġa
sudo apt-get install libccid pcscd opensc
Jekk trid iżżid lock tad-desktop bi screensaver, installa l-pakkett addizzjonalment libpam-pkcs11
.
2) Żid modulu PAM b'appoġġ GOST
Tagħbija tal-librerija minn
Ikkopja l-kontenut tal-folder PAM librtpam.so.1.0.0 fil-folder tas-sistema
/usr/lib/
jew /usr/lib/x86_64-linux-gnu/
jew /usr/lib64
3) Installa l-pakkett b'librtpkcs11ecp.so
Niżżel u installa l-pakkett DEB jew RPM mill-link:
4) Iċċekkja li Rutoken EDS 2.0 jaħdem fis-sistema
Fit-terminal aħna tesegwixxi
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
Jekk tara l-linja Rutoken ECP <no label>
- dan ifisser kollox huwa OK.
5) Aqra ċ-ċertifikat
Iċċekkja li l-apparat għandu ċertifikat
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
Jekk wara l-linja:
Using slot 0 with a present token (0x0)
- tintwera informazzjoni dwar ċwievet u ċertifikati, għandek bżonn taqra ċ-ċertifikat u ssejvjah fuq disk. Biex tagħmel dan, ħaddem il-kmand li ġej, fejn minflok {id} għandek bżonn tissostitwixxi l-ID taċ-ċertifikat li rajt fl-output tal-kmand preċedenti:
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
Jekk il-fajl cert.crt inħoloq, ipproċedi għall-pass 6). - m'hemm xejn, allura l-apparat ikun vojt. Ikkuntattja lill-amministratur tiegħek jew oħloq iċ-ċwievet u ċ-ċertifikat lilek innifsek billi ssegwi l-pass li jmiss.
5.1) Oħloq ċertifikat tat-test
Attenzjoni! Il-metodi deskritti għall-ħolqien ta 'ċwievet u ċertifikati huma adattati għall-ittestjar u mhumiex maħsuba għall-użu fil-mod ta' ġlieda. Biex tagħmel dan, trid tuża ċwievet u ċertifikati maħruġa mill-awtorità ta' ċertifikazzjoni fdata tal-organizzazzjoni tiegħek jew awtorità ta' ċertifikazzjoni akkreditata.
Il-modulu PAM huwa ddisinjat biex jipproteġi kompjuters lokali u huwa ddisinjat biex jaħdem f'organizzazzjonijiet żgħar. Peress li hemm ftit utenti, l-Amministratur jista 'jissorvelja r-revoka taċ-ċertifikati u jimblokka manwalment il-kontijiet, kif ukoll il-perjodu ta' validità taċ-ċertifikati. Il-modulu PAM għadu ma jafx kif jivverifika ċ-ċertifikati billi juża CRLs u jibni ktajjen ta' fiduċja.
Il-mod faċli (permezz tal-browser)
Biex tikseb ċertifikat tat-test, uża
Il-mod tal-geek (permezz tal-console u possibbilment il-kompilatur)
Iċċekkja l-verżjoni OpenSC
$ opensc-tool --version
Jekk il-verżjoni hija inqas minn 0.20, imbagħad aġġorna jew ibni
Iġġenera par ta 'ċavetta bil-parametri li ġejjin:
--key-type: GOSTR3410-2012-512:А (ГОСТ-2012 512 бит c парамсетом А), GOSTR3410-2012-256:A (ГОСТ-2012 256 бит с парамсетом A)
--id:
identifikatur tal-oġġett (CKA_ID) bħala numri ta' karattri hex b'żewġ ċifri mit-tabella ASCII. Uża biss kodiċi ASCII għal karattri stampabbli, għaliex... id se jeħtieġ li jiġi mgħoddi lil OpenSSL bħala string. Pereżempju, il-kodiċi ASCII "3132" jikkorrispondi għas-sekwenza "12". Għall-konvenjenza, tista 'tuża
$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132
Sussegwentement noħolqu ċertifikat. Żewġ modi se jiġu deskritti hawn taħt: l-ewwel huwa permezz ta 'CA (se nużaw CAs tat-test), it-tieni huwa ffirmat waħdu. Biex tagħmel dan, l-ewwel trid tinstalla u tikkonfigura OpenSSL verżjoni 1.1 jew aktar tard biex taħdem ma 'Rutoken permezz ta' modulu rtengine speċjali billi tuża l-manwal.
Per eżempju: għal '--id 3132
' f'OpenSSL trid tispeċifika "pkcs11:id=12
".
Tista' tuża s-servizzi ta' CA tat-test, li minnhom hemm ħafna, pereżempju,
Għażla oħra hija li tagħti fil-għażż u toħloq awto-firma
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr
Tlugħ taċ-ċertifikat fuq l-apparat
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer
6) Irreġistra ċ-ċertifikat fis-sistema
Kun żgur li ċ-ċertifikat tiegħek jidher qisu fajl base64:
Jekk iċ-ċertifikat tiegħek jidher bħal dan:
imbagħad trid tikkonverti ċ-ċertifikat mill-format DER għal format PEM (base64)
$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
Aħna nerġgħu niċċekkjaw li kollox huwa fl-ordni issa.
Żid iċ-ċertifikat mal-lista ta 'ċertifikati ta' fiduċja
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates
L-aħħar linja tipproteġi l-lista ta 'ċertifikati fdati milli jiġu mibdula aċċidentalment jew intenzjonalment minn utenti oħra. Dan jipprevjeni lil xi ħadd milli jżid iċ-ċertifikat tiegħu hawn u li jkun jista' jidħol f'ismek.
7) Twaqqaf l-awtentikazzjoni
It-twaqqif tal-modulu PAM tagħna huwa kompletament standard u jsir eżattament bl-istess mod bħall-istabbiliment ta 'moduli oħra. Oħloq għall-fajl /usr/share/pam-configs/rutoken-gost-pam
li jkun fih l-isem sħiħ tal-modulu, kemm jekk huwa attivat awtomatikament, il-prijorità tal-modulu, u parametri ta 'awtentikazzjoni.
Il-parametri tal-awtentikazzjoni fihom rekwiżiti għas-suċċess tal-operazzjoni:
- meħtieġa: Moduli bħal dawn għandhom jirritornaw rispons pożittiv. Jekk ir-riżultat ta' sejħa ta' modulu jkun fih rispons negattiv, dan jirriżulta fi żball ta' awtentikazzjoni. It-talba se titwarrab, iżda l-moduli li fadal se jissejħu.
- meħtieġ: Simili għal meħtieġ, iżda immedjatament jonqos l-awtentikazzjoni u jinjora moduli oħra.
- biżżejjed: Jekk l-ebda wieħed mill-moduli meħtieġa jew suffiċjenti qabel tali modulu ma rritorna riżultat negattiv, allura l-modulu se jirritorna rispons pożittiv. Il-moduli li fadal se jiġu injorati.
- fakultattiv: Jekk ma jkun hemm l-ebda moduli meħtieġa fuq il-munzell u l-ebda modulu suffiċjenti ma jirritorna riżultat pożittiv, allura mill-inqas wieħed mill-moduli fakultattivi għandu jirritorna riżultat pożittiv.
Kontenut sħiħ tal-fajl /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
ħlief il-fajl, imbagħad tesegwixxi
$ sudo pam-auth-update
fit-tieqa li tidher, poġġi asterisk ħdejha Rutoken PAM GOST u kklikkja OK
8) Iċċekkja s-settings
Biex tifhem li kollox huwa kkonfigurat, iżda fl-istess ħin ma titlifx il-ħila li tidħol fis-sistema, daħħal il-kmand
$ sudo login
Daħħal l-isem tal-utent tiegħek. Kollox huwa kkonfigurat b'mod korrett jekk is-sistema teħtieġ kodiċi PIN tal-apparat.
9) Ikkonfigura l-kompjuter biex jiġi mblukkat meta t-token jiġi estratt
Inkluż fil-pakkett libpam-pkcs11
utilità inkluża pkcs11_eventmgr,
li jippermettilek twettaq diversi azzjonijiet meta jseħħu avvenimenti PKCS#11.
Għal settings pkcs11_eventmgr
iservi bħala fajl ta' konfigurazzjoni: /etc/pam_pkcs11/pkcs11_eventmgr.conf
Għal distribuzzjonijiet Linux differenti, il-kmand li jikkawża li kont jissakkar meta titneħħa smart card jew token se jkun differenti. Cm. event card_remove
.
Eżempju ta' fajl ta' konfigurazzjoni jidher hawn taħt:
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";
}
}
Wara dan żid l-applikazzjoni pkcs11_eventmgr
għall-istartjar. Biex tagħmel dan, editja l-fajl .bash_profile:
$ nano /home/<имя_пользователя>/.bash_profile
Żid il-linja pkcs11_eventmgr fl-aħħar tal-fajl u reboot.
Il-passi deskritti għat-twaqqif tas-sistema operattiva jistgħu jintużaw bħala struzzjonijiet fi kwalunkwe distribuzzjoni Linux moderna, inklużi dawk domestiċi.
Konklużjoni
PCs Linux qed isiru dejjem aktar popolari fl-aġenziji tal-gvern Russu, u t-twaqqif ta 'awtentikazzjoni affidabbli b'żewġ fatturi f'dan l-OS mhux dejjem faċli. Inkunu kuntenti li ngħinuk issolvi l-"problema tal-password" b'din il-gwida u nipproteġu b'mod affidabbli l-aċċess għall-PC tiegħek mingħajr ma tonfoq ħafna ħin fuqha.
Sors: www.habr.com