Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux
В e 'ngoe ea lihlooho tsa rona tse fetileng re buile ka bohlokoa ba ho netefatsa lintlha tse peli ho li-portal tsa khoebo tsa lik'hamphani. Lekhetlong la ho qetela re bonts'itse mokhoa oa ho theha netefatso e sireletsehileng ho seva sa webo sa IIS.

Litlhalosong, re ile ra kōptjoa ho ngola litaelo bakeng sa li-server tse tloaelehileng tsa websaete bakeng sa Linux - nginx le Apache.

U ile ua botsa - re ngotse.

U hloka eng hore u qale?

  • Kabo efe kapa efe ea sejoale-joale ea Linux. Ke entse tlhahlobo ea tlhahlobo ho MX Linux 18.2_x64. Ha e le hantle sena ha se kabo ea seva, empa ha ho na monyetla oa hore ho be le liphapang bakeng sa Debian. Bakeng sa likhatiso tse ling, litsela tse eang lilaebraring tsa config li ka fapana hanyane.
  • Letshwao. Re tsoela pele ho sebelisa mohlala Rutoken EDS PKI, e loketseng ho latela litšobotsi tsa lebelo bakeng sa tšebeliso ea lik'hamphani.
  • Ho sebetsa le token ho Linux, o hloka ho kenya liphutheloana tse latelang:
    libccid libpcsclite1 pcscd lisebelisoa tsa lisebelisoa opensc

Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

Ho fana ka litifikeiti

Lingoliloeng tse fetileng, re ne re tšepile taba ea hore litifikeiti tsa seva le bareki li tla fanoa ho sebelisoa Microsoft CA. Empa kaha re ntse re hlophisa ntho e ngoe le e ngoe ho Linux, re tla u joetsa hape ka mokhoa o mong oa ho fana ka litifikeiti tsena - ntle le ho tloha Linux.
Re tla sebelisa XCA joalo ka CA (https://hohnstaedt.de/xca/), e fumanehang kabong efe kapa efe ea sejoale-joale ea Linux. Liketso tsohle tseo re tla li etsa ho XCA li ka etsoa ka mokhoa oa taelo ea litaelo ho sebelisa lisebelisoa tsa OpenSSL le pkcs11, empa bakeng sa bonolo le ho hlaka haholoanyane, re ke ke ra li hlahisa sehloohong sena.

Ho qala

  1. Kenya:
    $ apt-get install xca
  2. 'Me re matha:
    $ xca
  3. Re theha database ea rona bakeng sa CA - /root/CA.xdb
    Re khothaletsa ho boloka Bolaoli ba Setifikeiti foldareng moo ho nang le phihlello ea molaoli feela. Sena se bohlokoa ho sireletsa linotlolo tsa poraefete tsa setifikeiti sa motso, tse sebelisoang ho saena litifikeiti tse ling kaofela.

Theha linotlolo le setifikeiti sa CA sa motso

Meaho ea motheo ea sechaba (PKI) e thehiloe holim'a tsamaiso ea maemo a phahameng. Ntho e ka sehloohong tsamaisong ena ke bolaoli ba setifikeiti sa motso kapa motso oa CA. Setifikeiti sa eona se tlameha ho etsoa pele.

  1. Re theha senotlolo sa lekunutu sa RSA-2048 bakeng sa CA. Ho etsa sena, tobetsa konopo Malebela a Boinotšing Sututsa Senotlolo se secha ebe u khetha mofuta o nepahetseng.
  2. Beha lebitso bakeng sa li-key pair tse ncha. Ke e bitsitse CA Key.
  3. Re fana ka setifikeiti sa CA ka bosona, re sebelisa li-key pair tse entsoeng. Ho etsa sena, e ea ho tab disetifikeiti ebe oa tobetsa Setifikeiti se Secha.
  4. Etsa bonnete ba ho khetha SHA-256, hobane ho sebelisa SHA-1 ho ke ke ha hlola ho nkoa ho bolokehile.
  5. Etsa bonnete ba hore u khetha e le template [ea kamehla]CA. U se ke ua lebala ho tobetsa Sebetsa kaofela, ho seng joalo template ha e sebelisoe.
  6. Tabeng Sehlooho khetha para ea rona ea bohlokoa. Ha u le moo u ka tlatsa likarolo tsohle tse kholo tsa setifikeiti.

Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

Ho etsa linotlolo le setifikeiti sa seva sa https

  1. Ka mokhoa o ts'oanang, re theha senotlolo sa lekunutu sa RSA-2048 bakeng sa seva, ke se bitsitse Server Key.
  2. Ha re theha setifikeiti, re khetha hore setifikeiti sa seva se tlameha ho tekenoa ka setifikeiti sa CA.
  3. U se ke ua lebala ho khetha SHA-256.
  4. Re khetha e le template [ea kamehla] HTTPS_server. Tobetsa ho Sebetsa kaofela.
  5. Ebe ho tab Sehlooho khetha senotlolo sa rona 'me u tlatse libaka tse hlokahalang.

Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

Etsa linotlolo le setifikeiti bakeng sa mosebedisi

  1. Senotlolo sa lekunutu sa mosebelisi se tla bolokoa ho tokeneng ea rona. Ho sebetsa le eona, o hloka ho kenya laeborari ea PKCS#11 sebakeng sa rona sa marang-rang. Bakeng sa likhatiso tse tsebahalang, re aba liphutheloana tse seng li entsoe, tse fumanehang mona - https://www.rutoken.ru/support/download/pkcs/. Re boetse re na le likopano tsa arm64, armv7el, armv7hf, e2k, mipso32el, tse ka khoasolloang ho SDK ea rona - https://www.rutoken.ru/developers/sdk/. Ntle le likopano tsa Linux, ho boetse ho na le likopano tsa macOS, freebsd le android.
  2. Ho eketsa PKCS#11 Provider to XCA. Ho etsa sena, e ea ho menu Options ho tab PKCS#11 Mofani.
  3. Re hatella Add ebe u khetha tsela e eang laebraring ea PKCS#11. Tabeng ea ka ke usrliblibrtpkcs11ecp.so.
  4. Re tla hloka token e hlophisitsoeng ea Rutoken EDS PKI. Khoasolla sesebelisoa sa rtAdmin - https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615
  5. Rea phetha
    $ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u <PIN-код пользователя>
  6. Re khetha senotlolo sa RSA-2048 bakeng sa Rutoken EDS PKI e le mofuta oa bohlokoa. Ke bitsitse senotlolo sena sa Client Key.

    Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

  7. Kenya PIN khoutu. 'Me re emetse ho phethoa ha tlhahiso ea hardware ea para ea bohlokoa

    Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

  8. Re theha setifikeiti sa mosebelisi ka papiso le setifikeiti sa seva. Lekhetlong lena re khetha template [ea kamehla] HTTPS_client 'me u se ke ua lebala ho tobetsa Sebetsa kaofela.
  9. Tabeng Sehlooho kenya lintlha ka mosebelisi. Re araba ka tumellano kopo ea ho boloka setifikeiti sa tokeneng.

Ka lebaka leo, ho tab Litifikeiti ho XCA o lokela ho fumana ntho e kang ena.

Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux
Sehlopha sena sa bonyane sa linotlolo le litifikeiti se lekane ho qala ho iketsetsa li-server ka botsona.

Ho lokisa, re hloka ho romella setifikeiti sa CA, setifikeiti sa seva le senotlolo sa lekunutu sa seva.

Ho etsa sena, khetha ntho eo u e batlang ho tab e tsamaisanang le XCA ebe o tobetsa Export.

Nginx

Nke ke ka ngola mokhoa oa ho kenya le ho tsamaisa seva sa nginx - ho na le lingoliloeng tse lekaneng ka taba ena ho Marang-rang, re sa bue ka litokomane tsa molao. Ha re emeng ka kotloloho ho theha HTTPS le netefatso ea lintlha tse peli re sebelisa lets'oao.

Kenya mela e latelang karolong ea seva ho 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;
}

Tlhaloso e qaqileng ea liparamente tsohle tse amanang le ho lokisa ssl ho nginx e ka fumanoa mona - https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_client_certificate

Ke tla hlalosa ka bokhutšoanyane feela tseo ke ileng ka ipotsa tsona:

  • ssl_verify_client - e hlalosa hore ketane ea tšepo bakeng sa setifikeiti e hloka ho netefatsoa.
  • ssl_verify_depth - E hlalosa botebo ba ho batla bakeng sa setifikeiti sa motso se tšeptjoang ka ketane. Kaha setifikeiti sa rona sa bareki se saennoe hang-hang ho setifikeiti sa motso, botebo bo behiloe ho 1. Haeba setifikeiti sa mosebedisi se saennoe ho CA e bohareng, joale 2 e tlameha ho boleloa ho parameter ena, joalo-joalo.
  • ssl_client_certificate - e hlalosa tsela e eang ho setifikeiti sa motso se tšeptjoang, se sebelisoang ha ho hlahlojoa tšepo ho setifikeiti sa mosebedisi.
  • ssl_certificate/ssl_certificate_key - bonts'a tsela e eang ho setifikeiti sa seva / senotlolo sa lekunutu.

U se ke ua lebala ho matha nginx -t ho hlahloba hore na ha ho na typos ho config, le hore lifaele tsohle li sebakeng se nepahetseng, joalo-joalo.

Mme ke phetho! Joalokaha u ka bona, ho seta ho bonolo haholo.

E hlahloba hore na e sebetsa ho Firefox

Kaha re etsa ntho e 'ngoe le e' ngoe ka ho feletseng Linux, re tla nahana hore basebelisi ba rona ba sebetsa le Linux (haeba ba na le Windows, joale bona litaelo tsa ho theha libatli sengolong se fetileng.

  1. Ha re qaleng Firefox.
  2. Ha re leke ho kena ntle le lets'oao pele. Re fumana setšoantšo sena:

    Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

  3. E ea ho ka: likhetho tsa #kunutu, 'me re ea ho Lisebelisoa tsa Tšireletso…
  4. Re hatella mojaroho eketsa PKCS#11 Device Driver le ho bolela tsela ea ho librtpkcs11ecp.so.
  5. Ho netefatsa hore setifikeiti sea bonahala, o ka ea ho Motsamaisi oa Setifikeiti. U tla kopuoa ho kenya PIN ea hau. Ka mor'a ho kenya letsoho ka nepo, u ka sheba se leng ho tab Litifikeiti tsa hau setifikeiti sa rona se tsoang letshwaong se hlahile.
  6. Jwale ha re tsamayeng le letshwao. Firefox e u khothaletsa ho khetha setifikeiti se tla khetheloa seva. Khetha setifikeiti sa rona.

    Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

  7. ETSAHALA!

    Netefatso ea lintlha tse peli sebakeng sa marang-rang u sebelisa lets'oao la USB. Hona joale le bakeng sa Linux

Ho seta ho etsoa hang, 'me joalo ka ha u bona fensetereng ea kopo ea setifikeiti, re ka boloka khetho ea rona. Ka mor'a sena, nako le nako ha re kena ka har'a portal, re tla hloka feela ho kenya letšoao le ho kenya khoutu ea PIN ea mosebedisi e boletsoeng nakong ea ho fomata. Kamora netefatso e joalo, seva se se se ntse se tseba hore na ke mosebelisi ofe ea keneng 'me ha u sa khona ho etsa lifensetere tse ling bakeng sa netefatso, empa hang-hang lumella mosebelisi ho kena akhaonteng ea hae.

Apache

Joalo ka nginx, ha ho motho ea lokelang ho ba le mathata a ho kenya apache. Haeba u sa tsebe ho kenya seva sena sa marang-rang, sebelisa feela litokomane tsa molao.

Mme re qala ho theha HTTPS ea rona le netefatso ea lintlha tse peli:

  1. Pele o hloka ho kenya mod_ssl:
    $ a2enmod ssl
  2. Ebe u nolofalletsa litlhophiso tsa HTTPS tsa sebaka sa marang-rang:
    $ a2ensite default-ssl
  3. Joale re hlophisa faele ea tlhophiso: /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

    Joalokaha u bona, mabitso a li-parameter a batla a lumellana le mabitso a li-parameter ho nginx, kahoo nke ke ka li hlalosa. Hape, mang kapa mang ea thahasellang lintlha o amohelehile litokomaneng.
    Joale re qala seva ea rona hape:

    $ service apache2 reload
    $ service apache2 restart

  4. Joalokaha u bona, ho theha netefatso ea lintlha tse peli ho seva efe kapa efe ea webo, ebang ke Windows kapa Linux, ho nka hora e le 'ngoe. 'Me ho theha libatli ho nka metsotso e ka bang 5. Batho ba bangata ba nahana hore ho theha le ho sebetsa ka netefatso ea lintlha tse peli ho thata ebile ha ho hlake. Ke tšepa hore sengoloa sa rona se hlakisa tšōmo ena, bonyane hanyenyane.

Ke basebelisi ba ngolisitsoeng feela ba ka kenyang letsoho phuputsong. kenaka kopo.

Na o hloka litaelo tsa ho theha TLS ka setifikeiti ho latela GOST 34.10-2012:

  • E, TLS-GOST e hlokahala haholo

  • Che, ho lokisa li-algorithms tsa GOST ha ho khahlise

Basebelisi ba 44 ba ile ba khetha. Basebelisi ba 9 ba ile ba hana.

Source: www.habr.com

Eketsa ka tlhaloso