Kernel təsadüfiliyinin tükənməsi yavaş VPN üçün cəlbedici izahdır və insanların bildirdiyi simptom üçün demək olar ki, həmişə səhv izahdır. Təsadüfi çıxışı gözləyən host müəyyən anda dayanır, adətən yüklənmənin əvvəlində və ya açar emalı zamanı. tez qoşulan və sonra yavaş ötürən tunel əvəzində ötürmə qabiliyyətini təsvir edir. Oxumağı bitirmədiyiniz bir rəqəmi düzəltmək üçün demon quraşdırmadan əvvəl bu iki müşahidəni ayırın.

Mif niyə yaşayır

Hər iki problem realdır və uzaqdan bir-birinə bənzəyir. Yeni yüklənmiş virtual maşında başlanğıc dayanmaları həqiqətən olur və yavaş qurulmuş tunel də eyni dərəcədə realdır. Səhv ikincinin birincinin səbəbindən yarandığını güman etməkdir, çünki kriptoqrafiya hər iki hekayədə hansısa yerdə görünür. Şifrələmə sözü heç bir şəkildə ötürülən hər baytın yeni bir bayt ətraf mühit küyü istehlak etdiyi mənasını vermir.

Bu generatorlar belə işləmir. Kriptoqrafik kitabxana toxumlanmış generator saxlayır və ondan çıxış çəkir, öz siyasətinə uyğun yenidən toxumlayır, buna görə bahalı məqam sabit ötürmə deyil, toxumlamadır.

Generator hər paket üçün nə edir

OpenSSL 3-də standart generator iyerarxiyası konfiqurasiya və vəziyyətə uyğun toxumlanan və yenidən toxumlanan DRBG nüsxələrindən qurulur. OpenVPN 2.6-da AEAD məlumat yolu nonce dəyərini paketin ardıcıllıq nömrəsindən hər sessiya üçün gizli dəyərlə birləşdirərək çıxarır, köhnə CBC yolu isə hər paket üçün psevdo-təsadüfi IV çəkir. Heç bir model bir giqabaytın köçürülməsinin bir giqabayt yeni kernel küyü istehlak etdiyi qaydasını dəstəkləmir. Hər ikisi açar generasiyası və əl sıxışmalarının toxumlamanın vacib olduğu yer olduğu fikrini dəstəkləyir.

CBC halını adlandırmağa dəyər, çünki mifə bənzəyir və mif deyil: onun hər paket üçün IV dəyəri kitabxananın öz yenidən toxumlama cədvəlinə uyğun olaraq kitabxana generatorundan gəlir, heç vaxt hər paket üçün kernel çağırışından gəlmir. Kimsə bayt başına entropiya xərci sitat gətirəndə soruşun: hansı kitabxana versiyasını və hansı kod yolunu ölçüblər.

Gözləmə əslində harada görünür

Zaman damğalarını sessiyanın ətrafına deyil, mərhələlərin ətrafına qoyun: başlanğıc, autentifikasiya, açar dəyişməsi və ötürmə. Tunelin istifadəyə yararlı olmasından əvvəlki gözləmə aşağı sabit sürətdən fərqli bir şikayətdir və onlardan yalnız biri təsadüfiliyə işarə edir. Linux-da normal getrandom() sorğusu kernelin təsadüfi mənbəyi işə salınana qədər bloklaya bilər, buna görə bu problemin yüklənmə versiyası hovuzu erkən qidalandırmağa az şeyi olan virtual maşınlarda və quraşdırılmış lövhələrdə realdır.

MərhələNə işlətmək lazımdırGözləmə demək olan oxunuşÖtürmə qabiliyyəti demək olan oxunuş
Yüklənmə, hər hansı tuneldən əvvəlsystemd-analyze critical-chaintunel başlamazdan əvvəl saniyələrlə oturan vahidtətbiq olunmur, hələ heç nə ötürülmür
Əl sıxışmasıjournalctl -u openvpn-server@server -binisializasiya ardıcıllığı tamamlanmazdan əvvəl uzun boşluqtətbiq olunmur, tunel qalxmayıb
Qurulmuş ötürməss -tin yanında sar -n DEV 1boş soket növbələri ilə bloklanmış prosesdolu növbələr, yenidən göndərmələr və bir məşğul ip

İki ucuz əmr həmin toplunun əvvəlinə aiddir və cədvəl lazım olmadan əvvəl asan sualları həll edir. Onların oxuduğu sayğac entropiya uçotudur, bant genişliyi ölçən deyil və tək bir anlıq görüntü prosesin bloklandığını, nə qədər gözlədiyini və ya kitabxanasının hansı interfeysi çağırdığını göstərə bilməz. Bərpadan sonra götürülmüş nümunə adətən dayanmanı tamamilə buraxır, buna görə kernel versiyasını oxunuşun yanında saxlayın.

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

Düzəlişi oxunuşa uyğunlaşdırın

Kernel həqiqətən inisializasiyanı gözləyirsə, tunelə deyil, platformanın dəstəklədiyi toxumlama yoluna baxın. Virtual maşında host tərəfindən verilən təsadüfi cihaz, məsələn virtio-rng, verilə bilər və obraz hazırlığı vacibdir, çünki bir çox qonağa dəyişdirilmədən köçürülən toxum müstəqil inisializasiya deyil. Kitabxana yüklənmədən sonra toxumlama uğursuzluqları bildirirsə, kernel parametrlərini dəyişmək əvəzinə onun konfiqurasiya edilmiş mənbəyini və provayder davranışını yoxlayın.

ss -tin dst 203.0.113.7
sar -n DEV 1 5

OpenSSL generator sənədləşməsi həmin iyerarxiyanın girişi necə əldə etdiyini və yenidən toxumlamanın nə vaxt baş verdiyini təsvir edir, bu mifdən qat-qat dar iddiadır və yalnız həmin tətbiq üçün keçərlidir. Entropiya demonu universal sürət təmiri deyil və sayğacı qaldırmaq üçün onu quraşdırmaq gecikmə nümayiş etdirmədən təhlükəsizlik fərziyyəsini dəyişir. Ötürmə qabiliyyəti üçün məlumat yolunu izləyin: doymuş bir ip, yenidən göndərmələr, xarici itki və növbə itkiləri hər biri fərqli düzəliş tələb edir və bufer ölçüləri soket buferləşdirməsini öz növbə sübutları ilə həll edir.

Əlaqəli məqalələr