Linux işletim sisteminde güvenlik, her zaman öncelikli bir konu olmalıdır. Sunucular, sürekli olarak çeşitli siber saldırılara ve kötü niyetli girişimlere maruz kalır. Ancak, doğru araçlar ve yapılandırmalarla bu tehlikelere karşı güçlü bir savunma inşa edebilirsiniz. Bugün, sistem güvenliğini artırmanın harika bir yolunu keşfedeceğiz: Fail2ban!
Fail2ban Nedir?
Fail2ban, Linux sunucularında başta SSH (Secure Shell) olmak üzere birçok serviste başarısız oturum açma girişimlerini izleyerek kötü niyetli kullanıcıları engellemeye yarayan bir güvenlik aracıdır. Yani, birisi çok sayıda başarısız girişim yaptıysa, Fail2ban otomatik olarak IP adresini engeller ve böylece o kişilerin sunucunuza erişmesini engeller. Bu, brute force (güçlü kuvvet) saldırıları gibi tehditlere karşı mükemmel bir savunma sağlar.
Fail2ban'ı Kurma ve Yapılandırma
Fail2ban’ı kurmak oldukça basittir. Bu işlemi hemen yaparak güvenliğinizi artırmaya başlayabilirsiniz.
Öncelikle terminalinizi açın ve aşağıdaki komutu kullanarak Fail2ban’ı kurun:
sudo apt-get update
sudo apt-get install fail2ban
Kurulum tamamlandığında, Fail2ban servisinin doğru şekilde çalışıp çalışmadığını kontrol etmek için şu komutu yazabilirsiniz:
sudo systemctl status fail2ban
Eğer her şey yolunda gitmişse, Fail2ban aktif olarak çalışacaktır.
Konfigürasyon Dosyalarını Düzenlemek
Fail2ban, varsayılan olarak belirli bir yapılandırma dosyasına sahiptir, ancak bununla sınırlı kalmak yerine, bu yapılandırmaları ihtiyacınıza göre düzenleyebilirsiniz. Fail2ban yapılandırmaları genellikle `/etc/fail2ban` dizininde bulunur. Bu dizin altında jail.conf ve jail.local gibi dosyalar yer alır.
Genellikle, jail.local dosyasını düzenlemeniz gerekecek. Eğer bu dosya yoksa, `jail.conf` dosyasından bir kopya alarak jail.local adıyla kaydedebilirsiniz:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
SSH Güvenliği İçin Yapılandırma
Sunucunuza uzaktan erişim sağlamak için SSH kullanıyorsanız, Fail2ban’ın SSH için yapılandırıldığından emin olmalısınız. Bu, özellikle brute force saldırılarına karşı kritik bir güvenlik önlemidir.
Yapılandırma dosyasını düzenlemek için şu komutu girin:
sudo nano /etc/fail2ban/jail.local
Dosyanın içinde şu satırlara dikkat etmelisiniz:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 600
findtime = 600
Burada enabled parametresini `true` olarak ayarlıyoruz. Bu, Fail2ban’ın SSH servisini izlemesini sağlar. Ayrıca maxretry parametresi, kullanıcıların yapabilecekleri maksimum başarısız girişim sayısını belirtir. Bu örnekte 5. Eğer bir kullanıcı 5 defa başarısız giriş yaparsa, Fail2ban bu IP’yi 10 dakika boyunca (600 saniye) yasaklar.
Hızlı Bir Denetim Yapmak
Yapılandırma tamamlandığında, Fail2ban’ın doğru çalışıp çalışmadığını kontrol etmek için şu komutu kullanabilirsiniz:
sudo fail2ban-client status sshd
Bu komut, SSH servisiyle ilgili mevcut engellenmiş IP’leri listeleyecektir. Eğer her şey doğru çalışıyorsa, engellenen IP’leri görmelisiniz.
Güvenlik Duvarı ile Uyumlu Çalışma
Fail2ban, genellikle iptables gibi bir güvenlik duvarıyla birlikte çalışır. Eğer Fail2ban'ın engellediği IP'leri güvenlik duvarına da eklemek istiyorsanız, Fail2ban'ın iptables ile uyumlu olduğundan emin olmalısınız.
Bunu sağlamak için `jail.local` dosyasındaki şu parametreyi kontrol edin:
banaction = iptables-multiport
Bu ayar, Fail2ban’ın iptables ile doğru şekilde çalışmasını sağlar.
Sonuç Olarak: Fail2ban ile Güvenliğinizi Artırın
Bugün, Fail2ban ile Linux sunucunuzda güvenliği nasıl artırabileceğinizi öğrendiniz. Basit yapılandırma ve birkaç komut ile sunucunuzda kötü niyetli kullanıcıları engellemeye başlayabilirsiniz. Fail2ban, SSH saldırıları gibi potansiyel tehditlere karşı mükemmel bir güvenlik önlemidir.
Unutmayın, güvenlik bir süreçtir, bir kere yapılandırmak yeterli değildir. Fail2ban ve diğer güvenlik önlemleriyle sunucunuzu her zaman güncel ve güvenli tutmayı ihmal etmeyin.