Yalnızca NEW kuralı kullanan güvenlik duvarı her WAN yolunu kapatmaz
NEW bağlantılarını reddetmek, kurulmuş akışları ve yanıtları olduğu gibi bırakır. Bir politikayı kapalı saymadan önce conntrack durumunu, kural sırasını ve istisnaları okuyun.
WAN üzerinde yeni giden bağlantıları reddetmek hatada kapanan bir politika gibi görünür, ama göründüğünden daha dar bir sözdür. Zaten var olan akışlara ait paketler buna uymaz, pek çok yanıt da uymaz. Bu boşluğu kaçırmak kolaydır çünkü kural, arayüzü kapsıyormuş gibi okunur, üzerindeki tek bir bağlantı durumunu değil. Ve durum eşleşmesini bir hüküm gibi okumak yanlış bir kapalılık hissi yaratır.
Durum bir eşleşme koşuludur, hüküm değil
Bağlantı izleme paketleri güvenlik duvarının zaten gördüğüne göre sınıflandırır, uygulamanın inandığına göre değil. İki yönde de gözlenen bir akış kurulmuş sayılır ve sonraki paketleri, alttaki yol tünelden olağan üst bağlantıya değişse bile kurulmuş kalır. Gelen bir bağlantıya verilen yanıt da kurulmuş trafik olabilir. O paketler bir daha asla yeni olmaz.
Bu yüzden yalnızca yeni bağlantılarla sınırlı bir kural korumalı her paketin engellendiğini kanıtlayamaz. Diğer durumları, kural kümesinin geri kalanının onlarla ne yaptığına bırakır; bu da zincirde daha önce yerleştirilmiş bir izin olabilir.
Kuralı çevresiyle birlikte okuyun
Engellemeden önce yerleştirilmiş, kurulmuş ve ilişkili trafik için geniş bir izin, engelleme hiç değerlendirilmeden paketi geçirir. Durum koşulunu sonraki bir kuraldan kaldırmak bunu değiştirmez, çünkü değerlendirme oraya hiç ulaşmaz. Sonucu sıra belirler ve hangi paketlerin o sıraya ulaştığını durum eşleşmesi belirler.
Düzenlediğiniz dosyayı değil, yürürlükteki kural kümesini inceleyin; diğer zincirlere atlamalar ve platformun ürettiği her şey dahil. iptables ile yönetilen bir yönlendiricide zinciri listelemek kural tanımlarını gösterir ve başvurduğu zincirler de izlenmelidir. Yerel bir nftables sistemi kendi kural kümesini ve kanca önceliklerini incelemeyi gerektirir, çünkü ürün yazılımı nadiren aynı zincirleri üretir.
Sayaçlar hangi kuralın gerçekten eşleştiğini söyler ve genellikle karardan sonra alınan bir paket yakalamadan daha bilgilendiricidir. Sayacı sıfır olan bir kurala ulaşılmamıştır, konumu ne öne sürerse sürsün.
Yasağı durumdan bağımsız olarak ifade edin
Bir istemci grubu tünelin dışında internete asla ulaşmamalıysa, bunu tek bir durumla yaklaşık olarak anlatmak yerine doğrudan söyleyin. Kural, bağlantı durumuna bağlı olmadan kaynak, çıkış ve hedefe göre seçim yapmalı ve hiçbir önceki iznin atlayamayacağı yerde durmalıdır. O zaman yönetim erişimi ve yerel ağ istisnaları kendi açık kurallarını alır, böylece niyet politikada görünür olur.
drop yerine reject seçmek eşleşen trafiğin nasıl başarısız olduğunu değiştirir ve kuralın seçtiği paket kümesini genişletmez. Reddedilen bir bağlantı ve sessiz bir zaman aşımı aynı seçime işaret eden farklı belirtilerdir.
WAN üzerinden uzaktan başlatılan erişime verilen yanıtları bilerek izin veren bir politika savunulabilir. Sadece yalnızca tünel üzerinden tam yalıtım olarak sunmak yerine böyle tanımlanmalıdır.
Grupta gerçekte kimin olduğunu denetleyin
Örnek, bir arayüzden bir önekin iletilen IPv4 trafiğini kapsar. IPv6, ikinci bir üst bağlantı veya yönlendiricinin kendisinin ürettiği trafik hakkında hiçbir şey söylemez. DNS çözümleyici olarak çalışan bir yönlendirici kendi yukarı akış sorgularını gönderir ve bunlar forward zincirinden hiç geçmez.
Korumalı istemcilerin hâlâ seçilen önek içinde adreslere sahip olduğunu doğrulayın, çünkü dışına çıkan bir cihaz politikaya göre değil kazara doğrudan olur. İstisna tasarımını gözden geçirmeden engellemeyi tüm LAN'a genişletmek de genellikle kendi yönetim yolunuzu kaldırır.
iptables -S FORWARD
iptables -L FORWARD -v -n
cat /proc/net/nf_conntrack | grep -c ESTABLISHED
Sonra eski bir akışı yeni birinin yanında deneyin. Yeni bir bağlantı denemesi ve zaten etkin iki yönlü bir aktarım bu kural altında farklı davranır ve yalnızca ikisini de test etmek gerçekte hangi politikaya sahip olduğunuzu gösterir.