Sunucu güvenliğini sağlamak, kesintisiz bir hosting deneyiminin en önemli parçalarından biridir. DoğruHost olarak sunduğumuz güvenlik duvarı (WAF) ve altyapı kurallarına ek olarak, bazen sunucunuza yönelik anormal trafik oluşturan ve gereğinden fazla bağlantı (connection) açan IP adreslerine manuel müdahale etmek isteyebilirsiniz.
Özellikle CentOS ve benzeri Linux dağıtımlarında, iptables kullanarak sunucunuzu yoran şüpheli IP adreslerini toplu halde engellemek oldukça pratik bir işlemdir. Bu rehberde yer alan adımları, tüm VDS paketlerinizde güvenle uygulayabilirsiniz.
Tek Satır Kod ile Toplu IP Engelleme
Sunucunuza 100'den fazla eşzamanlı bağlantı gerçekleştiren IP adreslerini tespit edip otomatik olarak iptables üzerinden engellemek (DROP) için SSH terminalinizde aşağıdaki komutu çalıştırmanız yeterlidir:
for i in $(netstat -ntu |awk '{print $5}' | awk '{sub("::ffff:","");print}' | cut -f1 -d ':' | sort | uniq -c | sort -n | grep -v -e server -e Address -e 127.0.0.1 -e 0.0.0.0 | awk '$1 > 100 {print $1,$2}'); do iptables -A INPUT -s $i -j DROP;done
Bu komut özetle şu işlemi yapar: Sunucudaki aktif ağ bağlantılarını tarar, yerel (localhost) bağlantıları filtreler, her bir IP adresinin kaç bağlantı yaptığını sayar ve belirlediğiniz limiti (bu örnekte 100) aşan tüm IP'leri güvenlik duvarında kara listeye alır.
Limitleri Kendi İhtiyacınıza Göre Özelleştirme
Komutun içerisindeki > 100 ibaresi, bağlantı limiti eşiğini belirler. Eğer saldırı veya yoğunluk daha düşük bağlantı sayılarıyla gerçekleşiyorsa, bu rakamı kolaylıkla değiştirebilirsiniz.
Örneğin, limit değerini biraz daha sıkılaştırıp 50 bağlantı sınırını aşan IP adreslerini banlamak isterseniz komutu şu şekilde düzenleyebilirsiniz:
for i in $(netstat -ntu |awk '{print $5}' | awk '{sub("::ffff:","");print}' | cut -f1 -d ':' | sort | uniq -c | sort -n | grep -v -e server -e Address -e 127.0.0.1 -e 0.0.0.0 | awk '$1 > 50 {print $1,$2}'); do iptables -A INPUT -s $i -j DROP;done
DoğruHost Önerisi: Bu işlemi uygulamadan önce kendi IP adresinizin (veya ofis ağınızın) sunucuda yoğun işlem yapmadığından emin olun. Yanlışlıkla kendi erişiminizi kısıtlamamak için komutu çalıştırmadan önce bağlantı limitlerini sunucunuzun normal trafik akışına göre belirlemeniz faydalı olacaktır.
