Linux'ta iptables kurallarını yönetme


17

Benim iptables kurulum (yönlendirme, ssh yasakları vb.) İçin bir sürü kural var Ayrıca http://blacklist.linuxadmin.org buradan yasaklanacak IP'lerin bir listesini aldım ve şimdi gerçekten karmaşık hale geliyor.

Benim /etc/sysconfig/iptablesgerçekten uzun. Harici dosyalardan kurallar ekleyerek kuralları yönetmenin bir yolu var mı?

Örneğin:

#include "pre_routing_rules"
#include "ssh_bans"

Bu, "pre_routing_rules" ve "ssh_bans" dosyalarına eklenen kuralları içerecektir. Bu şekilde kurallarımı avlanmadan kolayca yönetebilirim cat /etc/sysconfig/iptables.

Yanıtlar:


11

İptables'ın ipset'lerini deneyin . ipsets ayrı ayrı yapılandırılır ve yönetmek için yeterli ip adresiniz varsa bunlar da daha hızlıdır.

iptables kuralı aşağıdaki gibi ipset'e başvurabilir:

iptables -A İLERİ -m set - set blok listesi src, dst -j DAMLA


En büyük sorunum IP adresi ile ilgili.

Bu özelliği kullanıyorum. Kara liste / beyaz liste IP'lerim en büyükleridir, bu yüzden bir ipset'e girebilirler. Ben ön yönlendirme şeyler ana yapılandırma listesinde

Bu forum dizisinde ipsets kullanan birkaç komut dosyası örneği bulunmaktadır: forums.gentoo.org/viewtopic-t-863121.html
mivk

3

Basit bir çözüm, her bölüm için birden fazla bash komut dosyası kullanmaktır:

iptables-routing.sh
iptables-ssh-bans.sh
iptables-blacklist.sh

Ve bu dosyaları bir ana komut dosyasından çalıştırın.


Evet, ben de öyle yapıyorum. Ancak iptables kurallarının listesini görüntülemek zorunda kalırsam (örn. Cat / etc / sysconfig / iptables), bana iptables-routing.sh aracılığıyla eklenmiş tüm kuralları gösterecektir.sh iptables-blacklist.sh

2

iptables dosyayı doğrudan okumaz, bu iptables-restore adlı bir program tarafından yapılır. Bu genellikle init komut dosyalarınızdan birinden çağrılır.

İptables-restore satırınıza fazladan giriş dosyaları ekleyebilirsiniz. Bu satırın sisteminizde nerede olduğunu bulmanız gerekecek, ancak Debain kutumda /etc/init.d/nat içinde

Satır şu anda şöyle görünüyor:

/sbin/iptables-restore < /etc/network/iptables

Belki şu şekilde değiştirilebilir:

cat /etc/network/iptables \
    /etc/network/pre_routing_tables \
    /etc/network/ssh_bans | /sbin/iptables-restore

2

Firestarter veya Shorewall gibi birçok iptable üstü güvenlik duvarı komut dosyasından / aracından birini kullanma eğilimindeyim, birçok dosya ile geliyorlar, amaçlarla ayrılmış, belirli sahte paket türlerine karşı korumak için ilginç kurallar ekliyorlar ve genellikle çalışıyorlar iyi.


Bunlar komut satırı üzerinden kullanılabilir mi? Sunucum uzak bir ve gerçekten SSH yerine todo X tercih

Shorewall iptables kuralları üreten düz metin dosyaları kümesidir. Komut satırından çok kullanışlı ve harika dokümantasyon ve teşhis araçlarına sahip.
Paul Gear

0

Benim kullandığınız dosyaya sahip olmadığından hangi dağıtımın çalıştığından emin değilim - ancak genellikle iptables kurallarını içeren dosyalar sadece kabuk komut dosyalarıdır - bu yüzden bir satır alarak istediğiniz şeyi yapabilmeniz gerekir gibi :

. / Etc / sysconfig / pre_routing_rules

veya başvurduğunuz iptables dosyasının üst kısmındaki gibi.


Fedora ve
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.