OpenVPN-logboek: versleuteling van het controlekanaal tegen versleuteling van het datakanaal
DHE-RSA-AES256-SHA in het logboek beschrijft het TLS-controlekanaal, niet de versleuteling die je verkeer beschermt. Zoek het afzonderlijke resultaat van het datakanaal.
Een logregel die DHE-RSA-AES256-SHA noemt, is geen samenvatting van de hele verbinding. Hij hoort bij de TLS-handshake die het controlekanaal beschermt, en het verkeer binnen de tunnel kan heel anders versleuteld zijn. Hem presenteren als de datacipher van de VPN is de fout die je moet vermijden.
Er tellen twee resultaten, en ze beantwoorden verschillende vragen. Het ene is de onderhandelde TLS-suite voor het controlekanaal; het andere is de datacipher voor de pakketten die de tunnel vervoert.
Twee resultaten, twee vragen
Het controlekanaal vervoert de handshake en de beheersberichten tussen de peers. De cipher ervan wordt gekozen door de TLS-stack, dus de naam volgt de TLS-conventies. Het datakanaal vervoert gebruikersverkeer en wordt geconfigureerd door de eigen cipheronderhandeling van OpenVPN.
Bepaal welke vraag je beantwoordt voordat je een van beide regels leest. Of de tunnel versleuteld is en of de handshake sterk is, zijn niet dezelfde vraag.
Een logfragment dat beide regels toont, is het bruikbare. Lees de controleregel voor de TLS-versie en -suite, en de dataregel voor het algoritme dat de payload werkelijk beschermt.
Ontleed de TLS-suitenaam in zijn eigen context
In een historische OpenSSL-naam zoals DHE-RSA-AES256-SHA beschrijft elk onderdeel een andere beslissing. DHE is de tijdelijke Diffie-Hellman-sleutelovereenkomst, RSA is de authenticatiemethode, AES256 is AES-256 in CBC-modus voor TLS-records, en SHA is de op SHA-1 gebaseerde record-MAC.
Het laatste onderdeel is geen certificaatvingerafdruk, en het als zodanig lezen is een veelgemaakte fout. De naam noemt ook niet de protocolversie op zichzelf, omdat TLS 1.3 een heel ander naamgevingsschema gebruikt. TLS_AES_256_GCM_SHA384 volgt die nieuwere vorm, waarbij de slot-hash deel uitmaakt van de samenstelling van de suite en geen MAC-keuze is. Pas de onderdeellezing alleen toe op de oudere naamgevingsstijl.
De OpenSSL-suitereferentie koppelt deze namen aan hun definities als een onderdeel onbekend is.
Lees het datakanaalresultaat voor vervoerd verkeer
Lees voor vervoerd verkeer de datakanaalregel uit dezelfde sessie. Een data-ciphers-lijst in de configuratie is een toegestane verzameling, geen bewijs dat een bepaald algoritme is onderhandeld. Het logboek legt de keuze vast; de configuratie vermeldt het menu.
Een AEAD-cipher zoals AES-GCM brengt zijn eigen integriteitscontrole mee, dus een aparte datakanaal-HMAC maakt geen deel uit van dat pad.
De richtlijn auth werkt TLS, certificaten of de datacipher niet op. Hij kiest een digest voor de delen van het protocol die er nog een gebruiken, en met een AEAD-datacipher is er geen aparte data-HMAC te configureren.
Houd identiteitscontroles buiten het cipherresultaat
Certificaatsignatuuralgoritme, validatie van de vertrouwensketen en verificatie van de peernaam zijn nog drie eigenschappen waarover een ciphernaam niets zegt. Een verlopen certificaat faalt, hoe sterk de suite ook is. Een niet-overeenkomende servernaam faalt op dezelfde manier. Een digestinstelling in het profiel corrigeren herstelt geen van beide.
Houd die controles in de beoordelingsnotities naast het cipherresultaat, niet erin opgenomen.
Leg de onderhandelde resultaten van de huidige sessie vast
Neem de resultaten van de huidige verbinding en leg de client- en serverversies daarbij vast. Een logboek dat alleen wordt aangevuld kan de regel van een oudere sessie bevatten, en die als actueel citeren is hoe een opgelost probleem blijft lijken bestaan.
Geef voor een beleidsbeoordeling de configuratie-eigenaar de onderhandelde TLS-versie en -suite, de gekozen datacipher en de certificaatvalidatie-instellingen samen. Wijzig die laag en lees daarna een nieuw logboek om de nieuwe onderhandelde waarden te bevestigen.