
V me rÀÀkisime kahefaktorilise autentimise olulisusest ettevÔtete portaalides. Eelmises osas nÀitasime, kuidas seadistada turvalist autentimist web-serveris IIS.
Kommentaarides paluti meil kirjutada juhend kĂ”ige levinumate web-serverite kohta Linuxis â nginx ja Apache.
Te palusite â me kirjutasime.
Mis on vajalik, et alustada?
- Iga tÀnapÀevane Linuxi distributsioon. TÀitsin testseadistuse MX Linux 18.2_x64. See ei ole serveri distributsioon, kuid Debianis ei tohiks olla suuri erinevusi. Teiste distributsioonide puhul vÔivad teed raamatukogudeni ja konfiguratsioonifailid natuke erineda.
- Token. JÀtkame mudeli kasutamist , mis sobib ideaalselt kiirusnÀitajate poolest Àrikasutuseks.
- Tokeniga töötamiseks Linuxis on vajalik paigaldada jÀrgmised paketid:
libccid libpcsclite1 pcscd pcsc-tools opensc

Sertifikaatide vÀljastamine
Eelnevates artiklites tuginesime sellele, et serveri ja kliendi sertifikaadid vĂ€ljastatakse Microsoft CA abil. Kuid kuna seadistame kĂ”ike Linuxis, rÀÀgime ka alternatiivsest viisist nende sertifikaatide vĂ€ljastamiseks â jÀÀdes Linuxisse.
CA-na kasutame XCA (), mis on saadaval igas kaasaegses Linuxi jaotuses. KĂ”iki toiminguid, mida teeme XCA-s, saab teha ka kĂ€surea reĆŸiimis OpenSSL ja pkcs11-tool utiliitide abil, kuid lihtsuse ja selguse huvides ei too me neid artiklis vĂ€lja.
Alustamine
- Installime:
$ apt-get install xca - Ja kÀivitame:
$ xca - Loome oma CA andmebaasi â /root/CA.xdb
Soovitame hoida Certificate Authority andmebaasi kaustas, kuhu pÀÀseb ligi ainult administraator. See on tÀhtis, et kaitsta kÔiki teisi sertifikaate allkirjastavate juuresolevate sertifikaatide privaatvÔtmeid.
Loome juure CA vÔtmed ja sertifikaadi
Ava vĂ”tmete infrastruktuur (PKI) tugineb hierarhilisele sĂŒsteemile. Selle sĂŒsteemi peamine osa on juursertifikaadi Keskus vĂ”i root CA. Tema sertifikaat tuleb luua esimesena.
- Loome CA jaoks RSA-2048 privaatvĂ”tme. Selleks valige vahekaart PrivaatvĂ”tmed vajutame Uus vĂ”ti ja valime vastava tĂŒĂŒbi.
- MÀÀrame nime uuele vÔtme paarile. Mina nimetasime selle CA vÔtmekseks.
- Kandke vigade jaoks vÀlja CA sertifikaat, kasutades loodud vÔtme paari. Selleks liigume vahekaardile Sertifikaadid ja vajutame Uus sertifikaat.
- Kohustuslik valime SHA-256, kuna SHA-1 kasutamine ei ole enam ohutu.
- Kohustuslik valime malliks [default] CA. Ărge unustage vajutada Rakenda kĂ”ik, muidumall ei rakendu.
- Vahekaardil Teema valime meie vÔtme paari. Seal saate tÀita kÔik peamised sertifikaadi vÀljad.

Loome HTTPS-serveri vÔtmed ja sertifikaadi
- Samasuguse viisiga loome serverile RSA-2048 privaatvÔtme, mina nimetasime selle Server Key.
- Sertifikaadi loomisel valime, et serveri sertifikaat tuleb allkirjastada CA sertifikaadiga.
- Ărge unustage valida SHA-256.
- Mallina valime [default] HTTPS_server. KlÔpsame Rakenda kÔik.
- PÀrast seda valitseme vahekaardil Teema valime meie vÔtme ja tÀidame vajalikud vÀljad.

Loome kasutaja jaoks vÔtmed ja sertifikaadi
- Kasutaja privaatvĂ”ti salvestatakse meie tokenisse. Selle kasutamiseks tuleb installida PKCS#11 teek meie veebisaidilt. Levitame valmis pakette populaarsete pistetega, mis asuvad siin â . Meil on ka kogumikud arm64, armv7el, armv7hf, e2k, mipso32el, mida saab meie SDK-st â . Lisaks Linuxi kogumikele on olemas ka kogumikud macOS, freebsd ja androidi jaoks.
- Lisame uue PKCS#11 teenusepakkuja XCA-sse. Selleks lĂ€heme menĂŒĂŒsse Valikud vahekaardile PKCS#11 teenusepakkuja.
- Kli klikime Lisa ja valime tee PKCS#11 teegi juurde. Minu puhul on see usrliblibrtpkcs11ecp.so.
- Me vajame vormindatud Ruutoken ECP PKI tokenit. Laadige alla utiliit rtAdmin â
- TĂ€idame
$ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u - Klavi tĂŒĂŒbi valimisel valime â RSA-2048 vĂ”ti Ruutoken ECP PKI-l. Ma nimetasime selle vĂ”tme Client Key.

- Sisestame PIN-koodi. Ja ootame, kuni seadme genereerimine on lÔppenud vÔtmepaari jaoks.

- Kasutajale sertifikaat luuakse sarnaselt serveri sertifikaadiga. Seekord valime malliks [default] HTTPS_client ja Àrge unustage vajutada Rakenda kÔik.
- Vahekaardil Teema sisestame kasutaja teabe. Sertifikaadi salvestamise tokenile vastame afirmatiivselt.
LÔppkokkuvÔttes peaks XCA-s vahekaardil olema umbes selline pilt. Sertifikaadid XCA-s peaks olema umbes selline pilt.

Selle minimaalne vÔtmete ja sertifikaatide kogum on piisav, et alustada serverite seadistamist.
Seadistamiseks peame eksportima CA sertifikaadi, serveri sertifikaadi ja serveri privaatsĂŒĂŒdimuse.
Selleks tuleb vastaval vahekaardil valida vajalik kirje XCA-s ja vajutada Export.
Nginx
Kuidas installida ja kĂ€ivitada nginx-serverit, ma ei kirjuta â selle teema kohta on internetis piisavalt artikleid, rÀÀkimata ametlikest dokumentidest. Siirdume kohe HTTPS-i seadistamise ja kahefaktori autentimise juurde.
Lisame nginx.conf faili serveri sektsiooni jÀrgmised read:
server {
listen 443 ssl;
ssl_verify_depth 1;
ssl_certificate /etc/nginx/Server.crt;
ssl_certificate_key /etc/nginx/ServerKey.pem;
ssl_client_certificate /etc/nginx/CA.crt;
ssl_verify_client on;
}Kooli kĂ”ik SSL seadistamise parameetrite ĂŒksikasjalikud kirjeldused leiate siit â
Kirjeldan lĂŒhidalt vaid neid, mida ise seadistasin:
- ssl_verify_client â nĂ€itab, et sertifikaadi usaldusvÀÀrsus peab olema kontrollitud.
- ssl_verify_depth â mÀÀrab usaldusvÀÀrse juursertifikaadi otsingu sĂŒgavuse ahelas. Kuna meie kliendi sertifikaat on kohe allkirjastatud juursertifikaadiga, siis on sĂŒgavus seatud â 1. Kui kasutaja sertifikaat on allkirjastatud vahe-CA poolt, siis tuleb selle parameetri vÀÀrtuseks panna 2 ja nii edasi.
- ssl_client_certificate â nĂ€itab usaldusvÀÀrse juursertifikaadi teed, mida kasutatakse kasutaja sertifikaadi usaldusvÀÀrsuse kontrollimisel.
- ssl_certificate/ssl_certificate_key â nĂ€itavad serveri sertifikaadi/privaatse vĂ”tme teed.
Ărge unustage kĂ€ivitada nginx -t, et kontrollida, et konfiguratsioonis pole trĂŒkivigu, kĂ”ik failid asuvad Ă”iges kohas jne.
Ja tegelikult kÔik! Nagu nÀete, on seadistamine vÀga lihtne.
Kontrollime tööd Firefoxis
Kuna me teeme kÔik tÀielikult Linuxis, siis oletame, et ka meie kasutajad töötavad Linuxis (kui neil on Windows, siis .
- KĂ€ivitame Firefoxi.
- Proovime alguses siseneda ilma tokenita. Saame sellise pildi:

- Siseneme aadressile about:preferences#privacy, ja lĂ€heme Security DevicesâŠ
- Kli klikime Load, et lisada uus PKCS#11 seadmepettekandja ja nÀidata teed meie librtpkcs11ecp.so-le.
- Sertifikaadi nÀhtavuse kontrollimiseks minge aadressile Certificate Manager. Ilmub PIN-koodi sisestamise taotlus. PÀrast Ôiget sisestamist saab kontrollida, et vahekaardil Your Certificates on meie sertifikaat tokenilt ilmunud.
- NĂŒĂŒd logime sisse tokeniga. Firefox pakub valida sertifikaadi, mis valitakse serveris. Valime meie sertifikaadi.

- PROFIT!

Seadistus tehakse ĂŒks kord, ja nagu nĂ€ha sertifikaadi taotlemise aknas, saame oma valiku salvestada. PĂ€rast seda tuleb iga kord portaalile sisenemisel vaid token sisestada ja kasutaja PIN-kood, mis oli mÀÀratud vormindamise ajal, sisse kirjutada. PĂ€rast sellist autentimist teab server juba, milline kasutaja on sisse loginud ja ei ole enam vaja lisakaste kontrollimiseks, vaid saab kohe suunata kasutaja tema isiklikku kabinetti.
Apache
Nii nagu nginxiga ei tohiks keegi apache'i paigaldamisega probleeme kogeda. Kui te ei tea, kuidas seda veebiserverit paigaldada, kasutage lihtsalt ametlikku dokumentatsiooni.
Asume HTTPSe ja kahefaktorilise autentimise seadistamise juurde:
- Esiteks tuleb aktiveerida mod_ssl:
$ a2enmod ssl - Ja seejĂ€rel lĂŒlitage sisse saidi HTTPS-seaded:
$ a2ensite default-ssl - NĂŒĂŒd muuda konfiguratsioonifaili: /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 10Kuidas nĂ€ha, parameetrite nimetused on praktiliselt samad kui nginx-is, seega ei vaja ma nende selgitamist. JĂ€llegi, kellel on huvi ĂŒksikasjade vastu â olete dokumentatsioonis oodatud.
NĂŒĂŒd taaskĂ€ivitage meie server:$ service apache2 reload $ service apache2 restart
Kuidas nĂ€ha, kahefaasilise autentimise seadmine igasugusele veebiserverile, nii Windowsis kui ka Linuxis, vĂ”tab maksimaalselt tunni. Brauserite seadmine kestab umbes 5 minutit. Paljud arvavad, et kahefaasilise autentimise seadmine ja kasutamine on keeruline ja arusaamatu. Lootuses, et meie artikkel vĂ€hemalt osaliselt murendab seda mĂŒĂŒti.
Ainult registreeritud kasutajad saavad kĂŒsitluses osaleda. , palun.
Kas on vajalik juhend TLS-i seadistamiseks GOST 34.10-2012 sertifikaatidega:
Jah, TLS-GOST on tÔesti vajalik
Ei, GOST-algoritmidega seadmine ei huvita
44 kasutajat hÀÀletas. 9 kasutajat jÀid erapooletuks.
Allikas: habr.com





