iptables ile Otomatik IP Engelleme Scripti

0 Yanıt 3 Görüntülenme
·
Katılımcılar
Konuyu Açan #1
İnternet güvenliği ve sunucu koruması açısından, belirli sayıda başarısız giriş denemesi sonrası IP adreslerini otomatik olarak engellemek, saldırıların önüne geçmek için etkili bir yöntemdir. Bu noktada iptables ve basit bir script kullanarak, belirli kurallara göre otomatik IP engelleme mekanizması kurmak oldukça faydalı olabilir. Bu sistem, özellikle brute-force saldırılarına karşı güçlü bir savunma sağlar ve manuel müdahaleyi minimize eder.


İlk aşamada, temel olarak başarısız giriş denemelerini takip eden ve belli bir limit aşıldığında ilgili IP’yi otomatik olarak engelleyen bir script tasarlamak gerekir. Bu script, belirli aralıklarla çalışarak, yeni giriş denemelerini okur ve aşırı sayıya ulaşan IP’leri iptables kurallarıyla engeller. İşte temel mantık ve örnek bir yapı:

  1. Fail2ban gibi hazır araçlar yerine, kendi scriptinizi yazmak isterseniz, girişleri log dosyalarından veya SSH başarısız giriş loglarından çekebilirsiniz. Örneğin, /var/log/auth.log veya /var/log/secure gibi log dosyalarını kullanabilirsiniz.


  1. Belirli bir zaman diliminde, başarısız girişleri sayıp, belirli bir eşik aşıldığında, IP’yi iptables ile engellersiniz. Aşağıdaki örnekte, başarısız girişleri sayan ve limit aşılırsa engelleyen temel bir bash scripti yer almaktadır:


KOD
1234567891011121314151617181920212223
#!/bin/bash

[b]Log dosyası ve limit ayarları[/b]
LOG_FILE="/var/log/auth.log"
LIMIT=5
DURATION=600 # 10 dakika

[b]Geçmişte engellenen IP'leri temizle[/b]
iptables -L INPUT -v -n | grep "Drop" > /dev/null 2>&1

[b]Başarısız girişleri say[/b]
grep "Failed password" $LOG_FILE | awk '{print $(NF-3)}' | sort | uniq -c | while read -r count ip; do
    if [ "$count" -ge "$LIMIT" ]; then
        # IP zaten engellenmiş mi kontrol et
        iptables -L INPUT -n | grep "$ip" > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            # IP’yi engelle
            iptables -A INPUT -s $ip -j DROP
            echo "Engellendi: $ip"
        fi
    fi
done


  1. Bu scripti, cron ile belirli aralıklarla çalışacak şekilde ayarlayabilirsiniz. Ayrıca, belirli süre sonra engellenen IP’leri otomatik olarak kaldırmak için ek kurallar veya scriptler geliştirebilirsiniz.


  1. Güvenlik ve performans açısından, engellenen IP’lerin listesini ve süresini yönetmek önemlidir. Ayrıca, kuralları düzenli olarak temizleyip, tekrar eden saldırılara karşı akıllı bir yapı kurmak gerekir.


Bu temel script ve metodoloji, iptables ile IP engelleme otomasyonunu sağlayabilir. Ancak, gelişmiş ve güvenilir bir çözüm için Fail2ban veya benzeri araçların kullanılması tavsiye edilir. Sizce, bu tarz manuel scriptler yerine hazır çözümler mi tercih edilmeli?

Yanıt vermek için giriş yapmış olmalısınız.

Bu konuyu görüntüleyen kullanıcılar (Toplam: 3, Üyeler: 3, Misafirler: 0)
Toplam: 3 (üyeler: 3, misafirler: 0)
0 alıntı seçildi