OpenVPN tls-ciphersuites géint tls-version-min: wat jiddwereen duerchsetzt
Eng TLS 1.3-Suitelëscht begrenzt d'Protokollversioun net, an show-tls weist nëmmen déi lokal Ënnerstëtzung. Kontrolléiert Politik, Suiten an ausgehandelt Resultater getrennt.
Dräi verschidde Fakten ginn an de meeschte OpenVPN-TLS-Diskussiounen an eng Zeil zesummegefaasst: wat deng Client-Build kann, wat de Profil erlaabt an wat d'Sessioun tatsächlech ausgehandelt huet. Eng kuerz TLS 1.3-Suitelëscht beäntwert just déi mëttel Fro hallef an seet näischt iwwer de Mindeststand vun der Protokollversioun. Gitt déi ënnescht Kontrollen der Rei no duerch a stoppt bei der éischter, déi net hält, well all spéider Kontroll viraussetzt, datt déi virdrun gekläert sinn.
Kontrolléiert d'Build, ier dir iergendeng Lëscht liest
Eng Konfiguratiounsdirektiv kann engem Binary keng Protokollënnerstëtzung bäifügen, déi et net huet. Fänkt mam Versiounsbanner un, deen déi kompiléiert Kryptobibliothéik nennt:
openvpn --version
Eng 2.6-Build, déi mat OpenSSL gelinkt ass, akzeptéiert souwuel tls-cipher wéi och tls-ciphersuites. Eng Build mat mbed TLS huet guer keng TLS 1.3-Suiteauswiel, an den 2.6-Handbuch markéiert tls-ciphersuites als OpenSSL-Optioun. Wann de Server mat engem anere Backend nei gebaut gëtt, kann dee selwechte Profil säi Verhalen änneren, ouni datt eng eenzeg Zeil vun der Konfiguratioun sech ännert.
Wärend dir hei sidd, fuert openvpn --show-tls aus a behält den Output. Et ass den Inventar, mat deem dir spéider vergläicht, an et ass bëlleg, en ze erfassen, ier iergendeen ufänkt, Profiler z'änneren.
Schreift de Banner an d'Lëscht an den Ännerungsticket, net an eng Chatfënster. Wann zwee Leit sech stridden, ob e Client a sechs Woche kënnt eng Suite ubidden, entscheet den erfaassten Output dat an enger Zeil.
Halt d'Versiounsgrenzen getrennt vun de Chifferlëschten
Am 2.6-Handbuch sinn dat dräi Kontrollen, net eng:
tls-ciphersetzt d'Chifferpolitik fir TLS 1.2 a méi fréi a gëtt un OpenSSL seng Chifferlëscht weiderginn;tls-ciphersuiteswielt TLS 1.3-Suiten aus;tls-version-minantls-version-maxbegrenzen d'Protokollversiounen, déi d'Verbindung benotze kann.
Also beweise suergfälteg beschnidden TLS 1.3-Suitelëschten näischt doriwwer, datt eng méi al Versioun nach erlaabt ass. Wann d'Ufuerderung «nëmmen TLS 1.3» ass, dréit de Mindeststand vun der Versioun se, an d'Suitelëscht enkelt just d'Walen bannent deem Stand:
tls-version-min 1.3
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
Dee Paar mécht zwou Aarbechten. Eng vun den Zeilen ze läschen hannerléisst déi aner, manner duerchzesetzen, wéi dir denkt, an dat ass genee dee Feeler, fir deen dës ganz Kontroll existéiert.
Den Datakanal ass eng véiert Kontroll. data-ciphers handelt de symmetresche Chiffer am Tunnel aus, an säi Resultat seet näischt iwwer d'TLS-Versioun vum Kontrollkanal. AES-256-GCM an der Sessiounszesummefaassung ze gesinn ass a keng Richtung e Beweis fir TLS 1.3.
Liest show-tls als lokalen Inventar
--show-tls zielt d'Suiten op, déi d'Kryptobibliothéik ënnerstëtzt, mat där dëse Binary gelinkt ass, an der Preferenzuerdnung. Et ass keen Rapport vum Gateway. Den Handbuch seet ausdrécklech, datt d'Lëscht aus der lokaler Bibliothéik kënnt, wat heescht, datt e Laptop mat OpenSSL 3.x an e Router mat enger méi aler Build verschidde Lëschten drécken, wärend si mat dem selwechte Server schwätzen.
| Evidence | What it actually describes |
|---|---|
--show-tls output | Capabilities of this client build and its library |
| Profile directives | What this attempt is allowed to offer |
| Session log line | What this one negotiation selected |
Stellt Iech vir, e Client ënnerstëtzt d'Suiten A, B an C an eng Sessioun wielt B. Dat beweise näischt doriwwer, ob de Server A oder C erlaabt, an och näischt doriwwer, ob B seng eenzeg erlaabten Auswiel ass. Halt déi dräi Zeilen auserneen, an déi meescht verwierbelte TLS-Threads léisen sech selwer.
Den Inventar ass et awer wäert, en ze halen. Wann eng Sessioun feelt, weist de Verglach vun der Bibliothéikslëscht mat der Profillëscht, ob de Client iwwerhaapt eng Chance hat, dat ze bidden, wat de Server wollt. Et weist och, ob eng Backend-Ännerung TLS_CHACHA20_POLY1305_SHA256 stëllem aus dem Pool ewechgeholl huet, op dee méi al Cliente sech verloossen — déi Zort Regressioun, déi sech als eng Handvoll Benotzer weist, déi sech net kënnen verbannen, wärend all aner näischt bemierken.
Frot de Gateway eppes, wat en beäntwere kann
Wann dir de Service administréiert, kuckt d'effektiv Konfiguratioun vun der lafender Instanz un, net eng Datei op der Plack. OpenVPN gouf vläicht mat engem aneren --config-Pad gestart, zitt Inklusiounen eran, an gouf vläicht zënter der Ännerung net nei gestart. D'Politik vum lafenden Daemon ass dat, op wat d'Cliente stoussen.
Wann dir en net administréiert, frot den Operateur no ënnerstëtzten Clientufuerderungen oder engem ofgegrenzten Akzeptanztest. Eng ofgelehnt Versuch ass net automatesch eng ofgelehnt Suite: e Versiouns-Mindeststand, Zertifikat-Identitéitskontrollen wéi remote-cert-tls, oder eng Net-Iwwereneestëmmung tëschent tls-auth an tls-crypt kënnen den Austausch beenden, ier d'Suitauswiel iwwerhaapt zielt. Liest de Serverfehler, ier dir d'Clientlëscht ännert, well «handshake failed» véier verschidde Ursaachen deckt an nëmmen eng dovun eng Chiffer-Net-Iwwereneestëmmung ass.
openssl s_client op de VPN-Port ze riichten, reproduzéiert d'Fro och net. De Kontrollkanal leeft bannent OpenVPN senger eegener Framing, also testt eng roh TLS-Sond en anert Protokoll op engem Port, deen eppes anescht erwaart. All Conclusioun dovun ass iwwer d'Sond, net iwwer den Tunnel.
Halt zwee Resultater fest a halt se getrennt
Eng frësch erlaabt Sessioun produzéiert eng Zeil vum Kontrollkanal, déi d'Protokollversioun an de gewielte Chiffer nennt, an eng separat Zeil vum Datakanal, déi den Tunnelchiffer nennt. Erfaasst béid mat der Clientversioun an dem Profilnumm, a notéiert, wéi eng Serverinstanz geäntwert huet:
openvpn --config office.ovpn --verb 4 2>&1 | tee session.txt
Liest duerno déi zwou Zeilen aus där Datei, net aus dem Gedächtnis. D'Paar ass de Beweis; en Suitennumm eleng ass eng Preferenz, an d'Versiounsgrenz ass eng separat Ausso doriwwer, wat de Server oflehnt.
Maacht d'Kontrollen an dëser Uerdnung. Bestätegt d'Build an de Backend mam --version. Erfaasst --show-tls, ier dir eppes ännert. Nennt de gefuerderten Versiouns-Mindeststand getrennt vun der Suitelëscht. Bestätegt déi effektiv Politik vun der lafender Instanz mat hirem Propriétaire. Observéiert eng erlaabt Sessioun an, wann de Plang et erlaabt, eng ofgelehnt Versuch mat enger méi aler Versioun. Halt d'Resultater vum Kontrollkanal an dem Datakanal als getrennt Feststellungen fest.
Wann e gefuerderten Client en neie Minimum net erfëlle kann, hëlt déi Migratiouns- oder Ausnamentscheedung ausdrécklech, amplaz eng onverbonne Akzeptanzregel stëllem erofzesetzen, sou datt d'Ausrollung fäerdeg ausgesäit.