"Soru şu: Engellenen IP adreslerini nasıl listeleyebilirim?"
BANNED zinciri oluşturun:
iptables -N BANNED
iptables -F BANNED
Bir günlük zinciri oluşturun:
iptables -N BANNEDLOG
iptables -F BANNEDLOG
iptables -A BANNEDLOG -j LOG --log-prefix "BANNED:" --log-level 6
iptables -A BANNEDLOG -j DROP
Diğer kuralların çoğundan önce INPUT zincirindeki yasaklanmış zincire atlama ekleyin
...
iptables -A INPUT -j BANNED
...
Şimdi yasaklı zincire ipaddresses ekleyin:
flock -w 5 /var/lock/iptables -c 'iptables -A BANNED -s 140.130.20.202/32 -i eth0 -m comment --comment "2012-03-19 23:49:33 accesslog" -j BANNEDLOG'
etc...
Yorum seçeneklerine sahip bir veritabanı gibi de kullanabilirsiniz, böylece iptables birçok işlem tarafından sık sık güncellenirken, akın ne zaman ve neden vb.
Yasaklanmış zincirdeki yasaklanmış adresleri ve kuralları görüntülemek için:
iptables -S BANNED
Yeni sıralanan benzersiz ipadresleri görüntülemek için:
iptables -S BANNED | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -u
Sunucularımda syslog dosyalarını ve webloglarını kontrol eden bir dizi daemon var, bu yüzden herhangi biri tarafından kötü bir şey deneniyorsa, adresi otomatik olarak birkaç gün boyunca, türüne ve ciddiyetine ve önceki saldırıların sayısına bağlı olarak yasaklanır. Bilgi bir mysql veritabanına kaydedilir ve periyodik olarak süresi dolar. Adresler ayrıca kümedeki diğer tüm makinelere mysql çoğaltma üzerinden dağıtılır, böylece korunur ve senkronize olurlar. Yazılımım da ağın sahibini arar ve ISS'ye şikayette bulunur.
10 yıl çalıştıktan sonra, herkesin yakında kullanabilmesini umuyorum. Şu anda yaklaşık 1,5 milyon ip adresi geçmişim var ve yüz binlerce posta ve ssh saldırısı bildirerek net temizlemeye yardımcı oldum. Daha fazla kullanırsanız, umarım daha fazla etkisi olur.
iptables -L INPUT -v -n
engellenen tüm ipleri gösterir