19 Kasım 2007 Pazartesi

Fail2ban

Bugün bahsedeceğim konu biraz daha sistem yöneticisine hitap eden bir konu. Brute force yöntemiyle Ssh sunucunuza yetkisiz giriş yapmak için şifrenizi çalmaya çalışan insanlar olacaktır. Son zamanlarda başımı sıklıkla ağrıtan bir durum oldu. Eğer loglarınızı düzenli olarak takip ediyor ve saçma sapan kullanıcılarla yada tanımadığınız ip adreslerinden defalarca yanlış şifre girildiğini görüyorsanız fail2ban'ı kullanabilirsiniz. Bunun kurulumu için gerekli olanları debian ve Centos tabanlı dağıtımlarını kullanan sunucular için aşağıda anlatmaya çalıştım umarım yararlı olmuştur.


Debian için kurulum : apt-get install fail2ban

Centos için kurulum : yum install fail2ban

Fail2ban iptables ile çalıştığı için (varsayılan ayar) iptables ‘ında kurulu olması gerekir. Şimdi centosta ayar dosyasını inceleyelim, /etc/fail2ban.conf (Fail2ban 0.6.x)

background = true # ben arkaplanda çalıştırmayı uygun görüyorum

maxfailures = 5 # kaç yanlış girişten sonra ban atılsın
bantime = 86400 # ip ne kadar süre banlı kalsın (1 gün 86400 saniye)
findtime = 86400 # log dosyalarında ne kadar geriye bakılsın
ignoreip = 195.x.x.x # beni banlama 195.x.x.x/x maske de kullanılabilir

# fwstart
# fwend
# fwcheck
# fwban
# fwunban
# bu komutları ayarlayarak başka bir firewall ile de kullanabilirsiniz (örneğin hardware firewall 'a uydurabilirsiniz, daha etkili olacaktır)


[MAIL]
enabled = true # ben mail göndermesini istiyorum
host = localhost # smtp host, özel bir durum yoksa değiştirmeyede gerek yok
port = 25 # smtp port, özel bir durum yoksa değiştirmeyede gerek yok
user = # smtp 'ye giriş için kullanıcı
pass = # smtp 'ye giriş için şifre
from = root # mailin kimden geldiği
to = root #mailin kime gideceği, ya da sizin mailiniz de olabilir mailim@domainim.com

Diğer servisleriniz için ayarlarınızı yine bu dosya içerisinden yapabilirsiniz. SSH sanırım default açık olarak geliyor. Kurulumdan sonra fail2ban'ı çalıştırmak için aşağıdaki komutu girebilirsiniz.

/etc/init.d/fail2ban starty

Sunucunun restart etmesi durumunda da otomatik olarak başlamasını istiyorsak :

echo "/usr/bin/fail2ban -b" >> /etc/rc.d/rc.local

veya

rc-update add fail2ban default
komutunu shell'de girmemiz gerekiyor.

Debian sunucularda ise ayarlar /etc/fail2ban/jail.conf dosyası içinden yapılır:

[DEFAULT]
ignoreip = 195.x.x.x #beni banlama 195.x.x.x/x maske de kullanılabilir
bantime = 86400 # ip ne kadar süre banlı kalsın (1 gün 86400 saniye)
maxretry = 5 # kaç yanlış girişten sonra ban atılsın
destemail = root@localhost #mailin kime gideceği, ya da sizin mailiniz de olabilir mailim@domainim.com

fail2ban 0.8.x sürümünde kaç girişten sonra ban atılsın olayını
servislere özel olarak verebiliyorsunuz, bu yüzden servislere de dikkat
edin.

fail2ban servisini başlatmak için /etc/init.d/fail2ban start komutu yazılır shell'de.

Sunucu açılışında çalışması için ise update-rc.d fail2ban defaults komutunu girmeniz gerekiyor.



0 yorum:

Paylaş

Twitter Delicious Facebook Digg Stumbleupon Favorites