Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux
В ọkan ninu wa ti tẹlẹ ìwé a sọrọ nipa pataki ti ijẹrisi ifosiwewe meji lori awọn ọna abawọle ile-iṣẹ ti awọn ile-iṣẹ. Ni igba ikẹhin ti a ṣe afihan bi o ṣe le ṣeto iṣeduro to ni aabo ni olupin wẹẹbu IIS.

Ninu awọn asọye, a beere lọwọ wa lati kọ awọn ilana fun awọn olupin wẹẹbu ti o wọpọ julọ fun Linux - nginx ati Apache.

O beere - a kọ.

Kini o nilo lati bẹrẹ?

  • Eyikeyi igbalode Linux pinpin. Mo ṣe iṣeto idanwo kan lori MX Linux 18.2_x64. Eyi jẹ dajudaju kii ṣe pinpin olupin, ṣugbọn ko ṣeeṣe lati jẹ awọn iyatọ eyikeyi fun Debian. Fun awọn pinpin miiran, awọn ọna si awọn ile-ikawe atunto le yatọ diẹ.
  • Àmi. A tesiwaju lati lo awoṣe Rutoken EDS PKI, eyiti o jẹ apẹrẹ ni awọn ofin ti awọn abuda iyara fun lilo ile-iṣẹ.
  • Lati ṣiṣẹ pẹlu ami-ami kan ni Lainos, o nilo lati fi sori ẹrọ awọn idii wọnyi:
    libccid libpcsclite1 pcscd pcsc-irinṣẹ opensc

Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

Ifunni awọn iwe-ẹri

Ninu awọn nkan ti tẹlẹ, a gbarale otitọ pe olupin ati awọn iwe-ẹri alabara yoo funni ni lilo Microsoft CA. Ṣugbọn niwọn bi a ti n ṣeto ohun gbogbo ni Lainos, a yoo tun sọ fun ọ nipa ọna omiiran lati fun awọn iwe-ẹri wọnyi - laisi kuro ni Linux.
A yoo lo XCA bi CA (https://hohnstaedt.de/xca/), eyiti o wa lori eyikeyi pinpin Linux ode oni. Gbogbo awọn iṣe ti a yoo ṣe ni XCA le ṣee ṣe ni ipo laini aṣẹ nipa lilo awọn ohun elo OpenSSL ati pkcs11-tool, ṣugbọn fun ayedero nla ati mimọ, a kii yoo ṣafihan wọn ninu nkan yii.

Bibẹrẹ

  1. Fi sori ẹrọ:
    $ apt-get install xca
  2. Ati pe a nṣiṣẹ:
    $ xca
  3. A ṣẹda aaye data wa fun CA - /root/CA.xdb
    A ṣeduro fifipamọ ibi ipamọ data Alaṣẹ Iwe-ẹri sinu folda nibiti oluṣakoso nikan ni iwọle. Eyi ṣe pataki lati daabobo awọn bọtini ikọkọ ti awọn iwe-ẹri root, eyiti a lo lati fowo si gbogbo awọn iwe-ẹri miiran.

Ṣẹda awọn bọtini ati ki o root CA ijẹrisi

Amayederun bọtini ita gbangba (PKI) da lori eto akosori. Ohun akọkọ ninu eto yii ni aṣẹ ijẹrisi root tabi root CA. Ijẹrisi rẹ gbọdọ jẹ ipilẹṣẹ akọkọ.

  1. A ṣẹda bọtini ikọkọ RSA-2048 fun CA. Lati ṣe eyi, lori taabu Awọn bọtini Aladani Ti Bọtini tuntun ki o si yan awọn yẹ iru.
  2. Ṣeto orukọ kan fun bata tuntun. Mo ti a npe ni CA Key.
  3. A funni ni ijẹrisi CA funrararẹ, ni lilo bata bọtini ti a ṣẹda. Lati ṣe eyi, lọ si taabu awọn iwe-ẹri ati нажимаем Iwe-ẹri Tuntun.
  4. Rii daju lati yan SHA-256, nitori lilo SHA-1 ko le ṣe akiyesi ailewu mọ.
  5. Rii daju lati yan bi awoṣe [aiyipada] CA. Maṣe gbagbe lati tẹ lori Waye gbogbo, bibẹẹkọ awoṣe ko lo.
  6. Ninu taabu koko yan wa bọtini bata. Nibẹ ni o le fọwọsi gbogbo awọn aaye akọkọ ti ijẹrisi naa.

Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

Ṣẹda awọn bọtini ati ijẹrisi olupin https kan

  1. Ni ọna kanna, a ṣẹda bọtini ikọkọ RSA-2048 fun olupin naa, Mo pe ni Key Server.
  2. Nigbati o ba ṣẹda ijẹrisi kan, a yan pe ijẹrisi olupin gbọdọ wa ni fowo si pẹlu ijẹrisi CA kan.
  3. Maṣe gbagbe lati yan SHA-256.
  4. A yan bi awoṣe [aiyipada] HTTPS_server. Tẹ lori Waye gbogbo.
  5. Lẹhinna lori taabu koko yan bọtini wa ki o kun awọn aaye ti a beere.

Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

Ṣẹda awọn bọtini ati ijẹrisi fun olumulo

  1. Bọtini ikọkọ ti olumulo yoo wa ni ipamọ sori ami-ami wa. Lati ṣiṣẹ pẹlu rẹ, o nilo lati fi sori ẹrọ ile-ikawe PKCS#11 lati oju opo wẹẹbu wa. Fun awọn pinpin olokiki, a pin kaakiri awọn idii ti a ti ṣetan, eyiti o wa nibi - https://www.rutoken.ru/support/download/pkcs/. A tun ni awọn apejọ fun arm64, armv7el, armv7hf, e2k, mipso32el, eyiti o le ṣe igbasilẹ lati SDK wa - https://www.rutoken.ru/developers/sdk/. Ni afikun si awọn apejọ fun Lainos, awọn apejọ tun wa fun macOS, freebsd ati Android.
  2. Fifi titun PKCS # 11 Olupese to XCA. Lati ṣe eyi, lọ si akojọ aṣayan awọn aṣayan si taabu PKCS # 11 Olupese.
  3. Tẹ fi ki o si yan awọn ọna lati PKCS # 11 ìkàwé. Ninu ọran mi o jẹ usrliblibrtpkcs11ecp.so.
  4. A yoo nilo aami Rutoken EDS PKI ti a pa akoonu. Ṣe igbasilẹ ohun elo rtAdmin - https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615
  5. A gbe jade
    $ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u <PIN-код пользователя>
  6. A yan bọtini RSA-2048 fun Rutoken EDS PKI gẹgẹbi oriṣi bọtini. Mo pe bọtini yii Key Client.

    Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

  7. Tẹ koodu PIN sii. Ati pe a duro de ipari ti iran ohun elo ti bata bọtini

    Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

  8. A ṣẹda ijẹrisi fun olumulo nipasẹ afiwe pẹlu ijẹrisi olupin. Ni akoko yii a yan awoṣe kan [aiyipada] HTTPS_client ati ki o maṣe gbagbe lati tẹ Waye gbogbo.
  9. Ninu taabu koko tẹ alaye nipa olumulo. A dahun ni ifẹsẹmulẹ si ibeere lati ṣafipamọ ijẹrisi fun ami naa.

Bi abajade, lori taabu .Ертификаты ni XCA o yẹ ki o gba nkankan bi yi.

Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux
Eto ti o kere ju ti awọn bọtini ati awọn iwe-ẹri ti to lati bẹrẹ iṣeto awọn olupin funrararẹ.

Lati tunto, a nilo lati okeere ijẹrisi CA, ijẹrisi olupin ati bọtini ikọkọ olupin.

Lati ṣe eyi, yan titẹ sii ti o fẹ lori taabu ti o baamu ni XCA ki o tẹ Export.

Nginx

Emi kii yoo kọ bii o ṣe le fi sori ẹrọ ati ṣiṣẹ olupin nginx - awọn nkan to wa lori koko yii lori Intanẹẹti, kii ṣe darukọ awọn iwe aṣẹ osise. Jẹ ki a ni taara si eto HTTPS ati ijẹrisi ifosiwewe meji nipa lilo ami kan.

Ṣafikun awọn laini wọnyi si apakan olupin ni 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;
}

Apejuwe alaye ti gbogbo awọn paramita ti o ni ibatan si atunto ssl ni nginx le ṣee rii nibi - https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_client_certificate

Emi yoo kan ṣapejuwe ni ṣoki awọn ti Mo beere lọwọ ara mi:

  • ssl_verify_client - pato pe pq ti igbẹkẹle fun ijẹrisi naa nilo lati rii daju.
  • ssl_verify_depth - Ṣe alaye ijinle wiwa fun ijẹrisi gbongbo igbẹkẹle ninu pq. Niwọn igba ti ijẹrisi alabara wa ti fowo si lẹsẹkẹsẹ lori ijẹrisi root, ijinle ti ṣeto si 1. Ti ijẹrisi olumulo ba ti fowo si lori CA agbedemeji, lẹhinna 2 gbọdọ wa ni pato ni paramita yii, ati bẹbẹ lọ.
  • ssl_client_certificate - ni pato ọna si ijẹrisi ipilẹ ti o gbẹkẹle, eyiti o lo nigbati o ba ṣayẹwo igbẹkẹle ninu ijẹrisi olumulo.
  • ssl_certificate/ssl_certificate_key - tọka ọna si ijẹrisi olupin/bọtini ikọkọ.

Maṣe gbagbe lati ṣiṣẹ nginx -t lati ṣayẹwo pe ko si awọn typos ninu atunto, ati pe gbogbo awọn faili wa ni aye to tọ, ati bẹbẹ lọ.

Ati pe iyẹn ni gbogbo! Bi o ti le ri, iṣeto ni o rọrun pupọ.

Ṣiṣayẹwo o n ṣiṣẹ ni Firefox

Niwọn igba ti a ṣe ohun gbogbo patapata ni Lainos, a yoo ro pe awọn olumulo wa tun ṣiṣẹ ni Linux (ti wọn ba ni Windows, lẹhinna wo awọn ilana fun eto awọn aṣawakiri ninu nkan ti tẹlẹ.

  1. Jẹ ki a ṣe ifilọlẹ Firefox.
  2. Jẹ ki a gbiyanju lati wọle laisi ami ami kan ni akọkọ. A gba aworan yii:

    Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

  3. A lọ si nipa: awọn ayanfẹ # asiri, a si lọ si Awọn ẹrọ aabo…
  4. Tẹ fifuyelati ṣafikun PKCS # 11 Awakọ Ẹrọ ati pato ọna si librtpkcs11ecp.so wa.
  5. Lati ṣayẹwo pe ijẹrisi naa han, o le lọ si Oluṣakoso ijẹrisi. O yoo ti ọ lati tẹ PIN rẹ sii. Lẹhin titẹ sii to tọ, o le ṣayẹwo ohun ti o wa lori taabu Awọn iwe-ẹri rẹ ijẹrisi wa lati aami han.
  6. Bayi jẹ ki a lọ pẹlu ami naa. Firefox tọ ọ lati yan ijẹrisi ti yoo yan fun olupin naa. Yan iwe-ẹri wa.

    Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

  7. Frè!

    Ijeri meji-ifosiwewe lori ojula nipa lilo a USB àmi. Bayi tun fun Linux

Eto naa ti ṣe ni ẹẹkan, ati bi o ti le rii ninu window ibeere ijẹrisi, a le ṣafipamọ yiyan wa. Lẹhin eyi, ni gbogbo igba ti a ba wọle si ọna abawọle, a yoo nilo lati fi ami-ami sii nikan ki o tẹ koodu PIN olumulo ti o jẹ pato lakoko kika. Lẹhin iru ijẹrisi bẹẹ, olupin naa ti mọ iru olumulo ti o wọle ati pe o ko le ṣẹda eyikeyi awọn window afikun fun ijẹrisi, ṣugbọn lẹsẹkẹsẹ jẹ ki olumulo sinu akọọlẹ ti ara ẹni.

afun

Gẹgẹ bii pẹlu nginx, ko si ẹnikan ti o yẹ ki o ni awọn iṣoro eyikeyi fifi sori ẹrọ apache. Ti o ko ba mọ bi o ṣe le fi olupin wẹẹbu yii sori ẹrọ, kan lo iwe aṣẹ osise.

Ati pe a bẹrẹ iṣeto HTTPS wa ati ijẹrisi ifosiwewe meji:

  1. Ni akọkọ o nilo lati mu mod_ssl ṣiṣẹ:
    $ a2enmod ssl
  2. Ati lẹhinna mu awọn eto HTTPS aiyipada aaye naa ṣiṣẹ:
    $ a2ensite default-ssl
  3. Bayi a ṣatunkọ faili iṣeto ni: /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

    Bii o ti le rii, awọn orukọ ti awọn paramita ni adaṣe ni ibamu pẹlu awọn orukọ ti awọn paramita ni nginx, nitorinaa Emi kii yoo ṣalaye wọn. Lẹẹkansi, ẹnikẹni ti o nifẹ si awọn alaye jẹ itẹwọgba si iwe-ipamọ naa.
    Bayi a tun bẹrẹ olupin wa:

    $ service apache2 reload
    $ service apache2 restart

  4. Bi o ṣe le rii, ṣeto iṣeduro awọn ifosiwewe meji lori olupin wẹẹbu eyikeyi, boya ni Windows tabi Lainos, jẹ ọrọ ti o pọju wakati kan. Ati eto awọn aṣawakiri gba to iṣẹju marun. Ọpọlọpọ eniyan ro pe iṣeto ati ṣiṣẹ pẹlu ijẹrisi ifosiwewe meji jẹ nira ati koyewa. Mo nireti pe nkan wa jẹ arosọ yii, o kere ju diẹ.

Awọn olumulo ti o forukọsilẹ nikan le kopa ninu iwadi naa. wọle, Jowo.

Ṣe o nilo awọn ilana fun iṣeto TLS pẹlu awọn iwe-ẹri ni ibamu si GOST 34.10-2012:

  • Bẹẹni, TLS-GOST jẹ pataki pupọ

  • Rara, yiyi pẹlu awọn algoridimu GOST kii ṣe igbadun

44 olumulo dibo. 9 olumulo abstained.

orisun: www.habr.com

Fi ọrọìwòye kun