ProHoster > blog > Gweinyddiaeth > Dilysu dau ffactor ar y wefan gan ddefnyddio tocyn USB. Nawr hefyd ar gyfer Linux
Dilysu dau ffactor ar y wefan gan ddefnyddio tocyn USB. Nawr hefyd ar gyfer Linux
В un o'n herthyglau blaenorol buom yn siarad am bwysigrwydd dilysu dau ffactor ar byrth corfforaethol cwmnïau. Y tro diwethaf i ni ddangos sut i sefydlu dilysiad diogel yn y gweinydd gwe IIS.
Yn y sylwadau, gofynnwyd i ni ysgrifennu cyfarwyddiadau ar gyfer y gweinyddwyr gwe mwyaf cyffredin ar gyfer Linux - nginx ac Apache.
Gofynasoch - ysgrifenasom.
Beth sydd ei angen arnoch i ddechrau?
Unrhyw ddosbarthiad Linux modern. Fe wnes i osod prawf ar MX Linux 18.2_x64. Nid yw hwn yn ddosbarthiad gweinydd wrth gwrs, ond mae'n annhebygol y bydd unrhyw wahaniaethau i Debian. Ar gyfer dosbarthiadau eraill, gall y llwybrau i'r llyfrgelloedd ffurfweddu amrywio ychydig.
Tocyn. Rydym yn parhau i ddefnyddio’r model Rutoken EDS PKI, sy'n ddelfrydol o ran nodweddion cyflymder ar gyfer defnydd corfforaethol.
I weithio gyda thocyn yn Linux, mae angen i chi osod y pecynnau canlynol:
libccid libpcsclite1 pcscd pcsc-tools opensc
Cyhoeddi tystysgrifau
Mewn erthyglau blaenorol, roeddem yn dibynnu ar y ffaith y bydd tystysgrifau gweinydd a chleient yn cael eu cyhoeddi gan ddefnyddio Microsoft CA. Ond gan ein bod yn sefydlu popeth yn Linux, byddwn hefyd yn dweud wrthych am ffordd arall o gyhoeddi'r tystysgrifau hyn - heb adael Linux.
Byddwn yn defnyddio XCA fel CA (https://hohnstaedt.de/xca/), sydd ar gael ar unrhyw ddosbarthiad Linux modern. Gellir gwneud yr holl gamau gweithredu y byddwn yn eu cyflawni yn XCA yn y modd llinell orchymyn gan ddefnyddio'r cyfleustodau OpenSSL a pkcs11-tool, ond er mwyn mwy o symlrwydd ac eglurder, ni fyddwn yn eu cyflwyno yn yr erthygl hon.
Dechrau Arni
Gosod:
$ apt-get install xca
Ac rydyn ni'n rhedeg:
$ xca
Rydym yn creu ein cronfa ddata ar gyfer CA - /root/CA.xdb
Rydym yn argymell storio cronfa ddata'r Awdurdod Tystysgrif mewn ffolder lle mai dim ond y gweinyddwr sydd â mynediad. Mae hyn yn bwysig er mwyn diogelu allweddi preifat y tystysgrifau gwraidd, a ddefnyddir i lofnodi pob tystysgrif arall.
Creu allweddi a thystysgrif gwraidd CA
Mae seilwaith allweddi cyhoeddus (PKI) yn seiliedig ar system hierarchaidd. Y prif beth yn y system hon yw'r awdurdod ardystio gwraidd neu CA gwraidd. Rhaid creu ei dystysgrif yn gyntaf.
Rydym yn creu allwedd breifat RSA-2048 ar gyfer yr Awdurdod Cymwys. I wneud hyn, ar y tab Allweddi Preifat gwthio Allwedd newydd a dewis y math priodol.
Gosod enw ar gyfer y pâr allweddi newydd. Yr wyf yn ei alw CA Key.
Rydyn ni'n cyhoeddi'r dystysgrif CA ei hun, gan ddefnyddio'r pâr allwedd a grëwyd. I wneud hyn, ewch i'r tab Tystysgrifau a chlicio Tystysgrif Newydd.
Byddwch yn siwr i ddewis SHA-256, oherwydd ni ellir ystyried defnyddio SHA-1 yn ddiogel mwyach.
Byddwch yn siwr i ddewis fel templed [diofyn]CA. Peidiwch ag anghofio clicio ar Gwnewch gais i gyd, fel arall nid yw'r templed yn cael ei gymhwyso.
Yn y tab Pwnc dewiswch ein pâr allweddol. Yno, gallwch lenwi holl brif feysydd y dystysgrif.
Creu allweddi a thystysgrif gweinydd https
Mewn ffordd debyg, rydym yn creu allwedd breifat RSA-2048 ar gyfer y gweinydd, fe'i gelwais yn Allwedd Gweinyddwr.
Wrth greu tystysgrif, rydym yn dewis bod yn rhaid i dystysgrif y gweinydd gael ei llofnodi â thystysgrif CA.
Peidiwch ag anghofio dewis SHA-256.
Rydym yn dewis fel templed [diofyn] HTTPS_server. Cliciwch ar Gwnewch gais i gyd.
Yna ar y tab Pwnc dewiswch ein allwedd a llenwch y meysydd gofynnol.
Creu allweddi a thystysgrif ar gyfer y defnyddiwr
Bydd allwedd breifat y defnyddiwr yn cael ei storio ar ein tocyn. I weithio gydag ef, mae angen i chi osod y llyfrgell PKCS#11 o'n gwefan. Ar gyfer dosbarthiadau poblogaidd, rydym yn dosbarthu pecynnau parod, sydd wedi'u lleoli yma - https://www.rutoken.ru/support/download/pkcs/. Mae gennym hefyd wasanaethau ar gyfer arm64, armv7el, armv7hf, e2k, mipso32el, y gellir eu llwytho i lawr o'n SDK - https://www.rutoken.ru/developers/sdk/. Yn ogystal â gwasanaethau ar gyfer Linux, mae yna hefyd gynulliadau ar gyfer macOS, freebsd ac android.
Ychwanegu Darparwr PKCS#11 newydd i XCA. I wneud hyn, ewch i'r ddewislen Dewisiadau i'r tab Darparwr PKCS#11.
Rydym yn pwyso Ychwanegu a dewiswch y llwybr i'r llyfrgell PKCS#11. Yn fy achos i, mae'n usrliblibrtpkcs11ecp.so.
Rydym yn dewis yr allwedd RSA-2048 ar gyfer y Rutoken EDS PKI fel y math allweddol. Gelwais yr Allwedd Cleient allweddol hwn.
Rhowch y cod PIN. Ac rydym yn aros am gwblhau cynhyrchu caledwedd y pâr allweddol
Rydym yn creu tystysgrif ar gyfer y defnyddiwr trwy gyfatebiaeth â thystysgrif y gweinydd. Y tro hwn rydym yn dewis templed [diofyn] HTTPS_client a pheidiwch ag anghofio clicio Gwnewch gais i gyd.
Yn y tab Pwnc mewnbynnu gwybodaeth am y defnyddiwr. Rydym yn ateb yn gadarnhaol i'r cais i arbed y dystysgrif ar gyfer y tocyn.
O ganlyniad, ar y tab Tystysgrifau yn XCA dylech gael rhywbeth fel hyn.
Mae'r set leiaf hon o allweddi a thystysgrifau yn ddigon i ddechrau sefydlu'r gweinyddwyr eu hunain.
I ffurfweddu, mae angen i ni allforio'r dystysgrif CA, tystysgrif gweinydd ac allwedd breifat y gweinydd.
I wneud hyn, dewiswch y cofnod a ddymunir ar y tab cyfatebol yn XCA a chliciwch Export.
Nginx
Ni fyddaf yn ysgrifennu sut i osod a rhedeg gweinydd nginx - mae digon o erthyglau ar y pwnc hwn ar y Rhyngrwyd, heb sôn am y ddogfennaeth swyddogol. Gadewch i ni fynd yn syth at sefydlu HTTPS a dilysu dau ffactor gan ddefnyddio tocyn.
Ychwanegwch y llinellau canlynol i'r adran gweinydd yn nginx.conf:
ssl_verify_client - yn nodi bod angen gwirio'r gadwyn ymddiriedaeth ar gyfer y dystysgrif.
ssl_verify_depth - Yn diffinio dyfnder y chwiliad ar gyfer y dystysgrif gwraidd dibynadwy yn y gadwyn. Gan fod ein tystysgrif cleient wedi'i lofnodi ar unwaith ar y dystysgrif gwraidd, mae'r dyfnder wedi'i osod i 1. Os yw'r dystysgrif defnyddiwr wedi'i llofnodi ar CA canolradd, yna rhaid nodi 2 yn y paramedr hwn, ac ati.
ssl_client_certificate - yn pennu'r llwybr i'r dystysgrif gwraidd y gellir ymddiried ynddo, a ddefnyddir wrth wirio ymddiriedaeth yn nhystysgrif y defnyddiwr.
ssl_certificate/ssl_certificate_key - nodwch y llwybr i dystysgrif y gweinydd/allwedd breifat.
Peidiwch ag anghofio rhedeg nginx -t i wirio nad oes teipiau yn y ffurfwedd, a bod yr holl ffeiliau yn y lle iawn, ac ati.
A dyna i gyd! Fel y gallwch weld, mae'r gosodiad yn syml iawn.
Gadewch i ni geisio mewngofnodi heb docyn yn gyntaf. Rydym yn cael y llun hwn:
Gadewch i ni fynd i am: hoffterau # preifatrwydd, ac awn i Dyfeisiau Diogelwch…
Rydym yn pwyso Llwythi ychwanegu Gyrrwr Dyfais PKCS#11 newydd a nodi'r llwybr i'n librtpkcs11ecp.so.
I wirio bod y dystysgrif yn weladwy, gallwch fynd i Rheolwr Tystysgrif. Fe'ch anogir i nodi'ch PIN. Ar ôl mewnbwn cywir, gallwch wirio beth sydd ar y tab Eich Tystysgrifau ymddangosodd ein tystysgrif o'r tocyn.
Nawr gadewch i ni fynd gyda'r tocyn. Mae Firefox yn eich annog i ddewis tystysgrif a fydd yn cael ei dewis ar gyfer y gweinydd. Dewiswch ein tystysgrif.
PROFFIT!
Gwneir y gosodiad unwaith, ac fel y gwelwch yn y ffenestr cais am dystysgrif, gallwn arbed ein dewis. Ar ôl hyn, bob tro y byddwn yn mewngofnodi i'r porth, dim ond tocyn a nodi'r cod PIN defnyddiwr a nodwyd wrth fformatio y bydd angen i ni ei fewnosod. Ar ôl dilysu o'r fath, mae'r gweinydd eisoes yn gwybod pa ddefnyddiwr sydd wedi mewngofnodi ac ni allwch greu unrhyw ffenestri ychwanegol i'w dilysu mwyach, ond gadewch y defnyddiwr i mewn i'w gyfrif personol ar unwaith.
Apache
Yn union fel gyda nginx, ni ddylai unrhyw un gael unrhyw broblemau wrth osod apache. Os nad ydych chi'n gwybod sut i osod y gweinydd gwe hwn, defnyddiwch y ddogfennaeth swyddogol.
Ac rydym yn dechrau sefydlu ein HTTPS a dilysu dau ffactor:
Yn gyntaf mae angen i chi actifadu mod_ssl:
$ a2enmod ssl
Ac yna galluogi gosodiadau HTTPS diofyn y wefan:
$ a2ensite default-ssl
Nawr rydym yn golygu'r ffeil ffurfweddu: /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
Fel y gwelwch, mae enwau'r paramedrau yn cyd-fynd yn ymarferol ag enwau'r paramedrau yn nginx, felly ni fyddaf yn eu hesbonio. Unwaith eto, mae croeso i unrhyw un sydd â diddordeb yn y manylion i'r ddogfennaeth.
Nawr rydyn ni'n ailgychwyn ein gweinydd:
$ service apache2 reload
$ service apache2 restart
Fel y gallwch weld, mae sefydlu dilysiad dau ffactor ar unrhyw weinydd gwe, boed ar Windows neu Linux, yn cymryd uchafswm o awr. Ac mae sefydlu porwyr yn cymryd tua 5 munud. Mae llawer o bobl yn meddwl bod sefydlu a gweithio gyda dilysu dau ffactor yn anodd ac yn aneglur. Rwy'n gobeithio bod ein herthygl yn chwalu'r myth hwn, o leiaf ychydig.
Dim ond defnyddwyr cofrestredig all gymryd rhan yn yr arolwg. Mewngofnodios gwelwch yn dda.
A oes angen cyfarwyddiadau arnoch ar gyfer sefydlu TLS gyda thystysgrifau yn unol â GOST 34.10-2012:
Ydy, mae TLS-GOST yn angenrheidiol iawn
Na, nid yw tiwnio ag algorithmau GOST yn ddiddorol
Pleidleisiodd 44 o ddefnyddwyr. Ymataliodd 9 o ddefnyddwyr.