Hubda WireGuard peer qrupları: mənbə sahibliyi üstəgəl siyasət
Peer qruplarını hər peer üçün dar mənbə ünvanları və yönləndirmə siyasəti ilə ayrı saxlayın, hər qrup üçün ayrı tunel interfeysi olmadan.
WireGuard işlədən hub, hər qrup üçün ayrı interfeys və ya marşrutlaşdırma cədvəli olmadan peer qruplarını ayrı saxlaya bilər. İki mexanizm bu işi görür və onları qarışdırmaq siyasətin düzgün görünüb heç nə etməməsinin adi səbəbidir. Bir qat mənbə ünvanını kimin iddia edə biləcəyini həll edir. Digəri bu paketin hara getməsinə icazə verildiyini həll edir.
İki vəzifə, ayrı saxlanılır
Tunel qatı dar bir suala cavab verir: bu peer-in açarı bu daxili mənbə ünvanını səlahiyyətləndiribmi. Yönləndirmə qatı daha geniş bir suala cavab verir: bu paket həmin təyinat tərəfə çıxa bilərmi. Heç biri digərinin sualına cavab vermir və heç biri tək başına tam giriş siyasəti deyil.
Bu bölgü ona görədir ki, peer autentifikasiya oluna, ünvanı düzgün ola və yenə də çatmamalı olduğu hosta çata bilməyə. Bu, əksini də izah edir: hər şeyə icazə verən firewall qaydası kimin hansı ünvanı iddia edə biləcəyi barədə heç nə sübut etmir.
İki qatı birlikdə layihələndirin, sonra hər ikisini sınayın. Bir qatda düzgün, digərində sınanmamış konfiqurasiya defoltdan asılı olaraq açıq və ya bağlı uğursuzluğa düşür.
Hər peer-ə yalnız öz ünvanını verin
Çoxhostlu peer-lər sizi server tərəfində bütün qrup diapazonunu verməyə təhrik edir. Bu icazə mənbə ünvanı iddiasıdır, ona görə kompromis edilmiş və ya səhv konfiqurasiya olunmuş klient diapazondakı istənilən ünvanı təqdim edə bilər və tunel onu qəbul edəcək. Hər peer-ə öz daxili ünvanı üçün /32 təyin edin. Qrup diapazonlarını yalnız klientlərdə qurun, orada onlar həmin klientin hansı təyinat tərəflərə çata biləcəyini hansı mənbələrdən istifadə edə biləcəyini deyil, təsvir edir.
Sonra firewall etibar edə biləcəyi mənbəyə uyğunlaşdırır. Qrupun diapazonu üçün yazılmış qayda yenə faydalı qruplaşdırmadır və yalnız heç bir tək peer başqa üzvə aid ünvanı iddia edə bilmədikdə mənalı olur.
Qrupları ayıran yönləndirmə siyasətini yazın
Buradakı maraqlı trafik eyni tunel interfeysinə girib çıxır, ona görə host giriş yolunu deyil, yönləndirmə yolunu keçir. Qaydalar hosta sahib olan firewall menecerinin mövcud yönləndirmə zəncirinə aiddir və onlar tam qaydalar toplusu deyil, fraqmentlərdir.
iifname "wg0" oifname "wg0" ip saddr 10.66.10.0/24 ip daddr 10.66.10.0/24 accept iifname "wg0" oifname "wg0" ip saddr 10.66.20.0/24 ip daddr 10.66.20.0/24 accept iifname "wg0" oifname "wg0" drop
İlk iki qayda hər qrup daxilində trafikə icazə verir. Sonuncu isə həmin interfeysi keçən hər şeyi bloklayır və qruplar arasında izolyasiyanı məhz bu yaradır. Digər ünvan ailəsi üçün açıq qaydalar lazımdırsa əlavə edin, çünki IPv4 üçün yazılmış bloklama IPv6 davranışını nə icazə verir, nə də təsvir edir.
Sıra siyasətin tətbiq olunub-olunmadığını həll edir
Qayda sırası fraqmentin özündən daha vacibdir. Bu girişlərdən əvvəl yerləşdirilmiş, qurulmuş bağlantıları qəbul edən ümumi qayda köhnə qruplararası axının davam etməsinə imkan verir, beləliklə izolyasiya yalnız yeni bağlantılara aiddir. Yenidən yükləməzdən əvvəl bu iki nəticədən hansını istədiyinizə qərar verin.
Qəbul qərarı da eyni hook-da zəncirlər arasında həmişə yekun deyil. Əgər başqa baza zənciri sonra işləyirsə, effektiv siyasət birləşmədir, ona görə redaktə etdiyiniz fayla deyil, sayğaclara baxın. Sayğaclar ən ucuz sübutdur. Paket sayı olmayan qayda uyğunlaşmır, uyğunlaşan qayda isə sonrakı zəncir qəbul edərkən bloklamanın səhv yerdə olduğunu göstərir.
Fayl sayını deyil, matrisi sınayın
Gözlənilən nəticələrdən kiçik matris qurun və hər xananı yoxlayın. A qrupundan A qrupuna işləməlidir, B qrupundan B qrupuna işləməlidir, A-dan B-yə isə işləməməlidir, hər iki istiqamətdə və dəstəklədiyiniz halda hər iki ünvan ailəsi üçün.
nft list ruleset wg show wg0 allowed-ips ping -c 2 10.66.10.5 conntrack -L -s 10.66.20.7 2>/dev/null | head
İlk ikisi nəyin konfiqurasiya edildiyini göstərir. Səhv qrupun üzvündən gələn ping əslində nə baş verdiyini göstərir. conntrack siyahısı köhnə axının hələ də qəbul edilib-edilmədiyini göstərir və izolyasiya dəyişikliyinin səssizcə qüvvəyə minməməsi məhz belə olur.
Hubdakı host xidmətləri və onun arxasındakı LAN-a çıxış ayrı siyasəti olan ayrı yollardır. Matrisin hansını əhatə etdiyini qeyd edin, çünki yalnız peer-to-peer trafiki yoxlayan test onların heç biri barədə heç nə demir.