SECLEVEL=0 ārstē simptomu, nevis sertifikātu
OpenSSL drošības līmeņa pazemināšana paplašina to, ko bibliotēka pieņem. Noskaidrojiet, kura ievade tika noraidīta, pirms maināt šo robežu visam resursdatoram.
OpenVPN savienojums neizdodas, kāds atrod vienas rindas labojumu, kas pievieno SECLEVEL=0, un tunelis ceļas augšā. Mainījās nevis sertifikāts un ne šifru komplekts; pārvietojās visas bibliotēkas pieņemšanas slieksnis, un viss, ko process dara pēc tam, manto jauno robežu. To ir vērts saprast, pirms tā pati rinda tiek nokopēta katrā vides profilā.
Noskaidrojiet, kura bibliotēka un kāda politika ir spēkā
SECLEVEL ir OpenSSL jēdziens, tāpēc pirmais jautājums ir, vai jūsu būvējums vispār izmanto OpenSSL. OpenVPN var saistīt ar vairāk nekā vienu kriptogrāfijas bibliotēku, un iestatījums, kas attiecas uz vienu no tām, ir bezjēdzīgs pārējām. Pajautājiet binārajam failam, ar ko tas būvēts, pēc tam pajautājiet bibliotēkai, kādu versiju un konfigurāciju tā ielādēja:
openvpn --version | head -3
openssl version -aUzmanīgi lasiet versijas izvadi, jo distribūcijas labo noklusējuma vērtības. Dažas piegādā sistēmas konfigurāciju, kas paaugstina minimālo līmeni virs upstream noklusējuma, un tāpēc viens un tas pats profils divās mašīnās ar identiskiem OpenVPN pakotnēm uzvedas atšķirīgi. Spēkā esošā politika ir tā, ko ielādēja darbojošais process, nevis tā, kas ir upstream rokasgrāmatā.
Pēc tam atdaliet divus slāņus, ko cilvēki sajauc. OpenVPN ir savas TLS vadīklas, tostarp sertifikāta profila iestatījums un skaidri šifru saraksti, un tās atrodas virs visa, ko uzspiež bibliotēka. Bibliotēkas līmeņa pazemināšana nemaina, kādus šifrus uzskaita jūsu OpenVPN konfigurācija, un OpenVPN saraksta sašaurināšana nepaaugstina bibliotēkas slieksni. Zināšana, kurš slānis jūs noraidīja, ir tas, kas neļauj labojumam palikt minējumam.
Atdaliet trīs lietas, kuras var noraidīt
Pirmais kandidāts ir identitātes materiāls: sertifikāts, kura atslēga ir pārāk maza vai kura paraksta algoritmu politika vairs nepieņem. Otrais ir atslēgu apmaiņas parametrs, piemēram, grupa, ko politika uzskata par pārāk vāju. Trešais ir šifru komplekts, ko politika izslēdz. Visi trīs var izraisīt rokasspiediena kļūdu, un tos atšķir tikai kļūdas teksts un sarunu posms.
Neviens no šiem trim nav datu kanāla šifrs. OpenVPN par sava tuneļa šifrēšanu vienojas atsevišķi no TLS rokasspiediena, tāpēc savienojums, kas izdodas pēc drošības līmeņa maiņas, neko nepasaka par to, kurš šifrs aizsargā jūsu datus. Ja jautājums, ko jūs patiešām uzdodat, ir par datu konfidencialitāti, jūs skatāties uz pilnīgi nepareizo pulti.
Līmeņa pazemināšana paplašina pieņemšanu visām trim ievadēm vienlaikus. Šī ir daļa, ko cilvēki palaiž garām: labojums, kas pieņem vecu sertifikātu, pieņem arī vāju grupu un komplektu, kuru jūs, iespējams, neplānojāt atļaut. Viena kļūda izraisīja izmaiņas, un izmaiņas ir plašākas par kļūdu. Šī asimetrija ir iemesls, kāpēc ierobežots izņēmums ir labāks par visas vides noklusējumu.
Mainiet ievadi, nevis slieksni
Saglabājiet precīzu kļūdu, pirms aiztiekat konfigurāciju, tostarp posmu, kas to ziņoja, un objektu, ko tā nosauca. Sertifikāta problēma tiek atrisināta, aizstājot sertifikātu ar to, ko pieņem pašreizējā politika, kas parasti nozīmē tā atkārtotu izsniegšanu iestādē, nevis tā paša faila pārinstalēšanu.
Ja noraidītā ievade pieder partnerim, kuru jūs nekontrolējat, saruna ir ar tā īpašnieku par atbalstītu aizstājējmateriālu. Savu sliekšņu pazemināšana, lai uzņemtu sistēmu, kuru neviens neuztur, pārnes izmaksas no viņiem uz visiem, kas pieslēdzas pēc viņiem.
Vietās, kur serveris piemēro politiku, pirms vainot bibliotēku pārbaudiet, vai OpenVPN līmeņa iestatījums nav patiesais iemesls. Sertifikāta profils, kas pieprasa stingrāku klasi, nekā izvietotais sertifikāts spēj apmierināt, neizdosies neatkarīgi no drošības līmeņa, un šī profila noņemšana ir šaurākas izmaiņas nekā bibliotēkas pārbaužu izslēgšana.
Ja tas jāpazemina, ierobežojiet un dokumentējiet
Dažkārt apstiprināts saderības izņēmums ir pareizā atbilde, it īpaši vecam partnerim ar datētu izņemšanas plānu. Ierobežojiet to ar pakalpojumu, kuram tas nepieciešams, nevis ar visu resursdatoru: pakalpojuma konfigurācijas fails vai atsevišķa OpenSSL konfigurācija ietekmē mazāk nekā eksports globālajā profilā.
Kopā ar izņēmumu pierakstiet četras lietas: precīzu iestatījumu, īpašnieku, kas to apstiprināja, ietekmētos klientus un nosacījumu, ar kādu tas tiks noņemts. Izņēmums bez izņemšanas nosacījuma ir pastāvīga vājināšana ar pievienotu pagaidu pamatojumu.
Atritināšanai jābūt vienam solim, ko jau esat pārbaudījuši. Saglabājiet iepriekšējo konfigurāciju, piemērojiet izmaiņas, apstipriniet, ka pakalpojums startē, un precīzi ziniet, kuru failu atjaunot, ja nākamais savienojums uzvedīsies citādi, nekā gaidīts.
Pēc tam pārbaudiet identitāti un aizsardzību
Veiksmīgs savienojums tikai pierāda, ka pārskatītie nosacījumi to pieņēma. Apstipriniet, ka resursdatora nosaukuma un partnera pārbaude joprojām dara savu darbu, ka izmantotais sertifikāts ir tas, ko bijāt iecerējuši izvietot, un ka saskaņotais datu kanāls atbilst politikai, kura, jūsuprāt, jums ir.
openssl x509 -in /etc/openvpn/client.crt -noout -subject -dates -text | grep -E 'Signature Algorithm|Public-Key'
openvpn --show-tls | head -20OpenSSL drošības līmeņu uzziņa skaidri norāda, ka ietvars piemēro ierobežojumus atslēgām, parakstiem, grupām un komplektiem kopā un ka nulles līmenis atļauj visu, ko pārbauda atzvanīšana. Tas ir jūsu mainītā apjoms, un tas ir teikums, ko citēt, kad kāds jautā, vai labojums bija šaurs.
Nodošana, kas iztur auditu, pasaka, kura politika noraidīja kuru ievadi, kas tika mainīts un kas rezultātā joprojām tiek pieņemts. „Tas darbojas ar SECLEVEL=0“ ir novērojums par vienu savienojumu, nevis izvietošanas drošības novērtējums.