Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux
В aon de na h-artaigilean againn roimhe bhruidhinn sinn mu cho cudromach sa tha dearbhadh dà-fhactaraidh air puirt corporra chompanaidhean. An turas mu dheireadh sheall sinn mar a stèidhicheas sinn dearbhadh tèarainte ann am frithealaiche lìn IIS.

Anns na beachdan, chaidh iarraidh oirnn stiùireadh a sgrìobhadh airson na frithealaichean lìn as cumanta airson Linux - nginx agus Apache.

Dh'fhaighnich thu - sgrìobh sinn.

Dè a dh'fheumas tu airson tòiseachadh?

  • Sgaoileadh Linux ùr-nodha sam bith. Rinn mi suidheachadh deuchainn air MX Linux 18.2_x64. Gu dearbh chan e cuairteachadh frithealaiche a tha seo, ach chan eil coltas ann gum bi eadar-dhealachaidhean sam bith ann airson Debian. Airson sgaoilidhean eile, faodaidh na slighean gu na leabharlannan config atharrachadh beagan.
  • Tòcan. Tha sinn a 'leantainn oirnn a' cleachdadh a 'mhodail Rutoken EDS PKI, a tha air leth freagarrach a thaobh feartan astar airson cleachdadh corporra.
  • Gus obrachadh le tòcan ann an Linux, feumaidh tu na pacaidean a leanas a stàladh:
    libccid libpcsclite1 pcscd pcsc-tools opensc

Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

A 'toirt seachad teisteanasan

Ann an artaigilean roimhe seo, bha sinn an urra ris an fhìrinn gun tèid teisteanasan frithealaiche is teachdaiche a chuir a-mach a’ cleachdadh Microsoft CA. Ach leis gu bheil sinn a’ stèidheachadh a h-uile càil ann an Linux, innsidh sinn dhut cuideachd mu dhòigh eile air na teisteanasan sin a chuir a-mach - gun Linux fhàgail.
Cleachdaidh sinn XCA mar CA (https://hohnstaedt.de/xca/), a tha ri fhaighinn air sgaoileadh Linux ùr-nodha sam bith. Faodar a h-uile gnìomh a nì sinn ann an XCA a dhèanamh ann am modh loidhne-àithne a’ cleachdadh na goireasan OpenSSL agus pkcs11-tool, ach airson barrachd sìmplidheachd agus soilleireachd, cha bhith sinn gan taisbeanadh san artaigil seo.

Getting Started

  1. Stàladh:
    $ apt-get install xca
  2. Agus tha sinn a 'ruith:
    $ xca
  3. Bidh sinn a’ cruthachadh an stòr-dàta againn airson CA - /root/CA.xdb
    Tha sinn a’ moladh stòr-dàta Ùghdarras nan Teisteanasan a stòradh ann am pasgan far nach eil cothrom ach aig an rianaire. Tha seo cudromach gus iuchraichean prìobhaideach nan teisteanasan freumh a dhìon, a thathas a’ cleachdadh airson soidhnigeadh a h-uile teisteanas eile.

Cruthaich iuchraichean agus root CA teisteanas

Tha bun-structar iuchair phoblach (PKI) stèidhichte air siostam rangachd. Is e am prìomh rud san t-siostam seo an t-ùghdarras teisteanas root no root CA. Feumaidh an teisteanas aige a bhith air a chruthachadh an toiseach.

  1. Bidh sinn a’ cruthachadh iuchair phrìobhaideach RSA-2048 airson an CA. Gus seo a dhèanamh, air an taba Iuchraichean prìobhaideach brùth Iuchrach ùr agus tagh an seòrsa iomchaidh.
  2. Suidhich ainm airson a’ phaidhir iuchrach ùr. Thug mi CA Key air.
  3. Bidh sinn a’ cur a-mach an teisteanas CA fhèin, a’ cleachdadh a’ phaidhir iuchrach a chaidh a chruthachadh. Gus seo a dhèanamh, rachaibh chun tab teisteanasan agus cliog Teisteanas Ùr.
  4. Bi cinnteach a thaghadh SHA-256, oir chan urrainnear beachdachadh air cleachdadh SHA-1 sàbhailte tuilleadh.
  5. Dèan cinnteach gun tagh thu mar theamplaid [bunaiteach] CA. Na dìochuimhnich briogadh air Cuir a-steach a h-uile, air dhòigh eile chan eil an teamplaid air a chuir an sàs.
  6. Anns an taba cuspair tagh ar prìomh chàraid. An sin faodaidh tu na prìomh raointean den teisteanas a lìonadh.

Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

Cruthaich iuchraichean agus teisteanas frithealaiche https

  1. San aon dòigh, bidh sinn a’ cruthachadh iuchair phrìobhaideach RSA-2048 airson an fhrithealaiche, thug mi an t-ainm Server Key air.
  2. Nuair a chruthaicheas tu teisteanas, taghaidh sinn gum feum teisteanas an fhrithealaiche a bhith air a shoidhnigeadh le teisteanas CA.
  3. Na dìochuimhnich a thaghadh SHA-256.
  4. Bidh sinn a’ taghadh mar theamplaid [àbhaisteach] HTTPS_server. Cliog air Cuir a-steach a h-uile.
  5. An uairsin air an taba cuspair tagh an iuchair againn agus lìon a-steach na raointean riatanach.

Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

Cruthaich iuchraichean agus teisteanas airson an neach-cleachdaidh

  1. Bidh iuchair phrìobhaideach an neach-cleachdaidh air a stòradh air an tòcan againn. Gus obrachadh leis, feumaidh tu an leabharlann PKCS#11 a stàladh bhon làrach-lìn againn. Airson sgaoilidhean mòr-chòrdte, bidh sinn a’ sgaoileadh phasganan deiseil, a tha suidhichte an seo - https://www.rutoken.ru/support/download/pkcs/. Tha co-chruinneachaidhean againn cuideachd airson arm64, armv7el, armv7hf, e2k, mipso32el, a ghabhas luchdachadh a-nuas bhon SDK againn - https://www.rutoken.ru/developers/sdk/. A bharrachd air co-chruinneachaidhean airson Linux, tha co-chruinneachaidhean ann cuideachd airson macOS, freebsd agus android.
  2. A’ cur solaraiche PKCS #11 ùr ri XCA. Gus seo a dhèanamh, rachaibh chun chlàr-taice roghainnean chun an taba Solaraiche PKCS#11.
  3. Bidh sinn a 'bruthadh Add agus tagh an t-slighe gu leabharlann PKCS#11. Anns a 'chùis agam is e usrliblibrtpkcs11ecp.so.
  4. Feumaidh sinn tòcan Rutoken EDS PKI le cruth. Luchdaich a-nuas am prògram rtadmin https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615
  5. Bidh sinn a 'coileanadh
    $ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u <PIN-код пользователя>
  6. Bidh sinn a’ taghadh an iuchair RSA-2048 airson an Rutoken EDS PKI mar am prìomh sheòrsa. Dh'ainmich mi an iuchair Client Key seo.

    Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

  7. Cuir a-steach an còd PIN. Agus tha sinn a’ feitheamh ri crìoch a chuir air gineadh bathar-cruaidh den phrìomh phaidhir

    Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

  8. Bidh sinn a’ cruthachadh teisteanas airson an neach-cleachdaidh a rèir an coimeas ri teisteanas an fhrithealaiche. An turas seo bidh sinn a’ taghadh teamplaid [àbhaisteach] HTTPS_client agus na dìochuimhnich briogadh Cuir a-steach a h-uile.
  9. Anns an taba cuspair cuir a-steach fiosrachadh mun neach-cleachdaidh. Bidh sinn a’ freagairt le dearbhach don iarrtas airson an teisteanas airson an tòcan a shàbhaladh.

Mar thoradh air an sin, air an taba Teisteanasan ann an XCA bu chòir dhut rudeigin mar seo fhaighinn.

Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux
Tha an seata as lugha de dh’ iuchraichean is theisteanasan gu leòr airson tòiseachadh air na frithealaichean fhèin a stèidheachadh.

Gus rèiteachadh, feumaidh sinn an teisteanas CA, teisteanas an fhrithealaiche agus iuchair phrìobhaideach an fhrithealaiche às-mhalairt.

Gus seo a dhèanamh, tagh an inntrig a tha thu ag iarraidh air an taba co-fhreagarrach ann an XCA agus cliog Export.

Nginx

Cha sgrìobh mi mar a stàlaicheas agus a ruitheas tu frithealaiche nginx - tha gu leòr artaigilean air a’ chuspair seo air an eadar-lìn, gun luaidh air na sgrìobhainnean oifigeil. Rachamaid gu dìreach gu bhith a’ stèidheachadh HTTPS agus dearbhadh dà-fhactaraidh a’ cleachdadh tòcan.

Cuir na loidhnichean a leanas ris an roinn frithealaiche ann an 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;
}

Gheibhear tuairisgeul mionaideach air a h-uile paramadair co-cheangailte ri bhith a’ rèiteachadh ssl ann an nginx an seo - https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_client_certificate

Bheir mi cunntas goirid air an fheadhainn a dh’ fhaighnich mi dhomh fhìn:

  • ssl_verify_client - a’ sònrachadh gum feumar an t-sreath earbsa airson an teisteanais a dhearbhadh.
  • ssl_verify_depth - A’ mìneachadh doimhneachd an sgrùdaidh airson an teisteanas freumha earbsach san t-sreath. Leis gu bheil an teisteanas teachdaiche againn air a shoidhnigeadh sa bhad air an teisteanas freumh, tha an doimhneachd air a shuidheachadh gu 1. Ma tha an teisteanas cleachdaiche air a shoidhnigeadh air CA eadar-mheadhanach, feumaidh 2 a bhith air a shònrachadh anns a’ pharamadair seo, agus mar sin air adhart.
  • ssl_client_certificate - sònrachadh an t-slighe chun an teisteanas freumha earbsach, a thathas a’ cleachdadh nuair a thathar a’ sgrùdadh earbsa ann an teisteanas a’ chleachdaiche.
  • ssl_certificate/ssl_certificate_key - comharraich an t-slighe gu teisteanas an fhrithealaiche/iuchrach phrìobhaideach.

Na dìochuimhnich ruith nginx -t gus dèanamh cinnteach nach eil typos anns an config, agus gu bheil a h-uile faidhle san àite cheart, agus mar sin air adhart.

Agus tha sin uile! Mar a chì thu, tha an rèiteachadh gu math sìmplidh.

Dèan cinnteach gu bheil e ag obair ann am Firefox

Leis gu bheil sinn a’ dèanamh a h-uile càil gu tur ann an Linux, gabhaidh sinn ris gu bheil an luchd-cleachdaidh againn ag obair ann an Linux cuideachd (ma tha Windows aca, ma-thà faic stiùireadh airson brobhsairean a stèidheachadh san artaigil roimhe.

  1. Nach cuir sinn Firefox air bhog.
  2. Feuchaidh sinn ri logadh a-steach gun tòcan an toiseach. Gheibh sinn an dealbh seo:

    Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

  3. Rachamaid gu mu dheidhinn: roghainnean # prìobhaideachd, agus thèid sinn gu Innealan tèarainteachd…
  4. Bidh sinn a 'bruthadh Luchdaichgus draibhear inneal PKCS #11 ùr a chuir ris agus an t-slighe chun librtpkcs11ecp.so againn a shònrachadh.
  5. Gus dèanamh cinnteach gu bheil an teisteanas ri fhaicinn, faodaidh tu a dhol gu Manaidsear teisteanais. Thèid iarraidh ort am PIN agad a chuir a-steach. Às deidh cuir a-steach ceart, faodaidh tu sgrùdadh a dhèanamh air na tha air an taba Na teisteanasan agad nochd an teisteanas againn bhon tòcan.
  6. A-nis rachamaid leis an tòcan. Tha Firefox ag iarraidh ort teisteanas a thaghadh a thèid a thaghadh airson an fhrithealaiche. Tagh an teisteanas againn.

    Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

  7. BRATHADH!

    Dearbhadh dà-fhactaraidh air an làrach a’ cleachdadh comharra USB. A-nis cuideachd airson Linux

Tha an rèiteachadh air a dhèanamh aon uair, agus mar a chì thu ann an uinneag iarrtas teisteanais, is urrainn dhuinn an taghadh againn a shàbhaladh. Às deidh seo, a h-uile uair a logas sinn a-steach don portal, cha leig sinn a leas ach comharra a chuir a-steach agus cuir a-steach còd PIN an neach-cleachdaidh a chaidh a shònrachadh aig àm cruth. Às deidh an leithid de dhearbhadh, tha fios aig an fhrithealaiche mu thràth dè an cleachdaiche a tha air logadh a-steach agus chan urrainn dhut uinneagan a bharrachd a chruthachadh airson dearbhadh, ach sa bhad leig leis an neach-cleachdaidh a-steach don chunntas pearsanta aige.

Apache

Dìreach mar le nginx, cha bu chòir duilgheadas sam bith a bhith aig duine le bhith a ’stàladh apache. Mura h-eil fios agad ciamar a stàlaicheas tu am frithealaiche lìn seo, dìreach cleachd na sgrìobhainnean oifigeil.

Agus bidh sinn a’ tòiseachadh a’ stèidheachadh ar HTTPS agus dearbhadh dà-fhactaraidh:

  1. An toiseach feumaidh tu mod_ssl a chuir an gnìomh:
    $ a2enmod ssl
  2. Agus an uairsin cuir an comas roghainnean HTTPS bunaiteach na làraich:
    $ a2ensite default-ssl
  3. A-nis bidh sinn a’ deasachadh am faidhle rèiteachaidh: /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

    Mar a chì thu, tha ainmean nam paramadairean gu practaigeach a’ co-thaobhadh ri ainmean nam paramadairean ann an nginx, agus mar sin cha bhith mi gam mìneachadh. A-rithist, tha fàilte air duine sam bith le ùidh anns an fhiosrachadh chun na sgrìobhainnean.
    A-nis bidh sinn ag ath-thòiseachadh ar frithealaiche:

    $ service apache2 reload
    $ service apache2 restart

  4. Mar a chì thu, tha stèidheachadh dearbhadh dà-fhactaraidh air frithealaiche lìn sam bith, ge bith an ann an Windows no Linux, na chùis uair a thìde aig a’ char as àirde. Agus bheir stèidheachadh brobhsairean timcheall air 5 mionaidean. Tha mòran den bheachd gu bheil stèidheachadh agus obrachadh le dearbhadh dà-fhactaraidh duilich agus neo-shoilleir. Tha mi an dòchas gu bheil an artaigil againn co-dhiù beagan a’ cuir às don uirsgeul seo.

Chan fhaod ach luchd-cleachdaidh clàraichte pàirt a ghabhail san sgrùdadh. Soidhnig a-steach, mas e do thoil e.

A bheil feum agad air stiùireadh airson TLS a stèidheachadh le teisteanasan a rèir GOST 34.10-2012:

  • Tha, tha TLS-GOST gu math riatanach

  • Chan e, chan eil gleusadh le algorithms GOST inntinneach

Bhòt 44 neach-cleachdaidh. Sheall 9 neach-cleachdaidh.

Source: www.habr.com

Cuir beachd ann