Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux
В otu n'ime akụkọ anyị gara aga anyị na-ekwu maka mkpa nke nyocha ihe abụọ na ọnụ ụzọ ụlọ ọrụ nke ụlọ ọrụ. Oge ikpeazụ anyị gosipụtara otu esi edobe nkwenye echedoro na sava weebụ IIS.

N'okwu ndị a, a gwara anyị ka anyị dee ntuziaka maka sava weebụ kachasị maka Linux - nginx na Apache.

Ị jụrụ - anyị dere.

Kedu ihe ị ga-achọ ịmalite?

  • Nkesa Linux ọgbara ọhụrụ ọ bụla. Emere m nhazi ule na MX Linux 18.2_x64. Nke a abụghị nkesa nkesa, mana enwere ike inwe ọdịiche ọ bụla maka Debian. Maka nkesa ndị ọzọ, ụzọ gaa na ọba akwụkwọ nhazi nwere ike ịdị iche iche.
  • Token. Anyị na-anọgide na-eji ihe nlereanya Rutoken EDS PKI, nke dị mma na njirimara ọsọ ọsọ maka ụlọ ọrụ.
  • Iji rụọ ọrụ na token na Linux, ịkwesịrị ịwụnye ngwugwu ndị a:
    libccid libpcsclite1 pcscd pcsc-ngwaọrụ opensc

Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

Na-enye asambodo

N'isiokwu ndị gara aga, anyị dabere na eziokwu ahụ bụ na a ga-enye ihe nkesa na asambodo ndị ahịa site na iji Microsoft CA. Mana ebe anyị na-ahazi ihe niile na Linux, anyị ga-agwakwa gị maka ụzọ ọzọ ị ga-esi nye asambodo ndị a - na-ahapụghị Linux.
Anyị ga-eji XCA dị ka CA (https://hohnstaedt.de/xca/), nke dị na nkesa Linux ọgbara ọhụrụ ọ bụla. Omume niile anyị ga-eme na XCA nwere ike ịme ya na usoro ahịrị iwu site na iji OpenSSL na pkcs11-tool utilities, mana maka ịdị mfe na idoanya ka ukwuu, anyị agaghị ewetara ha n'isiokwu a.

-amalite Amalite

  1. Wụnye:
    $ apt-get install xca
  2. Ma anyị na-agba ọsọ:
    $ xca
  3. Anyị na-emepụta nchekwa data anyị maka CA - /root/CA.xdb
    Anyị na-akwado ichekwa nchekwa data ikike ikike na nchekwa ebe naanị onye nchịkwa nwere ohere. Nke a dị mkpa iji chebe igodo nzuzo nke asambodo mgbọrọgwụ, nke a na-eji banye asambodo ndị ọzọ niile.

Mepụta igodo na mgbọrọgwụ ca akwụkwọ

Akụrụngwa igodo ọha (PKI) dabere na usoro nhazi ọkwa. Isi ihe na usoro a bụ ikike asambodo mgbọrọgwụ ma ọ bụ mgbọrọgwụ CA. A ga-ebu ụzọ mepụta asambodo ya.

  1. Anyị na-emepụta igodo nzuzo RSA-2048 maka CA. Iji mee nke a, na taabụ Igodo nkeonwe Kwaa Igodo ọhụrụ ma họrọ ụdị kwesịrị ekwesị.
  2. Tọọ aha maka ụzọ igodo ọhụrụ ahụ. Akpọrọ m ya CA Key.
  3. Anyị na-enye asambodo CA n'onwe ya, na-eji ụzọ igodo emepụtara. Iji mee nke a, gaa na taabụ Asambodo wee pịa Akwụkwọ ọhụrụ.
  4. Jide n'aka na ị ga-ahọrọ SHA-256, n'ihi na iji SHA-1 enwekwaghị ike iche na ọ dị mma.
  5. Jide n'aka na ịhọrọ dị ka template [nke ndabara] CA. Echefula ịpịa Tinye ihe niile, ma ọ bụghị na template adịghị etinye.
  6. Na taabụ isiokwu họrọ ụzọ igodo anyị. N'ebe ahụ ị nwere ike dejupụta niile isi ubi nke akwụkwọ.

Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

Ịmepụta igodo na asambodo sava https

  1. N'otu aka ahụ, anyị na-emepụta igodo nzuzo RSA-2048 maka ihe nkesa ahụ, akpọrọ m ya igodo Server.
  2. Mgbe ị na-eke asambodo, anyị na-ahọrọ na asambodo nkesa ga-ejiri asambodo CA bịanye aka na ya.
  3. Echefula ịhọrọ SHA-256.
  4. Anyị na-ahọrọ dị ka template [ndabere] HTTPS_server. Pịa na Tinye ihe niile.
  5. Mgbe ahụ na taabụ isiokwu họrọ igodo anyị wee dejupụta mpaghara achọrọ.

Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

Mepụta igodo na asambodo maka onye ọrụ

  1. A ga-echekwa igodo nzuzo nke onye ọrụ na token anyị. Iji rụọ ọrụ na ya, ịkwesịrị ịwụnye ọba akwụkwọ PKCS#11 site na webụsaịtị anyị. Maka nkesa na-ewu ewu, anyị na-ekesa ngwugwu emebere, nke dị ebe a - https://www.rutoken.ru/support/download/pkcs/. Anyị nwekwara mgbakọ maka arm64, armv7el, armv7hf, e2k, mipso32el, nke enwere ike ibudata na SDK anyị - https://www.rutoken.ru/developers/sdk/. Na mgbakwunye na mgbakọ maka Linux, enwekwara mgbakọ maka macOS, freebsd na android.
  2. Na-agbakwunye onye na-eweta PKCS#11 ọhụrụ na XCA. Iji mee nke a, gaa na menu Nhọrọ na taabụ PKCS#11 Onye na-eweta.
  3. Anyị pịa tinye wee họrọ ụzọ gaa n'ọbá akwụkwọ PKCS#11. N'okwu m ọ bụ usrliblibrtpkcs11ecp.so.
  4. Anyị ga-achọ akara ngosi Rutoken EDS PKI emebere. Budata ngwa rtAdmin - https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615
  5. Anyị na-ebupụ
    $ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u <PIN-код пользователя>
  6. Anyị na-ahọrọ igodo RSA-2048 maka Rutoken EDS PKI dị ka ụdị igodo. Akpọrọ m igodo a igodo Client.

    Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

  7. Tinye koodu PIN. Ma anyị na-echere mmecha nke ngwaike ọgbọ nke isi ụzọ

    Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

  8. Anyị na-emepụta asambodo maka onye ọrụ site na ntụnyere na akwụkwọ nkesa. Oge a anyị na-ahọrọ template [ndabere] HTTPS_client ma echefukwala ịpị Tinye ihe niile.
  9. Na taabụ isiokwu tinye ozi gbasara onye ọrụ. Anyị na-aza na nkwenye nke arịrịọ ahụ iji chekwaa akwụkwọ maka akara ngosi ahụ.

N'ihi ya, na taabụ Nkedo na XCA ị ga-enweta ihe dị ka nke a.

Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux
Nke a kacha nta nke igodo na asambodo ezuru ịmalite ịtọlite ​​​​sava n'onwe ha.

Iji hazie, anyị kwesịrị ibupu asambodo CA, akwụkwọ nkesa na igodo nzuzo nke ihe nkesa.

Iji mee nke a, họrọ ntinye achọrọ na taabụ kwekọrọ na XCA wee pịa Export.

Nginx

Agaghị m ede otu esi etinye ma na-agba ọsọ nginx nkesa - enwere akụkọ zuru ezu na isiokwu a na ịntanetị, ọ bụghị ịkọwa akwụkwọ gọọmentị. Ka anyị kwụ ọtọ n'ịhazi HTTPS na nyocha ihe abụọ site na iji token.

Tinye ahịrị ndị a na ngalaba nkesa na 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;
}

Enwere ike ịchọta nkọwa zuru ezu nke paramita niile metụtara nhazi ssl na nginx ebe a - https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_client_certificate

M ga-akọwa nkenke nkenke ndị ahụ m jụrụ onwe m:

  • ssl_verify_client - ezipụta na usoro ntụkwasị obi maka asambodo kwesịrị ka enyocha ya.
  • ssl_verify_depth - Akọwapụta omimi ọchụchọ maka akwụkwọ mgbọrọgwụ ntụkwasị obi na agbụ. Ebe ọ bụ na anyị ahịa akwụkwọ ozugbo bịanyere aka na mgbọrọgwụ akwụkwọ, omimi ka atọrọ 1. Ọ bụrụ na onye ọrụ akwụkwọ aka na ihe intermediate CA, mgbe ahụ, 2 ga-kpọmkwem na nke a oke, na na.
  • ssl_client_certificate - ezipụta ụzọ gaa na asambodo mgbọrọgwụ ntụkwasị obi, nke a na-eji mgbe ị na-elele ntụkwasị obi na asambodo onye ọrụ.
  • ssl_certificate/ssl_certificate_key - gosi ụzọ akwụkwọ ozi/ igodo nzuzo.

Echefula ịgba ọsọ nginx -t iji lelee na enweghị typos na nhazi ahụ, yana faịlụ niile dị n'ebe kwesịrị ekwesị, na ihe ndị ọzọ.

Ma nke ahụ bụ ihe niile! Dị ka ị pụrụ ịhụ, ntọlite ​​​​dị nnọọ mfe.

Lelee na ọ na-arụ ọrụ na Firefox

Ebe anyị na-eme ihe niile kpamkpam na Linux, anyị ga-eche na ndị ọrụ anyị na-arụkwa ọrụ na Linux (ọ bụrụ na ha nwere Windows, mgbe ahụ hụ ntuziaka maka ịtọlite ​​​​nchọgharị na edemede gara aga.

  1. Ka anyị malite Firefox.
  2. Ka anyị gbalịa ibu ụzọ banye na-enweghị akara. Anyị nwetara foto a:

    Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

  3. Anyị na-aga n'ihu banyere: mmasị # nzuzo, na anyị na-aga Ngwaọrụ nchekwa…
  4. Anyị pịa ibuịgbakwunye PKCS#11 Onye ọkwọ ụgbọala ngwaọrụ wee kọwaa ụzọ anyị ga-esi librtpkcs11ecp.so.
  5. Ka ịlele na a na-ahụ asambodo ahụ, ị ​​nwere ike ịga Njikwa Asambodo. A ga-akpali gị itinye PIN gị. Mgbe ntinye ziri ezi, ị nwere ike ịlele ihe dị na taabụ Asambodo gị asambodo anyị sitere na token pụtara.
  6. Ugbu a, ka anyị jiri token gaa. Firefox na-akpali gị ịhọrọ asambodo nke a ga-ahọrọ maka ihe nkesa ahụ. Họrọ asambodo anyị.

    Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

  7. PROFIT!

    Nyocha nke ihe abụọ na saịtị ahụ site na iji akara USB. Ugbu a kwa maka Linux

The ntọlite ​​na-mere otu ugboro, na dị ka ị pụrụ ịhụ na akwụkwọ arịrịọ window, anyị nwere ike ịzọpụta anyị nhọrọ. Mgbe nke a gasịrị, oge ọ bụla anyị na-abanye na portal, anyị ga-achọ naanị itinye token wee tinye koodu PIN onye ọrụ nke akọwapụtara n'oge nhazi. Mgbe nkwenye dị otú ahụ gasịrị, ihe nkesa ahụ amaralarị onye ọrụ abanyela ma ị nweghị ike ịmepụta windo ọzọ maka nkwenye, ma hapụ onye ọrụ ozugbo na akaụntụ nkeonwe ya.

Apache

Dị ka ọ dị na nginx, ọ dịghị onye kwesịrị inwe nsogbu ọ bụla ịwụnye apache. Ọ bụrụ na ịmaghị ka esi etinye sava weebụ a, jiri naanị akwụkwọ gọọmentị.

Ma anyị na-amalite ịtọlite ​​​​ HTTPS anyị na nyocha ihe abụọ:

  1. Mbụ ịkwesịrị ịgbalite mod_ssl:
    $ a2enmod ssl
  2. Wee mee ka ntọala HTTPS ndabara nke saịtị ahụ:
    $ a2ensite default-ssl
  3. Ugbu a, anyị na-edezi faịlụ nhazi: /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

    Dị ka ị na-ahụ, aha paramita na-adaba na aha paramita dị na nginx, yabụ agaghị m akọwa ha. Ọzọ, onye ọ bụla nwere mmasị na nkọwa ndị a nabatara akwụkwọ.
    Ugbu a, anyị malitegharịrị ihe nkesa anyị:

    $ service apache2 reload
    $ service apache2 restart

  4. Dị ka ị na-ahụ, ịtọlite ​​​​nnwale ihe abụọ na sava weebụ ọ bụla, ma na Windows ma ọ bụ Linux, na-ewe otu awa kacha. Na ịtọlite ​​ihe nchọgharị na-ewe ihe dịka nkeji ise. Ọtụtụ ndị mmadụ na-eche na ịtọlite ​​​​na ịrụ ọrụ na njirimara ihe abụọ siri ike na edoghị anya. Enwere m olileanya na akụkọ anyị debuns akụkọ ifo a, ọbụlagodi ntakịrị.

Naanị ndị ọrụ edebanyere aha nwere ike isonye na nyocha a. banye, Biko.

Ị chọrọ ntuziaka maka ịtọlite ​​​​TLS na asambodo dịka GOST 34.10-2012 si dị:

  • Ee, TLS-GOST dị ezigbo mkpa

  • Ee e, n'iji ya gee ntị na GOST algọridim adịghị amasị

Ndị ọrụ 44 họpụtara. Ndị ọrụ 9 anabataghị.

isi: www.habr.com

Tinye a comment