ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux
В kekahi o kā mākou ʻatikala mua ua kamaʻilio mākou e pili ana i ke koʻikoʻi o ka hōʻoia ʻana i ʻelua mau mea ma nā puka pā o nā hui. I ka manawa hope ua hōʻike mākou pehea e hoʻonohonoho ai i ka hōʻoia paʻa i ka pūnaewele IIS.

Ma nā ʻōlelo, ua noi ʻia mākou e kākau i nā ʻōlelo aʻoaʻo no nā kikowaena pūnaewele maʻamau no Linux - nginx a me Apache.

Nīnau ʻoe - kākau mākou.

He aha kāu e pono ai e hoʻomaka?

  • ʻO kēlā me kēia māhele Linux hou. Ua hana au i kahi hoʻonohonoho hoʻāʻo ma MX Linux 18.2_x64. ʻOiaʻiʻo ʻaʻole kēia he mahele kikowaena, akā ʻaʻole paha he ʻokoʻa no Debian. No nā māhele ʻē aʻe, ʻokoʻa iki nā ala i nā waihona waihona.
  • hōʻailona. Ke hoʻohana nei mākou i ke kumu hoʻohālike Rutoken EDS PKI, ka mea kūpono i nā ʻano o ka wikiwiki no ka hoʻohana ʻana i ka hui.
  • No ka hana ʻana me kahi hōʻailona ma Linux, pono ʻoe e hoʻokomo i kēia mau pūʻolo:
    libccid libpcsclite1 pcscd pcsc-mea hana opensc

ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

Ka hoopuka ana i na palapala

Ma nā ʻatikala ma mua, ua hilinaʻi mākou i ka ʻoiaʻiʻo e hoʻopuka ʻia nā palapala hōʻoia server a me nā mea kūʻai aku me ka hoʻohana ʻana iā Microsoft CA. Akā ʻoiai mākou e hoʻonohonoho nei i nā mea āpau ma Linux, e haʻi pū mākou iā ʻoe e pili ana i kahi ala ʻē aʻe e hoʻopuka ai i kēia mau palapala hōʻoia - me ka haʻalele ʻole iā Linux.
E hoʻohana mākou i ka XCA e like me CA (https://hohnstaedt.de/xca/), i loaʻa ma kekahi mahele Linux hou. Hiki ke hana ʻia nā hana āpau a mākou e hana ai ma XCA ma ke ʻano laina kauoha me ka hoʻohana ʻana i nā pono hana OpenSSL a me pkcs11, akā no ka maʻalahi a me ka maopopo, ʻaʻole mākou e hōʻike iā lākou i kēia ʻatikala.

noho hoʻomaka 'ana

  1. E hoʻouka:
    $ apt-get install xca
  2. A holo mākou:
    $ xca
  3. Hana mākou i kā mākou waihona no CA - /root/CA.xdb
    Manaʻo mākou e mālama i ka waihona palapala Mana Mana i loko o kahi waihona kahi i hiki ai i ka luna hoʻomalu ke komo. He mea nui kēia no ka pale ʻana i nā kī pilikino o nā palapala kumu, i hoʻohana ʻia e kau inoa i nā palapala ʻē aʻe a pau.

E hana i nā kī a me ka palapala kumu CA

Hoʻokumu ʻia kahi ʻōnaehana kī lehulehu (PKI) ma kahi ʻōnaehana hierarchical. ʻO ka mea nui i kēia ʻōnaehana ʻo ka mana hōʻoia kumu a i ʻole ke kumu CA. Pono e hana mua ʻia kāna palapala hōʻoia.

  1. Hana mākou i kahi kī pilikino RSA-2048 no ka CA. No ka hana ʻana i kēia, ma ka pā Nā kī pilikino paʻi Ki hou a koho i ke ʻano kūpono.
  2. E hoʻonoho i inoa no ka hui kī hou. Ua kapa au iā ia ʻo CA Key.
  3. Hoʻopuka mākou i ka palapala CA ponoʻī, me ka hoʻohana ʻana i ka pālua kī i hana ʻia. No ka hana ʻana i kēia, hele i ka pā palapala a kaomi Palapala Hou.
  4. E koho pono SHA-256, no ka mea, ʻaʻole hiki ke manaʻo ʻia he palekana ka hoʻohana ʻana iā SHA-1.
  5. E koho ma ke ʻano he laʻana [paʻamau]CA. Mai poina e kaomi ma luna E noi i nā mea a pau, inā ʻaʻole hoʻohana ʻia ke ʻano hoʻohālike.
  6. I ka kapu Ke kumuhana Ke koho i kā mākou kī kī. Ma laila hiki iā ʻoe ke hoʻopiha i nā kahua nui o ka palapala hōʻoia.

ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

Ke hana nei i nā kī a me kahi palapala kikowaena https

  1. Ma keʻano like, hana mākou i kahi kī pilikino RSA-2048 no ke kikowaena, kapa wau iā ia Server Key.
  2. I ka hana ʻana i kahi palapala hōʻoia, koho mākou e kau inoa ʻia ka palapala kikowaena me kahi palapala CA.
  3. Mai poina e koho SHA-256.
  4. Koho mākou ma ke ʻano he laʻana [paʻamau] HTTPS_server. Kaomi ma E noi i nā mea a pau.
  5. A laila ma ka pā Ke kumuhana Ke koho i kā mākou kī a hoʻopiha i nā kahua i makemake ʻia.

ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

E hana i nā kī a me ka palapala hōʻoia no ka mea hoʻohana

  1. E mālama ʻia ke kī pilikino o ka mea hoʻohana ma kā mākou hōʻailona. No ka hana pū me ia, pono ʻoe e hoʻokomo i ka waihona PKCS#11 mai kā mākou pūnaewele. No nā māhele kaulana, hāʻawi mākou i nā pūʻolo i mākaukau, aia ma aneʻi - https://www.rutoken.ru/support/download/pkcs/. Loaʻa iā mākou nā hui no arm64, armv7el, armv7hf, e2k, mipso32el, hiki ke hoʻoiho ʻia mai kā mākou SDK - https://www.rutoken.ru/developers/sdk/. Ma kahi o nā hui no Linux, aia kekahi mau hui no macOS, freebsd a me Android.
  2. Hoʻohui i kahi mea hoʻolako PKCS#11 hou iā XCA. No ka hana ʻana i kēia, hele i ka papa kuhikuhi nā koho i ka papa PKCS#11 Mea hoʻolako.
  3. Kaomi Hoʻohui a koho i ke ala i ka waihona PKCS#11. I koʻu hihia ʻo ia ʻo usrliblibrtpkcs11ecp.so.
  4. Pono mākou i kahi hōʻailona Rutoken EDS PKI. Hoʻoiho i ka pono rtAdmin - https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615
  5. Hoʻopau mākou
    $ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u <PIN-код пользователя>
  6. Koho mākou i ke kī RSA-2048 no ka Rutoken EDS PKI ma ke ʻano kī. Ua kāhea au i kēia kī Client Key.

    ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

  7. E hoʻokomo i ka helu PIN. A ke kali nei mākou no ka hoʻopau ʻana i ka hana ʻana o ka lako kī

    ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

  8. Hana mākou i palapala hōʻoia no ka mea hoʻohana ma ka hoʻohālikelike me ka palapala kikowaena. I kēia manawa koho mākou i kahi mamana [paʻamau] HTTPS_client a mai poina e kaomi E noi i nā mea a pau.
  9. I ka kapu Ke kumuhana Ke hoʻokomo i ka ʻike e pili ana i ka mea hoʻohana. Pane mākou ma ka ʻae ʻana i ka noi e mālama i ka palapala hōʻoia no ka hōʻailona.

ʻO ka hopena, ma ka pā Palapala ma XCA pono ʻoe e loaʻa i kahi mea e like me kēia.

ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux
Ua lawa kēia hoʻonohonoho liʻiliʻi o nā kī a me nā palapala hōʻoia e hoʻomaka ai e hoʻonohonoho i nā kikowaena iā lākou iho.

No ka hoʻonohonoho ʻana, pono mākou e hoʻokuʻu i ka palapala CA, palapala kikowaena a me ke kī pilikino kikowaena.

No ka hana ʻana i kēia, koho i ke komo i makemake ʻia ma ka ʻaoʻao pili i XCA a kaomi mea hoʻolilo.

Nginx

ʻAʻole wau e kākau e pili ana i ka hoʻouka ʻana a me ka holo ʻana i kahi kikowaena nginx - ua lawa nā ʻatikala e pili ana i kēia kumuhana ma ka Pūnaewele, ʻaʻole e haʻi i ka palapala mana. E hele pololei kākou i ka hoʻonohonoho ʻana i ka HTTPS a me ka hōʻoia ʻelua kumu me ka hoʻohana ʻana i kahi hōʻailona.

Hoʻohui i kēia mau laina i ka ʻāpana kikowaena ma 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;
}

Hiki ke loaʻa kahi wehewehe kikoʻī o nā ʻāpana āpau e pili ana i ka hoʻonohonoho ʻana i ka ssl ma nginx ma aneʻi - https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_client_certificate

E wehewehe pōkole wau i nā mea aʻu i nīnau ai iaʻu iho:

  • ssl_verify_client - e hōʻoia i ke kaulahao o ka hilinaʻi no ka palapala hōʻoia pono e hōʻoia.
  • ssl_verify_depth - E wehewehe i ka hohonu o ka ʻimi no ka palapala aʻa hilinaʻi ma ke kaulahao. Ma muli o ka hoʻopaʻa inoa koke ʻana o kā mākou mea kūʻai aku ma ka palapala kumu, ua hoʻonohonoho ʻia ka hohonu i 1. Inā kau inoa ʻia ka palapala mea hoʻohana ma kahi CA waena, pono e kuhikuhi ʻia ʻo 2 i kēia ʻāpana, a pēlā aku.
  • ssl_client_certificate - kuhikuhi i ke ala i ka palapala kumu hilinaʻi, i hoʻohana ʻia i ka nānā ʻana i ka hilinaʻi i ka palapala hoʻohana.
  • ssl_certificate/ssl_certificate_key - hōʻike i ke ala e hele ai i ka palapala hōʻoia / kī pilikino.

Mai poina e holo i ka nginx -t e nānā inā ʻaʻohe typos i ka config, a aia nā faila āpau ma kahi kūpono, a pēlā aku.

A ʻo ia wale nō! E like me kāu e ʻike ai, maʻalahi loa ka hoʻonohonoho.

Ke nānā nei i ka hana ʻana ma Firefox

No ka mea, hana mākou i nā mea āpau ma Linux, manaʻo mākou e hana pū kā mākou mea hoʻohana ma Linux (inā loaʻa iā lākou Windows, a laila e ʻike i nā kuhikuhi no ka hoʻonohonoho ʻana i nā polokalamu kele pūnaewele ma ka ʻatikala mua.

  1. E hoʻomaka kākou iā Firefox.
  2. E ho'āʻo kākou e komo me ka ʻole o ka hōʻailona mua. Loaʻa iā mākou kēia kiʻi:

    ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

  3. Ua hele mākou e pili ana: makemake makemake # huna, a hele mākou i Nā lako palekana…
  4. Kaomi haawee hoʻohui i kahi Keaukaha Mea PKCS#11 hou a e kuhikuhi i ke ala i kā mākou librtpkcs11ecp.so.
  5. No ka hōʻoia i ʻike ʻia ka palapala hōʻoia, hiki iā ʻoe ke hele i Pule Hoʻomaopopo. E koi ʻia ʻoe e hoʻokomo i kāu PIN. Ma hope o ka hoʻokomo pololei, hiki iā ʻoe ke nānā i ka mea ma ka pā ʻO kāu mau palapala hōʻoia ua ʻike ʻia kā mākou palapala hōʻailona mai ka hōʻailona.
  6. E hele kāua me ka hōʻailona. Koi ʻo Firefox iā ʻoe e koho i kahi palapala hōʻoia e koho ʻia no ke kikowaena. E koho i kā mākou palapala hōʻoia.

    ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

  7. POMAIKAI!

    ʻElua mau kumu hōʻoia ma ka pūnaewele me ka hoʻohana ʻana i kahi hōʻailona USB. I kēia manawa no Linux

Hana ʻia ka hoʻonohonoho hoʻokahi, a e like me kāu e ʻike ai ma ka puka noi palapala hōʻoia, hiki iā mākou ke mālama i kā mākou koho. Ma hope o kēia, i kēlā me kēia manawa mākou e komo ai i loko o ka portal, pono mākou e hoʻokomo i kahi hōʻailona a hoʻokomo i ka code PIN mea hoʻohana i kuhikuhi ʻia i ka wā o ka hoʻopili ʻana. Ma hope o ka hōʻoia ʻana, ua ʻike mua ke kikowaena i ka mea hoʻohana i komo a ʻaʻole hiki iā ʻoe ke hana hou i nā puka makani hou no ka hōʻoia, akā e hoʻokuʻu koke i ka mea hoʻohana i kāna moʻokāki pilikino.

Apache

E like me ka nginx, ʻaʻohe pilikia e hoʻokomo i ka apache. Inā ʻaʻole ʻoe ʻike pehea e hoʻokomo ai i kēia kikowaena pūnaewele, e hoʻohana wale i ka palapala mana.

A hoʻomaka mākou e hoʻonohonoho i kā mākou HTTPS a me ka hōʻoia ʻelua kumu:

  1. Pono mua ʻoe e hoʻāla i mod_ssl:
    $ a2enmod ssl
  2. A laila hiki iā ʻoe ke hoʻonohonoho i nā hoʻonohonoho HTTPS paʻamau o ka pūnaewele:
    $ a2ensite default-ssl
  3. I kēia manawa, hoʻoponopono mākou i ka faila hoʻonohonoho: /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

    E like me kāu e ʻike ai, pili like nā inoa o nā ʻāpana me nā inoa o nā ʻāpana i ka nginx, no laila ʻaʻole wau e wehewehe iā lākou. Eia hou, ʻoluʻolu ka mea makemake i nā kikoʻī i ka palapala.
    I kēia manawa, hoʻomaka hou mākou i kā mākou kikowaena:

    $ service apache2 reload
    $ service apache2 restart

  4. E like me kāu e ʻike ai, ʻo ka hoʻonohonoho ʻana i ka hōʻoia ʻelua kumu ma kekahi kikowaena pūnaewele, inā ma Windows a Linux paha, hoʻokahi hola ka lōʻihi. A ʻo ka hoʻonohonoho ʻana i nā polokalamu kele ma kahi o 5 mau minuke. Manaʻo ka poʻe he paʻakikī a maopopo ʻole ka hoʻonohonoho ʻana a me ka hana ʻana me ka hōʻoia ʻelua kumu. Manaʻo wau e hōʻole kā mākou ʻatikala i kēia moʻolelo, ma kahi liʻiliʻi.

Hiki i nā mea hoʻohana i hoʻopaʻa inoa ʻia ke komo i ka noiʻi. Eʻe, e 'oluʻolu.

Pono ʻoe i nā kuhikuhi no ka hoʻonohonoho ʻana i ka TLS me nā palapala hōʻoia e like me GOST 34.10-2012:

  • ʻAe, pono loa ʻo TLS-GOST

  • ʻAʻole, ʻaʻole hoihoi ke kani ʻana me GOST algorithms

44 mea hoʻohana i koho. Ua hōʻole nā ​​mea hoʻohana 9.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka