Kimsə soruşur ki, niyə VPN istifadəçisi tətbiq jurnalında şlüzə aid ünvana malik görünür, ya da nahardan sonra dəyişmiş ünvana malik görünür. Cavab bu dəyərin nə olduğundan başlayır: veb serverin sorğu mühitinə qoyduğu qeyd. Bu, tunelə sorğu deyil, sertifikat kimliyi deyil və nömrənin bir adama aid olması barədə vəd deyil. Onu bu üç şeydən biri kimi oxumaq, müxtəlif yollarla səhv olan əmin cavablar verir.

Dəyər serverdən gəlir, tuneldən deyil

PHP sorğu mühitini skripti icra edən şeydən alır. PHP server dəyişənləri arayışı bu qeydləri veb server tərəfindən yaradılmış kimi təsvir edir, mövcudluqları isə sorğunun necə gəldiyindən asılıdır.

VPN-in əmr sətri qarmağı kimi işləyən skript tamamilə başqa icra kontekstidir. Onun veb sorğusu, müştəri soketi və REMOTE_ADDR-i yoxdur, buna görə qarmağa köçürülmüş veb kod səhv dəyərlər yerinə boş dəyərlər verir. Qarmağın demon tərəfindən doldurulan öz mühiti var və o, ayrıca sənədləşdirilib. Orada REMOTE_ADDR-ə əl uzatmaq heç vaxt təyin edilməmiş dəyişənə əl uzatmaqdır.

İki jurnalı müqayisə etməzdən əvvəl bu fərqi yadda saxlayın. Bəlkə səhifə sorğusunu qarmaqla müqayisə edirsiniz, bu isə heç bir müqayisə deyil. Əvvəlcə icra kontekstini, sonra ünvanı yoxlayın.

Nömrəyə güvənməzdən əvvəl sorğunun yolunu keçin

Bildirilən ünvan veb serverin gördüyü bağlantının peer-idir. Müştəri ilə həmin server arasına hər hansı bir şey qoyun, peer dəyişir. Tərcümə, terminasiya və yük balanslaşdırması hər biri müşahidəni istifadəçidən bir addım uzaqlaşdırır.

Dörd ümumi yol dörd fərqli müşahidə verir.

Path to the listenerWhat can be reported
Client routed straight to the private listener, no translationThe client's tunnel address
Gateway translates the source before forwardingThe gateway's translated address
Reverse proxy terminates the client and opens its own backend connectionThe proxy's backend address
Load balancer in front of two proxiesWhichever hop the server treats as its peer

Yolu təyinat adı, ünvan ailəsi və hər tərcümə nöqtəsi ilə birlikdə yazın. Bu xəritə olmadan düzgün və səhv dəyər jurnal sətrində eyni görünür. İki sətirlik sxem bir günorta mübahisəsinə qənaət edir.

Əvəzləmə yalnız konfiqurasiya olunduğu yerdə baş verir

Server və ya freymvork müştəri ünvanını qəsdən əvəz edə bilər. Apache-in remote-IP modulu və NGINX-in real-IP modulu bunu edir, PHP-nin aldığı dəyər isə bu konfiqurasiyadan və skript idarəedicisinə ötürülən parametrlərdən asılıdır.

Yəni REMOTE_ADDR həmişə toxunulmamış TCP peer deyil. Bu, serverin öz siyasətini tətbiq etdikdən sonra bildirməyi seçdiyi peerdir. Bu fərq dəyərin sübut, yoxsa bəzək olduğunu həll edir.

Server sahibindən bu quraşdırmada hansı sahənin səlahiyyətli olduğunu və əvəzləmə baş verəndə ilkin peer-in necə saxlanıldığını soruşun. Heç kim cavab verə bilmirsə, jurnal hələ heç nəyi sübut etmir.

Yönləndirmə başlıqlarını etibarla oxumayın

Zəng edən özü yönləndirmə başlıqları göndərə bilər. Vergüllə ayrılmış birinci qeydi yoxlanılmış istifadəçi ünvanı kimi qəbul etmək, bağlanan hər kəsə inanmaq qərarıdır və bu, başlığın məqsədinin tam əksidir. Başlıq bir zənciri təsvir edir və yalnız etibarlı qat bu zəncirə zəmanət verə bilər.

Serverin və ya freymvorkun etibarlı proksi dəstəyini real proksi zənciri ilə konfiqurasiya edərək istifadə edin və onun bu zəncirdən kənar mənbələrdən gələn dəyərləri atmasına icazə verin. Əl ilə yazılmış təhlil maraqlı nasazlıqların çoxunun yaşadığı yerdir.

Proksinin bildirdiyi ünvan yuxarıdakı firewall-un gördüyü paket mənbəyini də dəyişmir. HTTP metadatasını və şəbəkə filtrləməsini ayrı müşahidələr kimi saxlayın, çünki onlar fərqli suallara cavab verir.

Qərarlar üçün tətbiqin kimliyindən istifadə edin

İstifadəçinin qeydlərinə giriş üçün autentifikasiya olunmuş prinsipal və tətbiqin avtorizasiya qaydalarına güvənin. Daxili ünvan yenidən təyin edilə bilər və bir tərcümə edilmiş ünvan yüzlərlə eyni vaxtlı istifadəçini təmsil edə bilər. Bu xassələrin heç birini ünvan yoxlaması düzəldə bilməz.

Əgər əməliyyatlar sorğunu VPN sessiyasına bağlamalıdırsa, müşahidə edilən ünvanı və vaxt damğasını sənədləşdirdiyiniz tərcümə modelinə uyğun olaraq səlahiyyətli sessiya qeydləri ilə birləşdirin. Bu, müdafiə edə biləcəyiniz bir əlaqə yaradır; tək ünvan bunu etmir.

Diaqnostika üçün bütün server massivinin yerinə lazım olan bir neçə sahəni jurnala yazın, çünki massiv başlıqlar və autentifikasiya materialı daşıya bilər. Faydalı nəticə bu dəyərin bu quraşdırmada nə məna verdiyini deyir, hansı dəyərin müştəriyə daha çox bənzədiyini deyil.

Əlaqəli məqalələr