Brute Force / Kaba Kuvvet Saldırıları ve FAIL2BAN

Özellikle dış dünyaya açık ip/portlarımız her zaman bir atak faktörü olarak göz önünde bulundurulmalıdır. İyi yapılandırılmamış ve erişimde belirli ip kısıtları konulmamış sistemlerde dışarıdan ya da içeriden gelebilecek kaba kuvvet saldırılar ile sistemler kolayca ele geçirilebilir.

Bugün sunucu tarafında sisteme yetkisiz ip/lokasyonlardan erişimleri nasıl engelleyebiliriz bununla ilgili güzel bir aracı kurmayı sizlere aktaracağım. Aracımızın ismi fail2ban.

Araç basit olarak anlatmak gerekirse sistem üzerine belirlenen limit üzerinde bir giriş denemesi yapılırsa sizin yaptığınız konfigürasyona göre ilgili ip üzerinden gelecek istekleri belirlediğiniz sürelerde engelleyecektir. Dilerseniz artık kurulum adımlarına geçelim.

Ben kurulumu debian bir linux sürümü üzerinde gerçekleştiriyorum.

Yükleme için komut satırı adımları alttaki gibi olacaktır:

apt-get update
apt-get install fail2ban

Konfigürasyon dosyamızı oluşturmak için alttaki komutu kullanıyoruz.

cp /etc/fail2ban/jail.conf /etcfail2ban/jail.local

Herhangi bir editör yardımı ile dosyamızı açıp düzenlemeye başlayalım.

nano /etc/fail2ban/jail.local

Örnek olarak ssh bağlantılarında sınırlama yapalım.

mode: Koruma modu.( normal / ddos / extra / agressive)
port: ssh servisi 22nou portta çalışıyorsa değiştirmeye gerek yoktur. Farklı portta ise ilgili port yazılmalıdır.
logpath: değiştirmenize gerek yok.
backend: Servis konumu.
enebled: bu alan tue olarak değiştirilmelidir, kural çalışması için..

Dosya içindeki diğer değişiklik gerektirebilecek parametreler ise alttaki gibidir.

maxretry: Kaç denemeden sonra engellenmesini istiyorsunuz.
bantime: Saldırganın ne kadar süre ile engellenmesini istiyorsunuz.
ignoreip: Whitelist uygulamak isterseniz buraya sunucuya eriştmek istediğiniz IP adresini girebilirsiniz.

Son olarak bu değişiklikler sonrasında ctrl+X ile dosyamızdaki değişiklikleri kaydedip çıkıyoruz. Şimdi fail2ban servisini yeni ayarlarımızla çalışabilmesi için yeniden başlatmamız gereklidir. Alttaki komutlar ile bunu sağlayabiliriz.

service fail2ban stop
service fail2ban start

En son artık servisimizin çalıştığından emin oluyoruz ve işlemleri tamamlıyoruz. Kurduğumuz fail2ban servisi sistemimizde aktif olarak çalıyor.

service fail2ban status

Ek olarak hangi servislerde fail2ban servisimizin aktif olduğunu görmek için alttaki komutu kullanabilirsiniz.

fail2ban-client status


Kurulumlar sonrasında testlerinizi hatalı giriş denemeleri yaparak sağlayabilirsiniz. Testleriniz sonrasında örneğin engellenen bir ip’nin nasıl engelini kaldırabiliriz diye mutlaka düşünmüşsünüzdür. Öyleyse hemen ilgili komutlarla gösterimi sağlayayım.

Öncelikle loglardan bakarak iligli ip bilgisine ulaşıyoruz. Ör: engellenen ip 192.168.1.15 olsun. Sonrasında fail2ban servisimizin shell ekranına giriş yapıp sırasıyla aşağıdaki komutları kullanabilirsiniz.

fail2ban-client -i
set sshd unbanip 192.168.1.15
exit

Engeli kaldırdıktan sonra dilerseniz alttaki komut ile çalışan kuralın duurmuna bakabilirsiniz.

fail2ban-client status sshd



5/5 - (11 votes)