ProHoster > Blogs > AdministrÄcija > Divu faktoru autentifikÄcija vietnÄ, izmantojot USB marÄ·ieri. Tagad arÄ« Linux
Divu faktoru autentifikÄcija vietnÄ, izmantojot USB marÄ·ieri. Tagad arÄ« Linux
Š viens no mÅ«su iepriekÅ”Äjiem rakstiem mÄs runÄjÄm par divu faktoru autentifikÄcijas nozÄ«mi uzÅÄmumu korporatÄ«vajos portÄlos. IepriekÅ”ÄjÄ reizÄ mÄs demonstrÄjÄm, kÄ IIS tÄ«mekļa serverÄ« iestatÄ«t droÅ”u autentifikÄciju.
KomentÄros mums tika lÅ«gts uzrakstÄ«t instrukcijas Linux izplatÄ«tÄkajiem tÄ«mekļa serveriem - nginx un Apache.
JÅ«s jautÄjat - mÄs rakstÄ«jÄm.
Kas jums ir nepiecieÅ”ams, lai sÄktu?
Jebkura mÅ«sdienu Linux izplatÄ«Å”ana. Es veicu testa iestatÄ«Å”anu operÄtÄjsistÄmÄ MX Linux 18.2_x64. Tas, protams, nav servera izplatÄ«Å”ana, taÄu maz ticams, ka Debian atŔķirÄ«bas bÅ«s. Citos izplatÄ«jumos ceļi uz konfigurÄcijas bibliotÄkÄm var nedaudz atŔķirties.
Token. MÄs turpinÄm izmantot modeli Rutoken EDS PKI, kas ir ideÄls Ätruma raksturlielumu ziÅÄ korporatÄ«vai lietoÅ”anai.
Lai strÄdÄtu ar marÄ·ieri operÄtÄjsistÄmÄ Linux, jÄinstalÄ Å”Ädas pakotnes:
libccid libpcsclite1 pcscd pcsc-tools opensc
SertifikÄtu izsniegÅ”ana
IepriekÅ”Äjos rakstos mÄs paļÄvÄmies uz faktu, ka servera un klienta sertifikÄti tiks izsniegti, izmantojot Microsoft CA. TaÄu, tÄ kÄ mÄs visu iestatÄm operÄtÄjsistÄmÄ Linux, mÄs jums pastÄstÄ«sim arÄ« par alternatÄ«vu veidu, kÄ izsniegt Å”os sertifikÄtus, neizejot no Linux.
MÄs izmantosim XCA kÄ CA (https://hohnstaedt.de/xca/), kas ir pieejams jebkurÄ modernÄ Linux izplatÄ«Å”anÄ. Visas darbÄ«bas, kuras mÄs veiksim XCA, var veikt komandrindas režīmÄ, izmantojot OpenSSL un pkcs11-tool utilÄ«tas, taÄu lielÄkas vienkÄrŔības un skaidrÄ«bas labad mÄs tÄs Å”ajÄ rakstÄ neparÄdÄ«sim.
Darba sÄkÅ”ana
UzstÄdÄ«t:
$ apt-get install xca
Un mÄs skrienam:
$ xca
MÄs izveidojam savu datubÄzi CA ā /root/CA.xdb
MÄs iesakÄm sertifikÄcijas iestÄdes datu bÄzi saglabÄt mapÄ, kurai ir piekļuve tikai administratoram. Tas ir svarÄ«gi, lai aizsargÄtu saknes sertifikÄtu privÄtÄs atslÄgas, kuras tiek izmantotas visu pÄrÄjo sertifikÄtu parakstÄ«Å”anai.
Izveidojiet atslÄgas un saknes CA sertifikÄtu
PubliskÄs atslÄgas infrastruktÅ«ra (PKI) ir balstÄ«ta uz hierarhisku sistÄmu. Galvenais Å”ajÄ sistÄmÄ ir saknes sertifikÄcijas iestÄde vai saknes CA. Vispirms ir jÄizveido tÄ sertifikÄts.
MÄs izveidojam RSA-2048 privÄto atslÄgu CA. Lai to izdarÄ«tu, cilnÄ PrivÄtÄs atslÄgas spiediet Jauns Key un izvÄlieties atbilstoÅ”o veidu.
Iestatiet nosaukumu jaunajam atslÄgu pÄrim. Es to nosaucu par CA atslÄgu.
MÄs izsniedzam paÅ”u CA sertifikÄtu, izmantojot izveidoto atslÄgu pÄri. Lai to izdarÄ«tu, dodieties uz cilni SertifikÄti un noklikŔķiniet uz Jauns sertifikÄts.
Noteikti izvÄlieties SHA-256, jo SHA-1 lietoÅ”anu vairs nevar uzskatÄ«t par droÅ”u.
Noteikti izvÄlieties kÄ veidni [noklusÄjums]CA. Neaizmirstiet noklikŔķinÄt uz Lietot visu, pretÄjÄ gadÄ«jumÄ veidne netiek lietota.
CilnÄ Temats izvÄlieties mÅ«su atslÄgu pÄri. Tur jÅ«s varat aizpildÄ«t visus galvenos sertifikÄta laukus.
AtslÄgu un https servera sertifikÄta izveide
LÄ«dzÄ«gÄ veidÄ mÄs izveidojam serverim RSA-2048 privÄto atslÄgu, es to saucu par servera atslÄgu.
Veidojot sertifikÄtu, mÄs izvÄlamies, lai servera sertifikÄts bÅ«tu jÄparaksta ar CA sertifikÄtu.
Neaizmirstiet izvÄlÄties SHA-256.
MÄs izvÄlamies kÄ veidni [noklusÄjums] HTTPS_serveris. KlikŔķiniet uz Lietot visu.
PÄc tam cilnÄ Temats atlasiet mÅ«su atslÄgu un aizpildiet nepiecieÅ”amos laukus.
Izveidojiet atslÄgas un sertifikÄtu lietotÄjam
LietotÄja privÄtÄ atslÄga tiks saglabÄta mÅ«su pilnvarÄ. Lai ar to strÄdÄtu, no mÅ«su vietnes jÄinstalÄ bibliotÄka PKCS#11. PopulÄrajiem izplatÄ«jumiem mÄs izplatÄm gatavas paketes, kas atrodas Å”eit - https://www.rutoken.ru/support/download/pkcs/. Mums ir arÄ« komplekti arm64, armv7el, armv7hf, e2k, mipso32el, kurus var lejupielÄdÄt no mÅ«su SDK - https://www.rutoken.ru/developers/sdk/. Papildus Linux komplektiem ir arÄ« macOS, freebsd un Android komplekti.
Jauna PKCS#11 nodroÅ”inÄtÄja pievienoÅ”ana XCA. Lai to izdarÄ«tu, dodieties uz izvÄlni opcijas uz cilni PKCS#11 nodroÅ”inÄtÄjs.
MÄs nospiežam Pievienot un atlasiet ceļu uz PKCS#11 bibliotÄku. ManÄ gadÄ«jumÄ tas ir usrliblibrtpkcs11ecp.so.
MÄs izveidojam sertifikÄtu lietotÄjam pÄc analoÄ£ijas ar servera sertifikÄtu. Å oreiz mÄs izvÄlamies veidni [noklusÄjums] HTTPS_client un neaizmirstiet noklikŔķinÄt Lietot visu.
CilnÄ Temats ievadiet informÄciju par lietotÄju. MÄs atbildam apstiprinoÅ”i uz pieprasÄ«jumu saglabÄt sertifikÄtu marÄ·ierim.
TÄ rezultÄtÄ cilnÄ SertifikÄti XCA jums vajadzÄtu iegÅ«t kaut ko lÄ«dzÄ«gu Å”im.
Å is minimÄlais atslÄgu un sertifikÄtu komplekts ir pietiekams, lai sÄktu paÅ”u serveru iestatÄ«Å”anu.
Lai konfigurÄtu, mums ir jÄeksportÄ CA sertifikÄts, servera sertifikÄts un servera privÄtÄ atslÄga.
Lai to izdarÄ«tu, attiecÄ«gajÄ XCA cilnÄ atlasiet vajadzÄ«go ierakstu un noklikŔķiniet uz EksportÄt.
Nginx
Es nerakstÄ«Å”u par to, kÄ instalÄt un palaist nginx serveri - internetÄ ir pietiekami daudz rakstu par Å”o tÄmu, nemaz nerunÄjot par oficiÄlo dokumentÄciju. SÄksim uzreiz pie HTTPS un divu faktoru autentifikÄcijas iestatÄ«Å”anas, izmantojot pilnvaru.
ssl_verify_client ā norÄda, ka ir jÄpÄrbauda sertifikÄta uzticamÄ«bas Ä·Äde.
ssl_verify_depth ā definÄ uzticamÄ saknes sertifikÄta meklÄÅ”anas dziļumu Ä·ÄdÄ. TÄ kÄ mÅ«su klienta sertifikÄts tiek nekavÄjoties parakstÄ«ts saknes sertifikÄtÄ, dziļums ir iestatÄ«ts uz 1. Ja lietotÄja sertifikÄts ir parakstÄ«ts starpposma CA, tad Å”ajÄ parametrÄ ir jÄnorÄda 2 utt.
ssl_client_certificate ā norÄda ceļu uz uzticamo saknes sertifikÄtu, kas tiek izmantots, pÄrbaudot uzticamÄ«bu lietotÄja sertifikÄtam.
ssl_certificate/ssl_certificate_key ā norÄdiet ceļu uz servera sertifikÄtu/privÄto atslÄgu.
Neaizmirstiet palaist nginx -t, lai pÄrbaudÄ«tu, vai konfigurÄcijÄ nav drukas kļūdu un vai visi faili atrodas pareizajÄ vietÄ utt.
Un tas arÄ« viss! KÄ redzat, iestatÄ«Å”ana ir ļoti vienkÄrÅ”a.
PÄrbauda, āāvai tas darbojas pÄrlÅ«kprogrammÄ Firefox
Vispirms mÄÄ£inÄsim pieteikties bez marÄ·iera. MÄs iegÅ«stam Å”o attÄlu:
MÄs turpinÄm par: preferences # privÄtums, un mÄs ejam uz DroŔības ierÄ«cesā¦
MÄs nospiežam Slodzelai pievienotu jaunu PKCS#11 ierÄ«ces draiveri un norÄdÄ«tu ceļu uz mÅ«su librtpkcs11ecp.so.
Lai pÄrbaudÄ«tu, vai sertifikÄts ir redzams, varat doties uz SertifikÄtu pÄrvaldnieks. Jums tiks piedÄvÄts ievadÄ«t savu PIN. PÄc pareizas ievades varat pÄrbaudÄ«t, kas atrodas cilnÄ JÅ«su sertifikÄti parÄdÄ«jÄs mÅ«su sertifikÄts no marÄ·iera.
Tagad iesim ar žetonu. Firefox piedÄvÄ izvÄlÄties sertifikÄtu, kas tiks atlasÄ«ts serverim. IzvÄlieties mÅ«su sertifikÄtu.
IENÄKUMS!
IestatÄ«Å”ana tiek veikta vienreiz, un, kÄ redzat sertifikÄta pieprasÄ«juma logÄ, mÄs varam saglabÄt savu izvÄli. PÄc tam katru reizi, piesakoties portÄlÄ, mums bÅ«s tikai jÄievieto marÄ·ieris un jÄievada lietotÄja PIN kods, kas tika norÄdÄ«ts formatÄÅ”anas laikÄ. PÄc Å”Ädas autentifikÄcijas serveris jau zina, kurÅ” lietotÄjs ir pieteicies un vairs nevar izveidot nekÄdus papildu logus verifikÄcijai, bet gan uzreiz ielaist lietotÄju savÄ personÄ«gajÄ kontÄ.
Apache
TÄpat kÄ ar nginx, nevienam nevajadzÄtu rasties problÄmÄm ar apache instalÄÅ”anu. Ja nezinÄt, kÄ instalÄt Å”o tÄ«mekļa serveri, izmantojiet oficiÄlo dokumentÄciju.
Un mÄs sÄkam iestatÄ«t mÅ«su HTTPS un divu faktoru autentifikÄciju:
Vispirms jÄaktivizÄ mod_ssl:
$ a2enmod ssl
Un pÄc tam iespÄjojiet vietnes noklusÄjuma HTTPS iestatÄ«jumus:
$ a2ensite default-ssl
Tagad mÄs rediÄ£Äjam konfigurÄcijas failu: /etc/apache2/sites-enabled/default-ssl.conf:
SSLEngine on
SSLProtocol all -SSLv2
SSLCertificateFile /etc/apache2/sites-enabled/Server.crt
SSLCertificateKeyFile /etc/apache2/sites-enabled/ServerKey.pem
SSLCACertificateFile /etc/apache2/sites-enabled/CA.crt
SSLVerifyClient require
SSLVerifyDepth 10
KÄ redzat, parametru nosaukumi praktiski sakrÄ«t ar parametru nosaukumiem nginx, tÄpÄc es tos nepaskaidroÅ”u. Atkal ikviens, kuru interesÄ sÄ«kÄka informÄcija, ir laipni aicinÄts iepazÄ«ties ar dokumentÄciju.
Tagad mÄs restartÄjam mÅ«su serveri:
$ service apache2 reload
$ service apache2 restart
KÄ redzat, divu faktoru autentifikÄcijas iestatÄ«Å”ana jebkurÄ tÄ«mekļa serverÄ«, neatkarÄ«gi no tÄ, vai tÄ ir operÄtÄjsistÄma Windows vai Linux, ir ne vairÄk kÄ vienas stundas jautÄjums. Un pÄrlÅ«kprogrammu iestatÄ«Å”ana aizÅem apmÄram 5 minÅ«tes. Daudzi cilvÄki domÄ, ka divu faktoru autentifikÄcijas iestatÄ«Å”ana un darbÄ«ba ar to ir sarežģīta un neskaidra. Es ceru, ka mÅ«su raksts vismaz nedaudz atspÄko Å”o mÄ«tu.
AptaujÄ var piedalÄ«ties tikai reÄ£istrÄti lietotÄji. Ielogoties, lÅ«dzu.
Vai jums ir nepiecieÅ”ami norÄdÄ«jumi par TLS iestatÄ«Å”anu ar sertifikÄtiem saskaÅÄ ar GOST 34.10-2012:
JÄ, TLS-GOST ir ļoti nepiecieÅ”ams
NÄ, skaÅoÅ”ana ar GOST algoritmiem nav interesanta