A yw VPN yn rhedeg allan o entropi? Beth mae entropy_avail yn ei ddangos mewn gwirionedd
Mae oediad wrth gychwyn a thwnel sefydledig araf yn ddau feth gwahanol. Darllenwch y cam, gwir ystyr y rhifydd a'r ciw cyn beio ar hap.
Mae rhedeg allan o hap y cnewyllyn yn esboniad deniadol ar gyfer VPN araf, ac mae bron bob amser yn anghywir ar gyfer y symptom y mae pobl yn ei adrodd. Mae gwesteiwr sy'n aros am allbwn ar hap yn stopio ar foment benodol, fel arfer yn gynnar yn y cychwyn neu yn ystod trin allweddi. Mae twnel sy'n cysylltu'n gyflym ac wedyn trosglwyddo'n araf yn disgrifio trwybwn yn lle hynny. Gwahanwch y ddau sylw hynny cyn gosod daemon i drwsio rhif nad ydych wedi gorffen ei ddarllen.
Pam mae'r chwedl yn goroesi
Mae'r ddau broblem yn real ac maent yn edrych yn debyg o bell. Mae oediadau cychwyn ar beiriant rhithwir sydd newydd gychwyn yn digwydd o ddifrif, ac mae twnel sefydledig araf yr un mor real. Y camgymeriad yw tybio bod yr ail yn cael ei achosi gan y cyntaf oherwydd bod cryptograffeg yn ymddangos rywle yn y ddwy stori. Nid oes dim yn y gair amgryptio yn awgrymu bod pob beit a drosglwyddir yn defnyddio beit newydd o sŵn amgylcheddol.
Nid felly mae'r generaduron hyn yn gweithio. Mae llyfrgell gryptograffig yn cadw generadur â had ac yn tynnu allbwn ohono, gan ailhadu dan ei pholisi ei hun, felly'r foment gostus yw hadu yn hytrach na throsglwyddo cyson.
Beth mae generadur yn ei wneud fesul pecyn
Yn OpenSSL 3 mae'r hierarchaeth generadur diofyn yn cael ei hadeiladu o achosion DRBG sy'n hadu ac yn ailhadu yn ôl ffurfweddiad a chyflwr. Yn OpenVPN 2.6 mae llwybr data AEAD yn deillio ei nonce o rif dilyniant y pecyn ynghyd â gwerth ymhlyg fesul sesiwn, tra bo'r llwybr CBC hŷn yn tynnu IV ffug-hap fesul pecyn. Nid oes y naill batrwm na'r llall yn cefnogi rheol bod symud gigabeit yn defnyddio gigabeit o sŵn newydd y cnewyllyn. Mae'r ddau yn cefnogi'r syniad mai cynhyrchu allweddi a chyfaredu yw'r man lle mae hadu yn bwysig.
Mae achos CBC yn werth ei enwi oherwydd ei fod yn edrych fel y chwedl ac nid yw: daw ei IV fesul pecyn o generadur y llyfrgell ar amserlen ailhadu'r llyfrgell ei hun, byth o alwad i'r cnewyllyn fesul pecyn. Pan fydd rhywun yn dyfynnu cost entropi fesul beit, gofynnwch pa fersiwn llyfrgell a pha lwybr cod y maent wedi'i fesur.
Lle mae'r aros yn dangos mewn gwirionedd
Rhowch stampiau amser o amgylch y camau yn hytrach nag o amgylch y sesiwn: cychwyn, dilysu, newid allwedd a throsglwyddo. Mae aros cyn i'r twnel fod yn ddefnyddiadwy yn gŵyn wahanol i gyfradd gyson isel, a dim ond un ohonynt sy'n cyfeirio at hap. Ar Linux gall cais getrandom() arferol rwystro nes bod ffynhonnell hap y cnewyllyn wedi'i chychwyn, a dyna pam mae fersiwn cychwyn y broblem hon yn real ar beiriannau rhithwir a byrddau wedi'u mewnosod sydd â phrin o ddeunydd i fwydo'r pwll yn gynnar.
| Cam | Beth i'w redeg | Darlleniad sy'n golygu aros | Darlleniad sy'n golygu trwybwn |
|---|---|---|---|
| Cychwyn, cyn unrhyw dwnel | systemd-analyze critical-chain | uned sy'n eistedd am eiliadau cyn i'r twnel ddechrau | ddim yn berthnasol, nid oes dim yn trosglwyddo eto |
| Cyfaredu | journalctl -u openvpn-server@server -b | bwlch hir cyn i'r dilyniant cychwyn gael ei gwblhau | ddim yn berthnasol, nid yw'r twnel i fyny |
| Trosglwyddo sefydledig | ss -tin wrth ymyl sar -n DEV 1 | proses wedi'i rhwystro â chiwiau soced gwag | chiwiau llawn, aildrosglwyddiadau ac un edefyn prysur |
Mae dau orchymyn rhad yn perthyn i ddechrau'r casgliad hwnnw, ac maent yn setlo'r cwestiynau hawdd cyn bod angen y tabl o gwbl. Mae'r rhifydd y maent yn ei ddarllen yn gyfrifo entropi yn hytrach na mesurydd lled band, ac ni all un ciplun ddangos bod proses wedi'i rhwystro, pa mor hir y bu'n aros, na pha ryngwyneb y mae ei llyfrgell yn ei alw. Mae sampl a gymerir ar ôl adferiad fel arfer yn colli'r oediad yn gyfan gwbl, felly cadwch fersiwn y cnewyllyn wrth ymyl y darlleniad.
cat /proc/sys/kernel/random/entropy_avail
uname -rCyfatebwch y cywiriad i'r darlleniad
Os yw'r cnewyllyn yn aros am gychwyn o ddifrif, edrychwch ar lwybr hadu a gefnogir gan y platfform yn hytrach nag ar y twnel. Gellir rhoi dyfais hap a ddarperir gan y gwesteiwr i beiriant rhithwir, megis virtio-rng, ac mae paratoi'r ddelwedd yn bwysig oherwydd nid yw had a gopïwyd heb ei newid i lawer o westeion yn gychwyn annibynnol. Os yw llyfrgell yn adrodd methiannau hadu ar ôl cychwyn, archwiliwch ei ffynhonnell ffurfweddedig a'i hymddygiad darparwr yn lle newid gosodiadau'r cnewyllyn.
ss -tin dst 203.0.113.7
sar -n DEV 1 5Mae dogfennaeth generadur OpenSSL yn disgrifio sut mae'r hierarchaeth honno'n cael mewnbwn a phryd mae ailhadu yn digwydd, sy'n honiad llawer culach na'r chwedl ac sy'n wir am y gweithrediad hwnnw yn unig. Nid yw daemon entropi yn atgyweiriad cyflymder cyffredinol, ac mae gosod un i wneud i rifydd godi yn newid rhagdybiaeth diogelwch heb ddangos oediad. Ar gyfer trwybwn, dilynwch y llwybr data: mae un edefyn dirlawn, aildrosglwyddiadau, colled allanol a gollwng ciwiau yn gofyn am gywiriad gwahanol yr un, ac mae meintiau byffer yn mynd i'r afael â byffro soced gyda'u tystiolaeth ciw eu hunain.