VPN paketinin düz iki yoxlama məbləği daşıdığı iddiası səliqəli səslənir və açılmağa dəyəcək qədər tez-tez yanlışdır. Say hansı IP versiyalarının göründüyündən, hansı nəqliyyat protokolunun daşındığından və tunelin hansı qoruma formatından istifadə etdiyindən asılıdır. Başlıq yoxlama məbləği, yuxarı qat yoxlama məbləği və kriptoqrafik bütövlük teqi üç fərqli əhatə dairəsi olan üç mexanizmdir. Onları saymaq hər birinin nəyi əhatə etdiyini qeyd etməklə başlayır.

IP versiyalarından hansıların həqiqətən naqildə olduğunu yoxlayın

IPv4 başlıqları 16 bitlik başlıq yoxlama məbləği daşıyır, IPv6 başlıqları isə belə bir şey daşımır. Bu tək fakt hər tunel üçün sayı dəyişir, çünki IPv4-ü IPv6 içində və IPv6-nı IPv4 içində bükmək fərqli sənədlər yaradır. Tunel hər iki ailəni eyni vaxtda daşıya bilər və bu halda bir istiqamət digərində olmayan sahəni ehtiva edə bilər. Heç nə saymadan əvvəl versiyaları müəyyənləşdirin.

Düzülüşü şəkil deyil, başlıqlar siyahısı kimi yazın. Tutma oxuyarkən sıra vacibdir və yoxlama məbləği sahəsinin olub-olmaması ilk qeyd edilməli şeydir.

outer IPv6 | ESP | inner IPv6 | UDP | application data
outer IPv4 | ESP | inner IPv4 | TCP | application data

Birinci sətirdə IP başlıqlarının heç birində IP başlıq yoxlama məbləği yoxdur, ikincidə isə hər iki başlıq IPv4 olduqda iki ədəd var. Eyni tunel texnologiyası, fərqli say və sətirlərin heç biri tam naqil formatı deyil.

Hər yoxlama məbləğinin nəyi əhatə etdiyini yoxlayın

Əhatə insanların atladığı hissədir və sayı mənalı edən də elə budur. IPv4 başlıq yoxlama məbləği başlığı qoruyur və başqa heç nəyi, ona görə arxasındakı faydalı yük haqqında heç nə demir. IPv6 üzərində UDP yoxlama məbləği psevdo-başlığı, UDP başlığını və faydalı yükü əhatə edir, yəni datagram tunelləşdirildikdə daşınan paketin içinə qədər çatır. TCP-nin də oxşar psevdo-başlıq asılılığı olan öz yoxlama məbləği var. Üçü də yoxlama məbləği adlansa da, bunlar üç fərqli əhatə dairəsidir.

RFC 791 IPv4 başlıq yoxlamasını və hər hopda yenidən hesablanmasını müəyyən edir, RFC 8200 isə IPv6 üzərində yuxarı qat emalını, o cümlədən psevdo-başlığı müəyyən edir. Heç bir sənəd VPN paketinin sabit sayda yoxlama məbləği daşıdığını demir, çünki heç biri tuneli təsvir etmir.

tshark -r capture.pcap -Y "ip.proto == 50" -V | grep -i checksum

Bütövlük qorumasını ayrıca yoxlayın

ESP bütövlüyü öz əhatə dairəsi və alqoritmdən asılı təsviri olan kriptoqrafik qorumadır. Bu, başqa ad altında IP və ya UDP yoxlama məbləği deyil və uzunluğu seçilmiş quruluşdan asılı olaraq dəyişir. Bütövlük yoxlaması paketin müəyyən hissəsini əhatə edir və istifadə olunan rejimdən asılı olaraq ESP başlığını və faydalı yükün bir hissəsini əhatə edə bilər. Onu məlum enli yoxlama məbləği sahəsi kimi saymaq bu izahatların çoxunun dağıldığı yerdir.

Baytları saymadan əvvəl seçilmiş quruluşu oxuyun və nəticəni fərqli etiketli yoxlama məbləği kimi deyil, bütövlük qoruması kimi təsvir edin. Dekoder sahəni sizdən soruşsanız, onu sizin üçün adlandıracaq.

tshark -r capture.pcap -Y esp -V | grep -iE "integrity|icv"

Saymadan əvvəl müşahidə nöqtəsini yoxlayın

Daxili interfeysdə tutma və naqildə tutma tamamilə fərqli qatları göstərə bilər. Daxili interfeysdə tunel artıq soyulub, ona görə daşınan paketi görürsünüz və xarici başlıqların heç birini görmürsünüz. Naqildə isə xarici başlıqları və oxuya bilmədiyiniz şifrələnmiş faydalı yükü görürsünüz. Heç bir baxış yanlış deyil və onlar eyni obyektin baxışları deyil. Hər hansı say göstərməzdən əvvəl tutmanın harada alındığını bildirin.

sudo tcpdump -ni eth0 -vv -c 5 esp
sudo tcpdump -ni tun0 -vv -c 5

Birinci əmr xarici paketi bütövlük qoşması ilə göstərir, ikincisi isə daşınan paketi öz nəqliyyat yoxlama məbləği ilə göstərir. Hər iki tutmadan gələn rəqəmləri toplamaq heç nəyi iki dəfə saymır, lakin eyni paketi iki dəfə izah edir.

Sayı real tutma ilə müqayisə edin

Bir paketi tam deşifrə edin və dekoderin yoxlama məbləği və ya bütövlük dəyəri adlandırdığı hər sahəni qeyd edin. Sonra hər işarəni yazdığınız düzülüşlə müqayisə edin və həqiqətən saymadığınız qata aid olanları silin. Bu məşqdən sağ çıxan say müdafiə oluna biləndir, yaddaşdan söylənən say isə deyil.

Cavab istiqaməti üçün təkrarlayın, çünki hər iki ailəni daşıyan tunel istiqamətə və axına görə fərqlənə bilər. Sonra sayı əhatə dairəsi ilə birlikdə deyin, məsələn bu müşahidə nöqtəsində bu daxili paket üçün üç yoxlama məbləği, ümumiyyətlə VPN paketlərinin xassəsi kimi deyil.

tshark -r capture.pcap -T fields -e ip.checksum -e udp.checksum -e tcp.checksum

Əlaqəli məqalələr