Ee ale Peer forcéiert TLS 1.0: begrenz d’Ausnam, net den Host
Een eenzelt Apparat, deen op TLS 1.0 hänkt, oder en ale Provider-Zertifikat, kann eng méi schwaach Ënnergrenz forcéieren. Begrenz d’Ausnam, a mooss duerno, wat wierklech verhandelt gouf.
Een ale Apparat daucht op, verbënnt sech net, an déi séierst ausgesinn Reparatur ass, den ganzen Host ze schwächen, bis d’Verbindung geléngt. Dee Geschäft ass am Moment onsiichtbar an an der Praxis permanent, well keen eng Ënnergrenz ewechhëlt, déi endlech funktionéiert. Zwee ganz ënnerschiddlech Feeler maachen den Drock, an nëmmen ee vun hinne geet iwwerhaapt ëm Chiffren. Sortéier d’Feeler als éischt, a setz duerno d’Ausnam dohinner, wou se sech net kann ausbreeden.
Deelt de Feeler an zwee, éier Dir eng Direktiv ännert
Eng Serverlog-Linn iwwer keng gemeinsam Chiffre, oder iwwer eng net ënnerstëtzte Protokollversioun, kënnt vum Kontrollkanal: déi zwou Säiten konnten sech net drop eenegen, wéi se d’Verhandlung selwer schützen. Eng Client-Linn, déi seet, datt keng Method fir d’Serverzertifikat ze verifizéieren aktiv ass, kënnt vun enger ganz anerer Plaz, well dee Client guer net kuckt, wien geäntwert huet. Eng Daten-Chiffre z’änneren hëlleft beim zweete Fall net, an eng Rollpréifung derbäizemaachen hëlleft beim éischten net.
Huel déi éischt feelend Linn vun all Säit, net déi lescht virun der Trennung, well déi lescht meeschtens eng Folleg ass. Da stell fest, wéi eng Datei de Client tatsächlech opgemaach huet: en importéierte Profil existéiert dacks zweemol ënner verschiddenen Nimm, an déi Kopie z’änneren, déi kee liest, produzéiert eng iwwerzeegend Nichterännerung. En lafende Prozess behält d’Astellungen, mat deenen en ugefaangen huet, also ass eng gespäichert Datei keng geluede Datei. D’Kommandos hei drënner weisen d’Verhandlung vum Client niewent der Siicht vum Server op dee selwechten Versuch.
openvpn --config <profile>.ovpn --verb 4 2>&1 | head -n 40
journalctl -u [email protected] --since '-10 min' | grep -iE 'cipher|tls|verify'
En zweete Listener ass déi éierlech Plaz fir eng méi schwaach Ënnergrenz
Wann den Apparat bei TLS 1.0 mat engem Datakanal virun 2.5 ophält, muss de Server eng méi niddreg Ënnergrenz fir de Kontrollkanal an eng Daten-Chiffre ubidden, déi den ale Client erkennt. D’Fallback-Direktiv gëtt et genee fir dee Peer, wärend d’Chiffre-Lëscht modern Cliente op moderne Suiten hält. Béid Direktive gehéieren zum Listener an net zu engem Benotzer oder enger Verbindung, an keng Optioun pro Client enkelt se duerno an. Dofir ass een eenzelt Legacy-Apparat um Haaptport eng Entscheedung iwwer all Peer, deen dee Port deelt.
Wou d’Plattform et erlaabt, laaf den Legacy-Listener als eegent Instanz op engem separate Port, erlaab dee Port nëmme vun der Adress vum Apparat, a looss den Haaptservice an Rou. Schreef op, firwat den zweete Listener existéiert, an der Datei déi seng Konfiguratioun dréit, well soss liest eng zukünfteg Botzerei en als Reschter. D’Opdeelung ass nëmmen dann de Wäert, wann déi méi schwaach Ënnergrenz do ophält, wou den Apparat ophält.
tls-version-min 1.0
data-ciphers AES-128-GCM:AES-256-GCM:AES-256-CBC
data-ciphers-fallback AES-256-CBC
Wat en ale Provider-Zertifikat wierklech zerbricht
De Verifikatiounsfeeler ass eng feelend Rollverbindung: ouni si akzeptéiert de Client all Zertifikat, dat un eng vertraut CA ugeschloss ass, egal ob et fir e Server ausgestallt gouf oder net. Verbann d’Zertifikat als éischt mat der Serverroll, a behandelt d’Verbindung als Ufuerderung amplaz als Stellschraube. Nëmme e Profil, deen duerno nach ëmmer feelt, huet en richtegt Zertifikatsproblem.
En ale Provider-Zertifikat, deem seng Schlësselgréisst oder seng Ënnerschrëftalgorithmus d’Standardpolitik vun OpenSSL net méi erfëllt, ass de Fall fir eng ageschränkt Ännerung vum Sécherheetsniveau um Kontrollkanal. Den Niveau do ze senken schalt d’Verifikatioun net aus, an en däerf ni mat enger eidler CA, enger deaktivéierter Verifikatioun oder engem onprefferten Hostname kombinéiert ginn. Halt d’Linn an deem eenzege Profil, deen se brauch; eng entspaant OpenSSL-Konfiguratioun global z’exportéieren géif déi selwecht Entspanung all Programm op der Maschinn ginn.
remote-cert-tls server
tls-cipher "DEFAULT:@SECLEVEL=0"
Lies déi verhandelt Wäerter, net de Banner
Bei verbosity 4 dréchen déi zwou Säiten d’TLS-Versioun an d’Chiffre vum Kontrollkanal, op déi si sech g’eenegt hunn, an d’Daten-Chiffre fir d’Sessioun. Lies déi Linnen amplaz vum Initialiséierungsbanner, deen Erfolleg mellt an net seng Konditiounen. Da verbann e moderne Client erëm mam Haaptlistener a bestäteg, datt en nach ëmmer op enger moderner Suite landt, well eng Ausnam, déi an déi gedeelt Konfiguratioun duerchgesickert ass, sech hei als éischt weist. D’Wäerter, déi Dir kopéiert, ginn d’Basis fir déi nächst Iwwerpréiwung.
Test den ale Apparat eleng: en soll sech verbannen, an et soll déi eenzeg Sessioun an de Loge sinn, déi déi méi schwaach Parameter weist. Wann en zweete Peer och déi al Suite verhandelt, ass d’Ausnam méi breet wéi geduecht an d’Opdeelung vum Listener huet wierklech net stattfonnt. Notéier béid Observatiounen an net nëmmen de Schluss.
All Ausnam brauch en Eegentimer an en Datum
Eng Ausnam ouni Bedingung fir d’Entfernen gëtt stëll zum Standard, also setz den Apparat, den Eegentimer, de Grond an den Datum wou se fortgeet niewent d’Konfiguratioun, déi se justifiéiert. Ouni déi Linn iwwerlieft déi méi schwaach Ënnergrenz d’Hardware, déi se gebraucht huet.
De Client ersetzen, oder beim Provider en aktuelle Profil froen, ass d’Resultat op dat Dir zielt; d’Ausnam ass eng Verzögerung an net en Design. Wann den Apparat pensionéiert gëtt, entfernt de Listener an de Profil an der selwechter Ännerung, sou datt keng Hallschent weiderleeft. Nichts vun dësem mécht déi al Parameter sécher, et hält just d’Limite vun engem Apparat dovun of, d’Basis vun all ze ginn.