SECLEVEL=0 ravib sümptomit, mitte sertifikaati
OpenSSL-i turbetaseme langetamine laiendab seda, mida teek aktsepteerib. Tehke kindlaks, milline sisend tagasi lükati, enne kui muudate seda piiri terve hosti jaoks.
OpenVPN ühendus ebaõnnestub, keegi leiab üherealise paranduse, mis lisab SECLEVEL=0, ja tunnel tuleb üles. Muutus ei olnud sertifikaat ega šifrikomplekt; nihkus teegipõhine vastuvõtulävi ja kõik, mida protsess pärast teeb, pärib uue piiri. Seda tasub mõista enne, kui sama rida kopeeritakse igasse profiili kogu keskkonnas.
Tehke kindlaks, milline teek ja milline poliitika kehtivad
SECLEVEL on OpenSSL-i mõiste, seega esimene küsimus on, kas teie build üldse OpenSSL-i kasutab. OpenVPN-i saab linkida rohkem kui ühe krüptoteegiga ja ühe jaoks kehtiv säte on teiste jaoks mõttetu. Küsige binaarfaililt, millega see ehitati, seejärel küsige teegilt, millise versiooni ja konfiguratsiooni see laadis:
openvpn --version | head -3
openssl version -aLugege versiooni väljundit hoolikalt, sest distributsioonid paikavad vaikeväärtusi. Mõned tarnivad süsteemikonfiguratsiooni, mis tõstab miinimumtaseme üle upstreami vaikeväärtuse, ja seetõttu käitub sama profiil kahes identsete OpenVPN-i pakettidega masinas erinevalt. Kehtiv poliitika on see, mille laadis jooksev protsess, mitte see, mis on upstreami käsiraamatus.
Seejärel eraldage kaks kihti, mida inimesed segavad. OpenVPN-il on oma TLS-i juhtnupud, sealhulgas sertifikaadiprofiili säte ja selgesõnalised šifriloendid, ning need asuvad kõige kohal, mida teek kehtestab. Teegi taseme langetamine ei muuda, milliseid šifreid teie OpenVPN-i konfiguratsioon loetleb, ja OpenVPN-i loendi kitsendamine ei tõsta teegi läve. Teadmine, milline kiht teid tagasi lükkas, hoiab paranduse ära muutumast oletuseks.
Eraldage kolm asja, mida saab tagasi lükata
Esimene kandidaat on identiteedimaterjal: sertifikaat, mille võti on liiga väike või mille allkirjaalgoritmi poliitika enam ei aktsepteeri. Teine on võtmevahetuse parameeter, näiteks grupp, mida poliitika peab liiga nõrgaks. Kolmas on šifrikomplekt, mille poliitika välistab. Kõik kolm võivad põhjustada käepigistuse tõrke ja neid eristavad ainult veatekst ja läbirääkimisetapp.
Ükski neist kolmest ei ole andmekanali šiffer. OpenVPN peab oma tunnelikrüpteerimise läbirääkimisi TLS-i käepigistusest eraldi, seega ühendus, mis õnnestub pärast turbetaseme muutmist, ei ütle midagi selle kohta, milline šiffer teie andmeid kaitseb. Kui küsimus, mille te tegelikult esitate, puudutab andmete konfidentsiaalsust, vaatate täiesti valet nuppu.
Taseme langetamine laiendab vastuvõttu kõigi kolme sisendi jaoks korraga. See on osa, mille inimesed jätavad märkamata: parandus, mis laseb sisse vana sertifikaadi, laseb sisse ka nõrga grupi ja komplekti, mida te võib-olla ei kavatsenud lubada. Üks viga kutsus esile muudatuse ja muudatus on veast laiem. See asümmeetria on põhjus, miks piiratud erand on parem kui kogu keskkonna vaikeväärtus.
Muutke sisendit, mitte läve
Säilitage täpne viga enne konfiguratsiooni puutumist, sealhulgas etapp, mis selle teatas, ja objekt, mille see nimetas. Sertifikaadiprobleem lahendatakse sertifikaadi asendamisega millegagi, mida kehtiv poliitika aktsepteerib, mis tavaliselt tähendab selle asutuses uuesti väljaandmist, mitte sama faili uuesti paigaldamist.
Kui tagasi lükatud sisend kuulub partnerile, keda te ei kontrolli, on vestlus selle partneri omanikuga toetatud asendusmaterjali üle. Enda läve langetamine, et mahutada süsteemi, mida keegi ei halda, viib kulu nendelt kõigile, kes pärast neid ühenduvad.
Kus server poliitikat rakendab, kontrollige, kas tegelik põhjus on OpenVPN-i tasandi säte, enne kui süüdistate teeki. Sertifikaadiprofiil, mis nõuab rangemat klassi, kui juurutatud sertifikaat suudab täita, ebaõnnestub olenemata turbetasemest, ja selle profiili eemaldamine on kitsam muudatus kui teegi kontrollide väljalülitamine.
Kui peate seda langetama, piirake ja dokumenteerige
Mõnikord on kinnitatud ühilduvuserand õige vastus, eriti vana partneri puhul, kellel on dateeritud kasutuselt kõrvaldamise plaan. Piirake see teenusega, mis seda vajab, mitte kogu hostiga: teenusepõhine konfiguratsioonifail või spetsiaalne OpenSSL-i konfiguratsioon mõjutab vähem kui eksport globaalses profiilis.
Kirjutage erandiga üles neli asja: täpne säte, selle kinnitanud omanik, mõjutatud kliendid ja tingimus, mille korral see eemaldatakse. Kasutuselt kõrvaldamise tingimuseta erand on alaline nõrgestamine, millele on lisatud ajutine põhjendus.
Tagasipööramine peaks olema üks samm, mida olete juba testinud. Hoidke eelmine konfiguratsioon, rakendage muudatus, kinnitage, et teenus käivitub, ja teadke täpselt, milline fail taastada, kui järgmine ühendus käitub ootamatult.
Kontrollige seejärel identiteeti ja kaitset
Edukas ühendus tõestab ainult seda, et muudetud tingimused selle lubasid. Kinnitage, et hostinime ja partneri kontroll teeb endiselt oma tööd, et kasutatav sertifikaat on see, mille kavatsesite juurutada, ja et läbiräägitud andmekanal vastab poliitikale, mis te arvate olevat.
openssl x509 -in /etc/openvpn/client.crt -noout -subject -dates -text | grep -E 'Signature Algorithm|Public-Key'
openvpn --show-tls | head -20OpenSSL-i turbetasemete viide ütleb selgelt, et raamistik rakendab piiranguid võtmetele, allkirjadele, gruppidele ja komplektidele koos, ning et nulltase lubab kõike, mida tagasikutse kontrollib. See on teie muudatuse ulatus ja see on lause, mida tsiteerida, kui keegi küsib, kas parandus oli kitsas.
Auditist läbi tulev üleandmine ütleb, milline poliitika millise sisendi tagasi lükkas, mida muudeti ja mis jääb selle tulemusel aktsepteerituks. „See töötab SECLEVEL=0-ga“ on tähelepanek ühe ühenduse kohta, mitte juurutuse turvahinnang.