Datt dem Kernel seng Zoufällegkeet ausgëtt, ass eng attraktiv Erklärung fir e luese VPN, a bal ëmmer déi falsch fir de Symptom, vun deem d'Leit berichten. E Host, deen op zoufälleg Ausgab waart, hänkt zu engem bestëmmten Ament, meeschtens fréi beim Start oder während der Schlësselbehandlung. En Tunnel, deen sech séier verbënnt an duerno lues iwwerdréit beschreift amplaz den Duerchsaatz. Trennt déi zwou Observatiounen, ier Dir en Daemon installéiert fir eng Zuel ze flécken, déi Dir nach net fäerdeg geliest hutt.

Firwat de Mythos iwwerlieft

Béid Problemer si reell an aus der Distanz gesi se gläich aus. Startstillstänn op enger frësch gestarteter virtueller Maschinn geschéien tatsächlech, an en luesen etabléierten Tunnel ass grad esou reell. De Feeler ass unzehuelen, datt den zweete vum éischten entsteet, well Kryptografie iergendwou an de béiden Erzielungen optaucht. Näischt um Wuert Verschlësselung bedeit, datt all iwwerdroe Byte en neie Byte Ëmweltkaméidi verbraucht.

Sou funktionnéieren dës Generatoren net. Eng kryptografesch Bibliothéik hält en gesaten Generator a zitt Ausgab doraus, resät en no hirer eegener Politik, sou datt dee deieren Ament d'Säen ass an net den duerchgoenden Transfert.

Wat en Generator pro Paket mécht

An OpenSSL 3 gëtt d'Standardgeneratorhierarchie aus DRBG-Instanze gebaut, déi no Konfiguratioun a Zustand säen a resäen. An OpenVPN 2.6 leet den AEAD-Datenwee seng Nonce aus der Sequenznummer vum Paket of, kombinéiert mat engem implizite Wäert pro Sessioun, während den eelere CBC-Wee pro Paket en pseudozoufällechen IV zitt. Kee vun de béide Mustere stäipt d'Regel, datt d'Bewege vun engem Gigabyte e Gigabyte frëschen Kernelkaméidi verbraucht. Béid stäipen d'Iddi, datt Schlësselgeneratioun an Handschlag déi Plaz sinn, wou d'Säen zielt.

De CBC-Fall verdéngt en Numm, well en wéi de Mythos ausgesäit an et net ass: säin IV pro Paket kënnt vum Generator vun der Bibliothéik no hirer eegener Resäplanung, ni vun engem Kernelopruff pro Paket. Wann een eng Entropiekäschte pro Byte zitéiert, frot, wéi eng Bibliothéiksversioun an wéi ee Codewee gemooss goufen.

Wou d'Waarde wierklech ze gesinn ass

Setzt Zäitstempel ëm d'Etappen amplaz ëm d'Sessioun: Start, Authentifizéierung, Schlësselwiessel an Transfert. D'Waarde, ier den Tunnel benotzbar gëtt, ass eng aner Plainte wéi eng niddreg konstante Rate, an nëmmen eng vun de béiden deit op Zoufall. Ënner Linux kann eng normal getrandom() Ufro blockéieren, bis d'Zoufallsquell vum Kernel initialiséiert ass, an dowéinst ass d'Startversioun vun dësem Problem reell op virtuellen Maschinnen an agebette Platen, déi fréi wéineg hunn, fir de Pool ze fidderen.

EtappWat auszeféierenLiesung, déi Waarde bedeitLiesung, déi Duerchsaatz bedeit
Start, virun all Tunnelsystemd-analyze critical-chaineng Eenheet, déi Sekonne sëtzt, ier den Tunnel startetgëllt net, et gëtt nach näischt iwwerdroen
Handschlagjournalctl -u openvpn-server@server -beng laang Lück, ier d'Initialiséierungssequenz fäerdeg assgëllt net, den Tunnel ass net uewen
Etabléierten Transfertss -tin nieft sar -n DEV 1e blockéierte Prozess mat leeren Socket-Schlangenvoll Schlangen, Widderhuelungen an een beschäftegten Thread

Zwee bëlleg Kommandoen héiere an den Ufank vun dëser Sammlung, an se klären déi einfach Froen, ier den Table iwwerhaapt néideg ass. De Compteur, deen se liesen, ass Entropiecomptabilitéit an net e Bandbreetemeter, an ee eenzegen Snapshot kann net weisen, datt e Prozess blockéiert ass, wéi laang en gewaart huet oder wéi eng Interface seng Bibliothéiksopruff benotzen. Eng Probe, déi no der Erhuelung geholl gëtt, verpasst de Stillstand meeschtens komplett, also haalt d'Kernelversioun nieft der Liesung.

cat /proc/sys/kernel/random/entropy_avail
uname -r

Passt d'Korrektur un d'Liesung un

Wann de Kernel wierklech op d'Initialiséierung waart, kuckt op de vum Plattform ënnerstëtzten Säwee amplaz op den Tunnel. Enger virtueller Maschinn kann en Host-bereetgestallten zoufällechen Apparat ginn, wéi zum Beispill virtio-rng, an d'Virbereedung vum Image zielt, well e Soma, dee onverännert a vill Gäscht kopéiert gëtt, keng onofhängeg Initialiséierung ass. Wann eng Bibliothéik no dem Start Säfehler mellt, ënnersicht hir konfiguréiert Quell an d'Verhalen vum Ubieder amplaz Kernelastellungen ze änneren.

ss -tin dst 203.0.113.7
sar -n DEV 1 5

D'OpenSSL-Generatordokumentatioun beschreift, wéi déi Hierarchie Input kritt a wéini resäen geschitt, wat eng vill méi enk Ausso wéi de Mythos ass an nëmme fir déi Implementatioun gëllt. En Entropiedaemon ass keng universell Geschwindigkeitsreparatur, an en ze installéiere fir e Compteur ze hiewen ännert eng Sécherheetsannahme ouni eng Verzögerung ze beweisen. Fir den Duerchsaatz, befollegt den Datenwee: een saturéierten Thread, Widderhuelungen, baussenzege Verloscht an de Fall vu Schlangen brauchen jiddereeeng aner Korrektur, an d'Puffergréissten adresséieren d'Socket-Pufferung mat hirem eegene Schlangebeweis.

Ähnlech Artikelen