Netfilter Web sitesinde resmi ve önerilen belgelere bağlantılar bulunmaktadır.
Bu yeni bir konu değil, kaynaklar sınırsız .
Temel komutların çoğu oldukça sezgiseldir ve bu sayfaya kolayca atıfta bulunabilir .
Paket filtrelemeyi sağlayan çekirdek seviyesi teknolojisi olan netfilter oldukça ileridir. Paketleri yönetebilen, paketleri çevirebilen ve yönlendirmeyi başka şekilde etkileyebilen ek tablolar vardır. Yardımcı iptables
program, netfilter ile etkileşim için kullanıcı alanı aracıdır. Gelişmiş işlevsellik hakkında bilgi edinmek istiyorsanız, yukarıda belirtilen belgelere başvurmanızı öneririm. Temel işlevlere giriş için lütfen daha fazla bilgi edinin.
Mevcut tüm kuralları listelemek için:
iptables -L -n
-n
iptables'ın daha hızlı çıktı üreten ips çözümlemesini engeller.
Varsayılan tablo, filter
üç zincire temel güvenlik duvarı kurallarını uygulamak için kullanılan tablodur. Üç varsayılan zincirleri filter
masaya vardır INPUT
, OUTPUT
ve FORWARD
.
Zincirler büyük ölçüde kendi kendini açıklar niteliktedir. GİRİŞ zinciri gelen paketleri etkiler, ÇIKIŞ zinciri yerel olarak oluşturulan paketleri etkiler ve son olarak sistemden geçen paketler için İLERİ.
Belirtebileceğiniz hedefler arasında, DROP
paketleri yok sayabilirsiniz, yani basitçe yok sayın ve yanıt vermeyin. REJECT
Reddetme kaynağına bir icmp yanıtının gönderileceği paketleri yapabilirsiniz . Son olarak, ACCEPT
paketlerin yönlendirmeye devam etmesini sağlayan bunları yapabilirsiniz .
Genellikle dışa bakan bir güvenlik duvarı ile varsayılan seçim, ağınızın Internet üzerindeki görünür ayak izini azalttığı için DROP
aksine olacaktır REJECT
. Örneğin, hizmetleri belirli bir ana bilgisayarla başka şekilde sınırlayan bir IP'nin görünürlüğü daha az olur DROP
.
Dikkat, -A
zincirin sonuna anlamına gelir. En üste yerleştirmek isterseniz kullanabilirsiniz -I
. Tüm kurallar yukarıdan aşağıya doğru işlenir. -D
silmek için.
To DROP
gelen bir gelen paket 192.168.235.235
:
iptables -A INPUT -s 192.168.235.235 -j DROP
Bu DROP
, IP'den gelen tüm protokoller için hedefe atlar .
Kabul etmek:
iptables -A INPUT -s 192.168.235.235 -j ACCEPT
Bu IP'ye yerel sunucunuzdan veya ağınızdan erişimi önlemek için:
iptables -A OUTPUT -d 192.168.235.235 -j DROP
-p
Protokolü, -s
paketin kaynağını, paketin -d
hedefini, hedef bağlantı noktasını --dport
, kaynak bağlantı noktasını --sport
ve paketlerin kural tarafından nasıl ele alınacağını etkileyecek diğer birçok bayrağı belirtebilirsiniz .
Varsayılan INPUT
politikanız buysa DROP
ve 192.168.123.0/24
alt ağdaki herkesin sunucunuzdaki SSH'ye erişmesine izin vermek istiyorsanız , işte size bir örnek:
iptables -A INPUT -s 192.168.123.0/24 -p tcp --dport 22 -j ACCEPT
Doğru, CIDR gösterimini de kullanabilirsiniz !
Genel olarak, en iyi varsayılan politika DROP
tüm zincirler içindir. Her zincirin, -P
bayrakla belirtilen varsayılan bir politikası vardır . Politikanızı varsayılan olarak ayarlamış olsanız bile DROP
, yine de bir zincirdeki son girişin de olması tavsiye edilir DROP
.
Örneğin DROP
, GİRİŞ, İLERİ ve ÇIKIŞ zincirlerinin politikasını değiştirmek için:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
Dikkatli olun , önce SSH erişimine izin vermeden uzak bir sistemde INPUT için varsayılan DROP ilkesini belirtirseniz, sisteme erişmenizi engelleyebilirsiniz. Uzak bir sistemdeyseniz, her 5 dakikada bir tüm hataları bir arıza güvenliği olarak temizlemek için geçici bir crontab belirtebilirsiniz.
Tüm kuralları silmek ve tüm trafiğe izin vermek için:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -X
iptables -F
Not, -X
oluşturulan tüm zincirleri kaldırır. -F
tüm kuralları yıkar.
Kuralları kaydetmek ve geri yüklemek için yerel araçlar vardır. Özellikle, iptables-save
ve iptables-restore
. Modern Linux dağıtımlarının çoğu , sistemle birlikte sağlanan bir iptables init dosyası içinde çalışır save
ve restore
çalışır.
Hatalı oluşturulmuş paketleri ve diğer istenmeyen trafik türlerini bırakmak gibi başka güvenlik duvarı en iyi uygulamaları da vardır. Bu, varsayılan olarak bu politikaların çoğunu uygulayacağı için Shorewall gibi bir ön uç yardımcı programının kullanılmasının bir avantajıdır . Yine de, yaklaşımınıza katılıyorum ve kendi kurallarımı da doğrudan korumayı tercih ediyorum ve bu en iyi uygulamalar bir ön uç olmadan uygulanabilir.