Pauzimi i aksesit të një klienti dhe heqja e tij përgjithmonë duken si e njëjta detyrë derisa të provoni të anuloni njërën prej tyre. Revokimi i certifikatës shkruan një regjistrim që serveri e trajton si përfundimtar, dhe kthimi i tij do të thotë të redaktoni me dorë bazën e të dhënave të lëshuesit. Hedhja e tunelit aktiv është një komandë administrimi që nuk ndryshon asgjë në besim. Zgjidhni levën duke pyetur nëse çelësi është ende i besueshëm, jo duke pyetur sa urgjente duket kërkesa.

Bindja: i revokuar dhe i pezulluar janë e njëjta gjë

Një kontraktori i pauzohet aksesi për një javë dhe refleksi është revokimi, sepse revokimi tingëllon si fikje e diçkaje. Duket e rregullt, zgjat dhjetë sekonda, dhe lë redaktimin e bazës së të dhënave si rrugën e vetme të kthimit. Refleksi është i kuptueshëm dhe është më afër djegies së një pasaporte sesa mbylljes së një dere. Një pajisje e pezulluar dhe një çelës i komprometuar kërkojnë trajtim të ndryshëm, dhe vetëm njëri prej tyre është i lirë për t'u kthyer.

Dallimi ka të bëjë me kredencialin dhe jo me personin. Një çelës që është ende në duart e duhura mund të pezullohet dhe të rifillohet pa asnjë humbje besimi. Një çelës që mund të jetë kopjuar nuk duhet të rikthehet kurrë, sepse rikthimi pohon se kopja nuk ekziston.

Shkruani përgjigjen përpara se të prekni cilindo nga dy sistemet. Nëse nuk mund të thoni nëse çelësi është ekspozuar, përgjigjja konservative është zëvendësimi.

Hidhni sesionin aktiv me ndërfaqen e administrimit

OpenVPN ofron një ndërfaqe administrimi që mund të listojë sesionet dhe të vrasë një prej tyre sipas emrit të përbashkët. Aktivizojeni në localhost, mbajeni larg ndërfaqes publike dhe dërgoni komandën e vrasjes kur një sesion duhet të zhduket tani. Komanda mbyll vetëm atë tunel, dhe çdo klient tjetër vazhdon të punojë.

Kjo është një përgjigje ndaj një problemi aktiv, jo një politikë pezullimi. I njëjti profil mund të rilidhet brenda një minute, sepse asgjë në kredencialin e tij nuk ka ndryshuar. Përdoreni kur sesioni duhet të largohet dhe vendimi i qëndrueshëm është ende duke u marrë.

Konfirmoni se sesioni ishte i lidhur përpara se ta vrisni, që të mos ndiqni një klient që nuk u lidh kurrë. Komanda e statusit më poshtë printon atë që është e lidhur tani.

printf 'status 2\nquit\n' | nc 127.0.0.1 7506
printf 'kill kiosk-14\nquit\n' | nc 127.0.0.1 7506

Nëse vrasja raporton se nuk ekziston një klient i tillë, emri i përbashkët në certifikatë nuk është vargu që shtypët. Lexoni daljen e statusit në vend të emrit të skedarit të profilit.

Çfarë kontrollon në të vërtetë CRL

Serveri nuk konsulton një flamur revokimi të ruajtur në certifikatë. Ai lexon listën e revokimit të certifikatave të emërtuar në crl-verify, në çdo lidhje të re, dhe refuzon një certifikatë numri serial i së cilës shfaqet në atë listë. Nga kjo rrjedhin dy pasoja, dhe të dyja janë të rëndësishme operacionalisht. Skedari duhet të jetë i lexueshëm nga llogaria të cilës serveri i lëshon privilegjet e tij, dhe një klient i lidhur tashmë vazhdon të funksionojë derisa të rilidhet.

Pasoja e dytë i befason njerëzit gjatë incidenteve. Revokimi i një certifikate nuk e mbyll tunelin që po e përdor në këtë moment. Çiftojeni revokimin me një vrasje administrimi nëse sesioni duhet të përfundojë menjëherë, dhe trajtoni dy veprimet si hapa të veçantë në manual.

Inspektoni listën për të parë se çfarë do të zbatojë serveri në të vërtetë, në vend që t'i besoni vulës kohore të skedarit të fundit që kopjuat. Numri i numrave serialë është pjesa që ka rëndësi.

openssl crl -in /etc/openvpn/server/crl.pem -noout -text | sed -n '1,14p'
ls -l /etc/openvpn/server/crl.pem

Një listë pa zëra dhe një listë me zërat e duhur duken njësoj në një listim drejtorie, prandaj ia vlen të printohet numri i numrave serialë. Rreshti i lejeve ka të njëjtën rëndësi, sepse një skedar që daemoni nuk mund ta lexojë prodhon një dështim që duket si klient i refuzuar.

Rikthimi i një regjistrimi, me kujdes

Rikthimi i një certifikate do të thotë të përmbysni një regjistrim në bazën e të dhënave të lëshimit dhe të publikoni një listë të re. easy-rsa 3 e mban atë bazë si index.txt nën drejtorinë PKI, ndërsa skemat më të vjetra përdornin një rregullim tjetër. Një rresht fillon me një shkronjë statusi dhe një datë skadimi. Një rresht i revokuar fut një vulë kohore për revokimin përpara se të vazhdojë me numrin serial, emrin e skedarit të certifikatës dhe emrin dallues. Kthimi i një rreshti në vend do të thotë të fshini atë vulë kohore dhe të përmbysni shkronjën, ndërsa gjithçka tjetër lihet në paqe.

Bëni fillimisht një kopje sigurimi të skedarit, dhe kryeni redaktimin si skript në vend që të shtypni në një editor teksti. Një gabim shtypi që ndryshon sa fusha mban një rresht prish lëshimin për çdo certifikatë të shtuar më pas. Kjo është arsyeja për të automatizuar ndryshimin dhe për të kopjuar skedarin përpara se ta prekni.

Një revokim i dytë me të njëjtin emër shpesh dështon gjithashtu, sepse ekzekutimi i parë e zhvendosi atë certifikatë dhe çelësin e saj jashtë drejtorive ku mjeti pret t'i gjejë. Mjeti atëherë nuk e gjen atë që iu kërkua të revokojë, dhe mesazhi i gabimit nuk e shpjegon gjithmonë qartë përse.

cp /etc/easy-rsa/pki/index.txt /root/index.txt.$(date +%F-%H%M)
grep -c '^R' /etc/easy-rsa/pki/index.txt
easyrsa gen-crl

Publikoni listën e re, rregulloni pronësinë e saj dhe bëni që serveri ta lexojë. Një ringarkim mjafton në shumicën e instalimeve, por konfirmimi duhet të vijë nga një lidhje e re, pasi sesioni ekzistues nuk rikontrolloi asgjë.

Kontrolloni cilën levë e meriton rasti

Bëni pyetjen e vetme që vendos gjithë manualin: a është çelësi privat ende vetëm aty ku duhet të jetë. Nëse po, vrasja e sesionit plus një pauzë e dokumentuar e mbulojnë rastin dhe nuk lënë asnjë regjistrim të përhershëm. Nëse jo, përgjigjja e vetme e sigurt është një çelës i re, ndërsa certifikata e vjetër lihet e revokuar.

Më pas verifikoni rezultatin me një përpjekje lidhjeje dhe jo me një ndryshim konfigurimi. Ndryshimi ju thotë çfarë kishit ndërmend, dhe lidhja ju thotë çfarë zbaton serveri.

openssl crl -in /etc/openvpn/server/crl.pem -noout -text | grep -c 'Serial Number'
printf 'status 2\nquit\n' | nc 127.0.0.1 7506

Kur një klient i rikthyer lidhet dhe shfaqet në daljen e statusit, redaktimi i regjistrimit funksionoi. Kur një klient i revokuar refuzohet dhe regjistri emërton CRL, revokimi funksionoi. Çdo gjë në mes është problem lejeje ose ringarkimi, dhe ia vlen të rregullohet përpara se të mbërrijë kërkesa tjetër.

Artikuj të ngjashëm