Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux
Π’ usa sa among miaging mga artikulo naghisgot kami bahin sa kamahinungdanon sa duha ka hinungdan nga panghimatuud sa mga portal sa korporasyon sa mga kompanya. Sa miaging higayon gipakita namon kung giunsa ang pag-set up sa luwas nga pag-authenticate sa IIS web server.

Sa mga komento, gihangyo kami sa pagsulat sa mga panudlo alang sa labing kasagaran nga mga web server alang sa Linux - nginx ug Apache.

Nangutana ka - nagsulat kami.

Unsa ang imong gikinahanglan aron makasugod?

  • Bisan unsang modernong distribusyon sa Linux. Naghimo ko og test setup sa MX Linux 18.2_x64. Kini siyempre dili usa ka pag-apod-apod sa server, apan lagmit nga adunay bisan unsang mga kalainan alang sa Debian. Alang sa ubang mga pag-apod-apod, ang mga agianan sa mga librarya sa config mahimong magkalainlain gamay.
  • Token. Nagpadayon kami sa paggamit sa modelo Rutoken EDS PKI, nga mao ang sulundon sa mga termino sa speed kinaiya alang sa corporate paggamit.
  • Aron magamit ang usa ka token sa Linux, kinahanglan nimo nga i-install ang mga mosunud nga pakete:
    libccid libpcsclite1 pcscd pcsc-mga himan opensc

Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

Pag-isyu sa mga sertipiko

Sa miaging mga artikulo, nagsalig kami sa kamatuoran nga ang mga sertipiko sa server ug kliyente igahatag gamit ang Microsoft CA. Apan tungod kay gi-set up namo ang tanan sa Linux, isulti usab namo kanimo ang usa ka alternatibong paagi sa pag-isyu niini nga mga sertipiko - nga dili mobiya sa Linux.
Atong gamiton ang XCA isip CA (https://hohnstaedt.de/xca/), nga anaa sa bisan unsang modernong distribusyon sa Linux. Ang tanan nga mga aksyon nga among buhaton sa XCA mahimong buhaton sa command line mode gamit ang OpenSSL ug pkcs11-tool utilities, apan alang sa mas kayano ug katin-aw, dili namo kini ipresentar niini nga artikulo.

Pagsugod

  1. Pag-instalar:
    $ apt-get install xca
  2. Ug midagan kami:
    $ xca
  3. Gihimo namo ang among database para sa CA - /root/CA.xdb
    Among girekomendar ang pagtipig sa database sa Certificate Authority sa usa ka folder diin ang tagdumala lamang ang adunay access. Mahinungdanon kini aron mapanalipdan ang pribadong mga yawe sa mga sertipiko sa ugat, nga gigamit sa pagpirma sa tanan nga ubang mga sertipiko.

Paghimo og mga yawe ug gamut CA certificate

Ang public key infrastructure (PKI) gibase sa hierarchical system. Ang panguna nga butang sa kini nga sistema mao ang awtoridad sa sertipikasyon sa gamut o gamut CA. Ang sertipiko niini kinahanglang himoon una.

  1. Naghimo mi og RSA-2048 private key para sa CA. Aron mahimo kini, sa tab Pribado nga mga Yawe pagduso Bag-ong yawe ug pilia ang angay nga tipo.
  2. Pagbutang og ngalan alang sa bag-ong key pair. Gitawag ko kini nga CA Key.
  3. Among gi-isyu ang CA certificate mismo, gamit ang gimugna nga key pair. Aron mahimo kini, adto sa tab certificates ug i-klik Bag-ong Sertipiko.
  4. Siguroha ang pagpili SHA-256, tungod kay ang paggamit sa SHA-1 dili na maisip nga luwas.
  5. Siguroha ang pagpili isip usa ka template [default]CA. Ayaw kalimot sa pag-klik sa Apply tanan, kung dili ang template dili magamit.
  6. Sa tab subject pilia ang among key pair. Didto mahimo nimong pun-on ang tanan nga mga nag-unang natad sa sertipiko.

Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

Paghimo og mga yawe ug usa ka sertipiko sa https server

  1. Sa parehas nga paagi, naghimo kami usa ka pribado nga yawe sa RSA-2048 alang sa server, gitawag nako kini nga Server Key.
  2. Kung maghimo usa ka sertipiko, gipili namon nga ang sertipiko sa server kinahanglan nga pirmahan gamit ang usa ka sertipiko sa CA.
  3. Ayaw kalimot sa pagpili SHA-256.
  4. Gipili namon ingon usa ka template [default] HTTPS_server. Pag-klik sa Apply tanan.
  5. Unya sa tab subject pilia ang among yawe ug pun-a ang gikinahanglan nga mga natad.

Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

Paghimo og mga yawe ug sertipiko alang sa tiggamit

  1. Ang pribado nga yawe sa tiggamit itago sa among token. Aron magamit kini, kinahanglan nimo nga i-install ang librarya sa PKCS#11 gikan sa among website. Alang sa mga sikat nga pag-apod-apod, nag-apod-apod kami og mga andam nga hinimo nga mga pakete, nga nahimutang dinhi - https://www.rutoken.ru/support/download/pkcs/. Adunay usab kami mga asembliya alang sa arm64, armv7el, armv7hf, e2k, mipso32el, nga mahimong ma-download gikan sa among SDK - https://www.rutoken.ru/developers/sdk/. Dugang sa mga asembliya alang sa Linux, adunay mga asembliya usab para sa macOS, freebsd ug android.
  2. Pagdugang ug bag-ong PKCS#11 Provider sa XCA. Aron mahimo kini, adto sa menu mga kapilian sa tab PKCS#11 Taghatag.
  3. Pag-klik Idugang ug pilia ang dalan paingon sa PKCS#11 library. Sa akong kaso kini usrliblibrtpkcs11ecp.so.
  4. Kinahanglan namon ang usa ka pormat nga Rutoken EDS PKI token. I-download ang rtAdmin utility - https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615
  5. Atong ipatuman
    $ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u <PIN-ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ>
  6. Gipili namon ang RSA-2048 nga yawe alang sa Rutoken EDS PKI ingon nga yawe nga tipo. Gitawag nako kini nga yawe nga Client Key.

    Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

  7. Isulod ang PIN code. Ug naghulat kami sa pagkompleto sa paghimo sa hardware sa yawe nga pares

    Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

  8. Naghimo kami usa ka sertipiko alang sa tiggamit pinaagi sa pagtandi sa sertipiko sa server. Niining higayona nagpili kami usa ka template [default] HTTPS_client ug ayaw kalimot sa pag-klik Apply tanan.
  9. Sa tab subject pagsulod sa impormasyon bahin sa user. Gitubag namo ang hangyo nga i-save ang sertipiko alang sa token.

Ingon sa usa ka resulta, sa tab Mga sertipiko sa XCA kinahanglan nimo nga makakuha usa ka butang nga sama niini.

Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux
Kini nga minimum nga set sa mga yawe ug mga sertipiko igo na aron magsugod sa pag-set up sa mga server mismo.

Aron ma-configure, kinahanglan natong i-export ang CA certificate, server certificate ug server private key.

Aron mahimo kini, pilia ang gusto nga entry sa katugbang nga tab sa XCA ug i-klik export.

Nginx

Dili ko isulat kung giunsa ang pag-install ug pagpadagan sa usa ka nginx server - adunay igo nga mga artikulo bahin sa kini nga hilisgutan sa Internet, wala pay labot ang opisyal nga dokumentasyon. Diretso ta sa pag-set up sa HTTPS ug two-factor authentication gamit ang token.

Idugang ang mosunod nga mga linya sa seksyon sa server sa nginx.conf:

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;
}

Ang usa ka detalyado nga paghulagway sa tanan nga mga parameter nga may kalabutan sa pag-configure sa ssl sa nginx makita dinhi - https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_client_certificate

Ihulagway ko sa kadali kadtong akong gipangutana sa akong kaugalingon:

  • ssl_verify_client - nagtino nga ang kadena sa pagsalig alang sa sertipiko kinahanglan nga mapamatud-an.
  • ssl_verify_depth - Gihubit ang giladmon sa pagpangita alang sa kasaligan nga sertipiko sa ugat sa kadena. Tungod kay ang sertipiko sa among kliyente gipirmahan dayon sa sertipiko sa ugat, ang giladmon gitakda sa 1. Kung ang sertipiko sa tiggamit gipirmahan sa usa ka intermediate CA, nan ang 2 kinahanglan nga itakda sa kini nga parameter, ug uban pa.
  • ssl_client_certificate - nagtino sa agianan padulong sa kasaligan nga sertipiko sa ugat, nga gigamit sa pagsusi sa pagsalig sa sertipiko sa tiggamit.
  • ssl_certificate/ssl_certificate_key - ipaila ang agianan paingon sa server certificate/pribado nga yawe.

Ayaw kalimti ang pagdagan nginx -t aron masusi nga wala’y mga typo sa config, ug nga ang tanan nga mga file naa sa husto nga lugar, ug uban pa.

Ug kana lang! Sama sa imong nakita, ang pag-setup yano ra kaayo.

Pagsusi nga kini nagtrabaho sa Firefox

Tungod kay gihimo namon ang tanan sa hingpit sa Linux, among hunahunaon nga ang among mga tiggamit nagtrabaho usab sa Linux (kung sila adunay Windows, nan tan-awa ang mga panudlo alang sa pag-set up sa mga browser sa miaging artikulo.

  1. Atong ilunsad ang Firefox.
  2. Suwayan ta ug log in nga walay token una. Atong makuha kini nga litrato:

    Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

  3. Adto ta sa bahin sa: kagustuhan # privacy, ug kita moadto sa Mga Device sa Seguridad…
  4. Pag-klik loadaron makadugang ug bag-ong PKCS#11 Device Driver ug ipiho ang dalan paingon sa among librtpkcs11ecp.so.
  5. Aron masusi nga ang sertipiko makita, mahimo kang moadto sa Tagdumala sa Sertipiko. Maaghat ka sa pagsulod sa imong PIN. Pagkahuman sa husto nga pag-input, mahimo nimong susihon kung unsa ang naa sa tab Imong mga Sertipiko ang among sertipiko gikan sa token nagpakita.
  6. Karon moadto kita sa token. Ang Firefox nag-aghat kanimo sa pagpili sa usa ka sertipiko nga mapili alang sa server. Pilia ang among sertipiko.

    Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

  7. PABILIN!

    Duha ka hinungdan nga panghimatuud sa site gamit ang USB token. Karon usab alang sa Linux

Ang pag-setup nahimo kausa, ug ingon sa imong makita sa window sa paghangyo sa sertipiko, mahimo namon nga i-save ang among pagpili. Pagkahuman niini, matag higayon nga mag-log in kami sa portal, kinahanglan ra namon nga magsulud usa ka token ug isulod ang PIN code sa gumagamit nga gitakda sa pag-format. Pagkahuman sa ingon nga panghimatuud, nahibal-an na sa server kung kinsa nga tiggamit ang naka-log in ug dili ka na makahimo og bisan unsang dugang nga mga bintana alang sa pag-verify, apan tugoti dayon ang tiggamit sa iyang personal nga account.

Apache

Sama sa nginx, walay usa nga kinahanglan adunay bisan unsang mga problema sa pag-install sa apache. Kung wala ka kahibalo kung unsaon pag-install kini nga web server, gamita lang ang opisyal nga dokumentasyon.

Ug nagsugod kami sa pag-set up sa among HTTPS ug two-factor authentication:

  1. Una kinahanglan nimo nga i-aktibo ang mod_ssl:
    $ a2enmod ssl
  2. Ug dayon i-enable ang default nga mga setting sa HTTPS sa site:
    $ a2ensite default-ssl
  3. Karon among gi-edit ang configuration file: /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

    Sama sa imong nakita, ang mga ngalan sa mga parameter halos nahiuyon sa mga ngalan sa mga parameter sa nginx, mao nga dili ko kini ipasabut. Sa makausa pa, bisan kinsa nga interesado sa mga detalye welcome sa dokumentasyon.
    Karon atong i-restart ang atong server:

    $ service apache2 reload
    $ service apache2 restart

  4. Sama sa imong makita, ang pag-set up sa two-factor authentication sa bisan unsang web server, bisan sa Windows o Linux, usa ka oras nga maximum. Ug ang pag-set up sa mga browser nagkinahanglan og mga 5 ka minuto. Daghang mga tawo ang naghunahuna nga ang pag-set up ug pagtrabaho sa duha ka hinungdan nga pag-authenticate lisud ug dili klaro. Nanghinaut ko nga ang among artikulo nagsalikway niini nga tumotumo, bisan gamay.

Ang mga rehistradong tiggamit lamang ang makaapil sa survey. Sign in, walay sapayan.

Kinahanglan ba nimo ang mga panudlo alang sa pag-set up sa TLS nga adunay mga sertipiko sumala sa GOST 34.10-2012:

  • Oo, gikinahanglan kaayo ang TLS-GOST

  • Dili, ang pag-tune sa mga algorithm sa GOST dili makapaikag

44 ka tiggamit ang miboto. 9 ka tiggamit ang nag-abstain.

Source: www.habr.com

Idugang sa usa ka comment