Viens vecs partneris uzspiež TLS 1.0: ierobežo izņēmumu, nevis resursdatoru
Viena ierīce, kas iestrēgusi pie TLS 1.0, vai vecs pakalpojumu sniedzēja sertifikāts var uzspiest vājāku apakšējo robežu. Ierobežo izņēmumu un pēc tam izmēri, kas patiešām tika saskaņots.
Parādās viena veca ierīce, neizdodas izveidot savienojumu, un visātrāk izskatīgais labojums ir vājināt visu resursdatoru, līdz savienojums izdodas. Šis darījums ir neredzams tajā brīdī un pastāvīgs praksē, jo neviens nenoņem apakšējo robežu, kas beidzot darbojas. Spiedienu rada divi ļoti atšķirīgi bojājumi, un tikai viens no tiem vispār attiecas uz šifriem. Vispirms sašķiro bojājumu, pēc tam ievieto izņēmumu tur, kur tas nevar izplatīties.
Sadaliet bojājumu divās daļās pirms direktīvas maiņas
Servera žurnāla rinda par to, ka nav kopīga šifra vai protokola versija netiek atbalstīta, nāk no vadības kanāla: abas puses nevarēja vienoties, kā aizsargāt pašas sarunas. Klienta rinda, ka nav iespējota neviena servera sertifikāta pārbaudes metode, nāk no pavisam citas vietas, jo šis klients nemaz nepārbauda, kas atbildēja. Datu šifra maiņa neko nedod otrajā gadījumā, un lomas pārbaudes pievienošana neko nedod pirmajā.
Ņem agrāko neizdevušos rindu no katras puses, nevis pēdējo pirms atvienošanās, jo pēdējā parasti ir sekas. Tad noskaidro, kuru failu klients patiešām atvēra: importēts profils bieži pastāv divreiz ar dažādiem parādītajiem nosaukumiem, un tās kopijas rediģēšana, ko neviens nelasa, rada pārliecinošu izmaiņu neesamību. Darbojošs process saglabā iestatījumus, ar kuriem tas sākās, tāpēc saglabāts fails nav ielādēts fails. Tālāk esošās komandas rāda klienta sarunas līdzās servera skatījumam uz to pašu mēģinājumu.
openvpn --config <profile>.ovpn --verb 4 2>&1 | head -n 40
journalctl -u [email protected] --since '-10 min' | grep -iE 'cipher|tls|verify'
Otrs klausītājs ir godīgā vieta vājākai apakšējai robežai
Kad ierīce apstājas pie TLS 1.0 ar datu kanālu pirms 2.5, serverim jāpiedāvā zemāka vadības kanāla apakšējā robeža un datu šifrs, ko vecais klients atpazīst. Rezerves direktīva ir tieši šim partnerim, bet šifru saraksts notur mūsdienu klientus mūsdienu komplektos. Abas direktīvas pieder klausītājam, nevis lietotājam vai savienojumam, un neviens atsevišķa klienta iestatījums tās vēlāk nesašaurina. Tāpēc viena mantotā ierīce galvenajā portā ir lēmums par katru partneri, kas šo portu dala.
Kur platforma to atļauj, palaid mantoto klausītāju kā atsevišķu instanci citā portā, atļauj šo portu tikai no ierīces adreses un atstāj galveno pakalpojumu mierā. Pieraksti, kāpēc otrais klausītājs pastāv, failā, kurā ir tā konfigurācija, citādi nākotnes tīrīšana to nolasīs kā atlikumus. Sadalījums ir tā vērts tikai tad, ja vājākā apakšējā robeža beidzas tur, kur beidzas ierīce.
tls-version-min 1.0
data-ciphers AES-128-GCM:AES-256-GCM:AES-256-CBC
data-ciphers-fallback AES-256-CBC
Ko vecs pakalpojumu sniedzēja sertifikāts patiešām salauž
Pārbaudes kļūda ir trūkstoša lomas saistība: bez tās klients pieņems jebkuru sertifikātu, kas saistīts ar uzticamu CA, neatkarīgi no tā, vai tas izsniegts serverim. Vispirms saisti sertifikātu ar servera lomu un uzskati saistību par prasību, nevis regulēšanas pogu. Tikai profilam, kas pēc šī soļa joprojām neizdodas, ir īsta sertifikāta problēma.
Vecs pakalpojumu sniedzēja sertifikāts, kura atslēgas izmērs vai paraksta algoritms vairs neatbilst OpenSSL noklusējuma politikai, ir gadījums, kad vadības kanālā jāmaina drošības līmenis ierobežoti. Līmeņa pazemināšana tur neizslēdz pārbaudi, un to nekad nedrīkst apvienot ar tukšu CA, atspējotu pārbaudi vai nepārbaudītu resursdatora nosaukumu. Turi rindu tajā vienā profilā, kuram tā nepieciešama; atbrīvotas OpenSSL konfigurācijas eksportēšana globāli dotu to pašu atbrīvojumu katrai programmai mašīnā.
remote-cert-tls server
tls-cipher "DEFAULT:@SECLEVEL=0"
Lasi saskaņotās vērtības, nevis reklāmas joslu
Pie verbosity 4 abas puses izdrukā vadības kanāla TLS versiju un šifru, par ko vienojušās, un sesijas datu šifru. Lasi šīs rindas, nevis inicializācijas reklāmas joslu, kas ziņo par panākumiem, nevis to nosacījumiem. Tad atkārtoti pievieno mūsdienu klientu galvenajam klausītājam un pārliecinies, ka tas joprojām nonāk mūsdienu komplektā, jo izņēmums, kas iesūcies kopīgā konfigurācijā, vispirms parādās šeit. Nokopētās vērtības kļūst par nākamās pārskatīšanas pamatu.
Pārbaudi veco ierīci atsevišķi: tai jāizveido savienojums, un tai jābūt vienīgajai sesijai žurnālos, kas rāda vājākus parametrus. Ja arī otrs partneris saskaņo veco komplektu, izņēmums ir plašāks nekā paredzēts un klausītāju sadalījums patiešām nav noticis. Pieraksti abus novērojumus, nevis tikai secinājumu.
Katram izņēmumam vajag īpašnieku un datumu
Izņēmums bez noņemšanas nosacījuma klusi kļūst par noklusējumu, tāpēc ievieto ierīci, īpašnieku, iemeslu un datumu, kad tas pazudīs, blakus konfigurācijai, ko tas pamato. Bez šīs rindas vājākā apakšējā robeža pārdzīvo aparatūru, kurai tā bija vajadzīga.
Klienta nomaiņa vai pašreizēja profila pieprasīšana no pakalpojumu sniedzēja ir rezultāts, uz kuru jātiecas; izņēmums ir kavēšanās, nevis dizains. Kad ierīce tiek izņemta no ekspluatācijas, noņem klausītāju un profilu vienā un tajā pašā izmaiņā, lai neviena puse neturpinātu darboties. Nekas no tā nepadara vecos parametrus drošus, tas tikai neļauj vienas ierīces ierobežojumam kļūt par visu pamatu.