
Uues rÀÀkisime kahepoolsest autentimisest ettevÔtteportaalides. Eelmises artiklis demonstreerisime, kuidas seadistada turvalist autentimist web-serveris IIS.
Kommentaarides paluti meid kirjutada juhend kĂ”ige levinumate web-serverite jaoks Linuxis â nginx ja Apache.
Te soovisite â me kirjutasime.
Mida on vaja, et alustada?
- Iga kaasaegne Linuxi distributsioon. Testiseade viidi lĂ€bi MX Linux 18.2_x64. See ei ole kĂŒll serveri distributsioon, kuid Debianil ei tohiks olla erilisi erinevusi. Muude distributsioonide puhul vĂ”ivad raamatukogude ja konfiguratsioonifailide teed veidi erineda.
- Token. JÀtkame mudeli kasutamist , mis sobib ideaalselt kiirusnÀitajate poolest ettevÔtete kasutamiseks.
- Tokeniga töötamiseks Linuxis tuleb installida jÀrgmised pakettid:
libccid libpcsclite1 pcscd pcsc-tools opensc

Sertifikaatide vÀljastamine
Varasemates artiklites oleme toetunud sellele, et serveri ja kliendi sertifikaate vĂ€ljastatakse Microsoft CA kaudu. Kuid kuna seadistame kĂ”ik Linuxis, rÀÀgime ka alternatiivsest viisist nende sertifikaatide vĂ€ljastamiseks â ilma Linuxist lahkumata.
CA-na kasutame XCA (), mis on saadaval igas kaasaegses Linuxi distributsioonis. KÔik toimingud, mida teeme XCA-s, on vÔimalik teha ka kÀsureal utiliitide OpenSSL ja pkcs11-tool abil, kuid suurema lihtsuse ja selguse huvides ei toome neid vÀlja.
Esimene samm
- Installime:
$ apt-get install xca - Ja kÀivitame:
$ xca - Loome oma CA andmebaasi â /root/CA.xdb
Soovitame hoida Sertifikaadi Autoriteedi andmebaasi kaustas, millele on juurdepÀÀs ainult administraatoril. See on oluline juursertifikaatide privaatsete vÔtmete kaitsmiseks, mida kasutatakse kÔigi teiste sertifikaatide allkirjastamiseks.
Loome juurika CA vÔtmed ja sertifikaadi
Avaliku vĂ”tme infrastruktuuri (PKI) aluseks on hierarhiline sĂŒsteem. Selle sĂŒsteemi peamine koostisosa on juursertifitseerimisagentuur vĂ”i root CA. Selle sertifikaat tuleb luua esimesena.
- Loome CA jaoks RSA-2048 privaatvĂ”tme. Selleks klĂ”psame vahekaardil PrivaatvĂ”tmed ja vajutame Uus vĂ”ti ning valime vastava tĂŒĂŒbi.
- Seame nimi uuele vĂ”tmepaarile. Ma nimetasime selle â CA Key.
- Kirjutame vÀlja CA sertifikaadi, kasutades loodud vÔtmepaari. Selleks liigume vahekaardile Certificates ja vajutame Uus sertifikaat.
- Oluline on valida SHA-256, sest SHA-1 kasutamine ei ole enam ohutu.
- Mallina on hĂ€davajalik valida [default] CA. Ărge unustage vajutada Rakenda kĂ”ik, muidu mall ei rakendu.
- Sakil Teema valime meie vÔtmepaari. Seal saate samuti tÀita kÔik sertifikaadi pÔhivÀljad.

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

Loome kasutaja vÔtmed ja sertifikaadi
- Kasutaja privaatvĂ”ti salvestatakse meie tokenisse. Selle kasutamiseks on vajalik installeerida PKCS#11 teek meie veebisaidilt. Populaarsete distributsioonide jaoks pakume valmis pakette, mis asuvad siin â . Meil on ka versioonid arm64, armv7el, armv7hf, e2k, mipso32el, mida saab meie SDK-st vĂ”tta â . Lisaks Linuxi versioonidele on meil ka versioonid macOS, freebsd ja android jaoks.
- Lisame XCA-sse uue PKCS#11 pakkuja. Selleks lĂ€heme menĂŒĂŒsse Valikud vahekaardile PKCS#11 pakkuja.
- Vajutame Lisa ja valime tee PKCS#11 teeki. Minu puhul on see usrliblibrtpkcs11ecp.so.
- Meil on vajalik vormindatud token RutuTokeni ECDSA PKI jaoks. Laadige alla utiliit rtAdmin â
- TĂ€idame
$ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u - VĂ”tme tĂŒĂŒbina valime â RSA-2048 vĂ”ti RutuTokeni ECDSA PKI-l. Ma nimetasin selle vĂ”tme Client Key.

- Sisestame PIN-koodi. Ja ootame riistvara vÔtmepaari genereerimise lÔppu

- Kasutaja sertifikaat luuakse analoogselt serveri sertifikaadi loomisega. Seekord valime malliks [default] HTTPS_client ja Àrge unustage vajutada Rakenda kÔik.
- Sakil Teema sisestame kasutaja teabe. Sertifikaadi salvestamise pÀringule tokenis vastame jaatavalt.
LÔpuks peaks vahekaardil Sertifikaadid XCA-s olema umbes selline pilt.

See minimaalne vÔtmete ja sertifikaatide komplekt on piisav, et alustada serverite seadistamisega.
Sertifikaedia vÀljatootmiseks on meil vaja eksportida CA sertifikaat, serveri sertifikaat ja serveri privaatvÔti.
Selleks tuleb valida vajalik kirje vastaval sakkil XCA-s ja vajutada Export.
Nginx
Kuidas nginx-serverit seadistada ja kĂ€ivitada, ma siin ei kirjuta â selle kohta on internetis piisavalt artikleid, rÀÀkimata ametlikest dokumentidest. Asume kohe HTTPS-i seadistamise ja kahefaasilise autentimise rakendamise juurde.
Lisame failisse nginx.conf sektsiooni server 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;
}Ăksikasjalikku kirjeldust kĂ”igist ssl-i seadistamise parameetritest nginx-is saab leida siit â
Kirjeldan lĂŒhidalt neid, mida ise seadistasin:
- ssl_verify_client â nĂ€itab, et sertifikaadi usaldusvÀÀrsuse ahelat tuleb kontrollida.
- ssl_verify_depth â mÀÀrab usaldusvÀÀrse juursertifikaadi otsimise sĂŒgavuse ahelas. Kuna meie kliendi sertifikaat on kohe juursertifikaadi poolt allkirjastatud, on sĂŒgavus seadistatud â 1. Kui kasutaja sertifikaat allkirjastatakse vahepealse CA poolt, tuleb seda parameetrit seada 2, jne.
- ssl_client_certificate â nĂ€itab teed usaldusvÀÀrse juursertifikaadini, mida kasutatakse kasutaja sertifikaadi usaldusvÀÀrsuse kontrollimiseks.
- ssl_certificate/ssl_certificate_key â nĂ€itavad teed sertifikaadini/servers puuduvusesse.
Ărge unustage kĂ€ivitada nginx -t, et kontrollida, kas konfiguratsioonis pole trĂŒkivigu ning kĂ”ik failid asuvad Ă”igel kohal ja nii edasi.
Ja tegelikult on kÔik! Nagu nÀete, on seadistus vÀga lihtne.
Kontrollime tööd Firefoxis
Kuna teeme kÔik tÀielikult Linuxis, arvestame, et ka meie kasutajad töötavad Linuxis (kui neil on Windows, siis .
- KĂ€ivitame Firefoxi.
- Proovime alguses sisse logida ilma tokenita. Saame sellise pildi:

- Minge aadressile about:preferences#privacy, ja lĂ€heme Security DevicesâŠ
- Vajutame Laadi, et lisada uus PKCS#11 seadme draiver ja mÀÀrake tee meie librtpkcs11ecp.so.
- Sertifikaadi tuvastamise kontrollimiseks vÔite minna Sertifikaatide haldurisse. Kuvatakse parooli sisestamise nÔue. PÀrast korrektset sisestamist saab kontrollida, et vahekaart Teie sertifikaadid on meie tokenilt saanud sertifikaadi.
- NĂŒĂŒd logime sisse tokeniga. Firefox pakub valima sertifikaati, mis valitakse serveris. Valime meie sertifikaadi.

- PROFIT!

Seade tehakse ĂŒks kord ja nagu nĂ€ha sertifikaadi taotlemise aknas saame oma valiku salvestada. PĂ€rast seda peame iga kord portaali sisenedes lihtsalt sisestama tokeni ja kasutaja PIN-koodi, mis oli mÀÀratud vormindamise ajal. PĂ€rast sellist autentimist teab server, kes on sisse loginud ja ei ole vaja rohkem tĂ€iendavaid aknaid kontrollimiseks, vaid pÀÀstame kasutaja kohe tema isiklikku kabinetti.
Apache
Nii nagu nginxiga, ei tohiks apache installimisega kellelgi probleeme esineda. Kui te ei tea, kuidas seda veebiserverit installida, kasutage lihtsalt ametlikku dokumentatsiooni.
Aga me alustame HTTPS-i ja kahefaktorilise autentimise seadistamist:
- KÔigepealt peame aktiveerima mod_ssl:
$ a2enmod ssl - Ja seejÀrel lubama saidi vaikimisi HTTPS seadistused:
$ a2ensite default-ssl - NĂŒĂŒd redigeerime 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 10Nagu nĂ€ete, parametrite nimed praktiliselt kattuvad nginx-i omadustega, seetĂ”ttu ei hakka ma neid selgitama. Taas â kellele huvi pakub, on dokumentatsioon avatud.
NĂŒĂŒd taaskĂ€ivitage meie server:$ service apache2 reload $ service apache2 restart
Nagu nĂ€ete, on kahefaktorilise autentimise seadistamine igasugustes veebiserverites, olgu need Windows vĂ”i Linux, maksimaalselt ĂŒhe tunni töö. Brauserite seadistamine vĂ”tab aega umbes 5 minutit. Paljud arvavad, et kahefaktorilise autentimise seadistus ja töö on keeruline ja arusaamatu. Loodan, et meie artikkel vĂ€hemalt veidi, kuid murendab seda mĂŒĂŒti.
Ainult registreeritud kasutajad saavad kĂŒsitluses osaleda. , palun.
Kas on vajalik juhend TLS-i seadistamiseks sertifikaatidega ĐĐĐĄĐą 34.10-2012:
Jah, TLS-GOST on vÀga vajalik
Ei, seadistamine ĐĐĐĄĐą-algoritmidega ei huvita
HÀÀletas 44 kasutajat. Eemale jÀi 9 kasutajat.
Allikas: habr.com





