Bütün portları əhatə edən yönləndirmə WireGuard dinləyicinizi uda bilər
Geniş yönləndirmə qaydası şlüzun öz WireGuard və SSH dinləyicilərini uda bilər. Dar qaydalar və ya ayrıca ictimai ünvan seçin, sonra nəzarət yolunu sınaqdan keçirin.
İctimai şlüz artıq UDP 51820 üzərində WireGuard, 22 üzərində SSH və internetdən əlçatan olmalı bir tətbiq işlədir. Cəlbedici qayda bütün portları peer-ə yönləndirir və işi bitmiş sayır. WireGuard şlüzunda belə qayda tunelin öz nəqliyyatını tuta və onu sonlandıran maşından sizi kənarda qoya bilər. Dərcetmə nəzarət müstəvisi istisnası olan marşrutlaşdırma qərarıdır, tək bir DNAT sətri deyil.
İctimai giriş, tunel girişi: birini seçin
Xidmətin dərc edilməsi yeni internet giriş nöqtəsi yaradır. Bu, peer-ə VPN üzvlüyü verməklə eyni deyil, çünki ziyarətçi heç vaxt tunelə qoşulmur və şlüz backend-in ictimai üzünə çevrilir. Bu fərq qaydanın auditoriyasını və sertifikatını müəyyən edir.
İnzibati interfeyslər nadir hallarda ora aid olur. Səlahiyyətli VPN müştəriləri tərəfindən açılan admin səhifəsi hücum səthini tunelin içində saxlayır və giriş formasını təsadüfi skanlara məruz qoymur. İctimai tətbiq son nöqtələri yenə də öz TLS sertifikatına, autentifikasiyaya və sorğu məhdudiyyətinə ehtiyac duyur; şifrələnmiş WireGuard addımı ziyarətçinin şlüza qədər olan hissəsini qorumur.
Xidmət həqiqətən ictimai olmalıdırsa, host adını, onu əhatə edən sertifikatı və ona çatmalı ziyarətçi aralıqlarını yazın. Bu üç fakt sonradan qaydanın formasını və filtr siyasətini müəyyən edir. Bunlardan kənar hər şey ictimai dinləyicidə əhatənin genişlənməsidir.
Bir port içəri, bir backend çölə
Tək ictimai port və bir backend xidməti istifadə edin. Bu nümunədə eth0 ictimai 198.51.100.20 ünvanını daşıyır, şlüzun tunel ünvanı 10.200.0.1-dir və peer tətbiqi 10.200.0.7 üzərində işlədir. İctimai TCP 9443 peer-in TCP 8443 portuna uyğunlaşdırılır:
iptables -t nat -A PREROUTING -i eth0 -d 198.51.100.20 -p tcp --dport 9443 -j DNAT --to-destination 10.200.0.7:8443
iptables -t nat -A POSTROUTING -o wg0 -d 10.200.0.7 -p tcp --dport 8443 -m conntrack --ctorigdst 198.51.100.20 --ctorigdstport 9443 -j SNAT --to-source 10.200.0.1SNAT qaydası tərcümə olunmuş backend-ə və orijinal ictimai təyinat nöqtəsinə uyğun gəlir, buna görə eyni backend xidmətinə başqa bir bağlantı bu xəritələmədən kənarda qalır. O, həm də ziyarətçinin ünvanını peer-dən gizlədir və bu, mənbəni qoruyan marşrutlaşdırılmış qayıdışı ayrı bir dizayn edən güzəştdir. iptables genişlənmələri sənədi hər iki hədəfi və onların uyğunlaşdırma seçimlərini sənədləşdirir.
Yönləndirmə yenə də aktivləşdirilməlidir və filtr zəncirinə tərcümə olunmuş təyinat və port üçün, həmçinin qurulmuş cavablar üçün icazə lazımdır. FORWARD zənciri tərcümə olunmuş təyinatı DNAT-dan sonra görür, buna görə ictimai ünvana yazılmış qayda yönləndirilən paketə uyğun gəlmir. İcazəni ictimai olana deyil, backend dəstinə görə yazın.
Peer xidmət bağlantısını şlüzun tunel ünvanından qəbul etməli və cavabı tuneldən geri göndərməlidir. Onun AllowedIPs-i həqiqətən aldığı mənbəyə icazə verməlidir ki, mənbə tərcüməsi altında bu, şlüzun tunel ünvanıdır, və bu dizayn üçün hər peer-də geniş 0.0.0.0/0 yazısı tələb olunmur. Qayıdış trafikini düşürən şey siyahısı həmin ünvanı buraxan peer, ya da ziyarətçinin öz ünvanını yönləndirən mənbə qoruyucu dizayndır, buna görə qaydanızdakı mənbəyə deyil, peer-in həqiqətən gördüyü mənbəyə baxın.
Şlüzun öz dinləyicilərini qaydadan kənarda saxlayın
Port uyğunluğunu hər TCP və UDP təyinatını əhatə edən qayda ilə əvəz edin və şlüzun öz WireGuard soketi onun içində qalır. Təyinat tərcüməsi maşın paketin lokal olduğuna qərar verməzdən əvvəl baş verir, buna görə UDP 51820 hər peer bağlantısını saxlayan prosesə deyil, peer-ə çata bilər. Qayda uğurla yüklənir və tunel ölür, bu da peer tərəfindən oxunması çətin olan bir nasazlıqdır.
SSH, monitorinq agentləri və şlüzda yerləşən hər hansı digər xidmət eyni məruz qalmaya malikdir. Hər şeyi yönləndirən qayda nəzarət müstəvisini dərc edilmiş tətbiqdən ayırmır və dəyişiklikdən sonra ilk yenidən başlatma kilidlənmənin görünən olduğu andır. Hər şeyi tutan qayda səssizcə ələ keçirdiyi xidmət barədə xəbərdarlıq etmir. Bunu növbəti bağlantı uğursuz olanda kəşf edirsiniz.
Əgər geniş yönləndirmə həqiqətən lazımdırsa, nəzarət portlarını hər şeyi tutan qaydadan əvvəl qoruyun və ya dərc üçün ayrıca ictimai ünvan istifadə edin. İkinci seçim daha təmizdir, çünki nəzarət ünvanı öz siyasətini saxlayır, lakin provayder həmin ünvanı təqdim etməlidir; DNS yazısı əlavə etmək onu ayırmır.
Geniş TCP və UDP yönləndirməsi də bütün protokollar deyil. ICMP, IPv6, yol-MTU əks əlaqəsi və xarici VPN nəqliyyatı öz siyasətini tələb edir və TCP və UDP-ni əhatə edən qayda bu halları defolt zəncirə buraxır.
Qaydaları yazmazdan əvvəl modeli seçin
Dörd forma şlüz dərcetmələrinin çoxunu əhatə edir və seçim neçə xidmət işlətdiyinizdən və nə qədər nəzarət müstəvisi riskinə dözə bildiyinizdən asılıdır. Aşağıdakı cədvəl onları ən dardan ən genişə düzür.
| Model | What it protects | Cost | Use when |
|---|---|---|---|
| Narrow port forward | Every other listener, including the VPN | One rule per service | Few services, stable ports |
| Catch-all with reserved ports | Ports named in the exception list | Rule order becomes critical | Many services and disciplined review |
| Separate public address | Control address fully isolated | Provider must supply the address | High-value publication |
| VPN-only access | No public entry at all | Visitors need the tunnel | Admin interfaces and internal tools |
Sonradan daha çox xidmət gözləsəniz belə, dar modellə başlayın. Onu audit etmək ən asandır və dar qaydalar dəstini nəzərdən keçirilmiş hər şeyi tutan qaydaya çevirmək, geniş qaydanın hansı dinləyicini tutduğunu kəşf etməkdən sadədir. Hansı modeli seçsəniz də, qaydaları firewall sahibində saxlayın. Eyni zəncirləri idarə edən UFW və ya nftables konfiqurasiyasının yanında iptables sətirləri tətbiq etmək, yükləmə sırasından asılı olaraq dəyişən siyasət yaradır.
Həm dərcetməni, həm nəzarət yolunu sübut edin
Səlahiyyətli xarici müştəridən təsdiqlənmiş host adı və onun üçün etibarlı sertifikatla sınaqdan keçirin. Hansı backend-in cavab verdiyini təsdiqləyin, sonra əlaqəsiz ictimai portların rədd edildiyini yoxlayın. Deaktiv edilmiş sertifikat yoxlaması keçən HTTPS testi deyil və səhv backend-ə çatan bağlantı uğursuz olandan pisdir.
Bundan sonra şlüzun özünü yoxlayın: WireGuard peer qoşun, SSH sessiyası açın və monitorinqin hələ də hesabat verdiyini təsdiqləyin. Dərc edilmiş xidmət nəzarət müstəvisi pozulmuş halda işləyə bilər, buna görə hər iki yoxlama eyni dəyişiklik pəncərəsinə aiddir. Qaydaların gözlənilən sıra ilə yenidən tətbiq olunduğunu sübut etmək üçün bir dəfə yenidən başladın, sonra dərcetməni silin və silmənin həqiqətən əlavəyə uyğun olduğunu təsdiqləyin. Başlanğıcda çoxlu əlavə və natamam təmizləmə, müvəqqəti testin daimi açılışa çevrilmə üsuludur.