Raspberry Pi'de Fail2ban Nasıl Kurulur
Bu yazı, PiMyLifeUp - How to Setup Fail2ban on the Raspberry Pi kaynağından Türkçe'ye çevrilerek hazırlanmıştır.
Bu eğitimde, Fail2ban yazılımını Raspberry Pi'nizde nasıl kurup yapılandıracağınızı göstereceğiz.
![]()
Fail2ban, Raspberry Pi'nizin güvenliğini artırmak söz konusu olduğunda önemli bir yazılım parçasıdır. Raspberry Pi'niz internet üzerinden herkese açık olarak erişilebilirse özellikle kullanışlıdır çünkü aktif ve öğrenen bir savunma biçimidir.
Fail2ban'in ne olduğunu bilmeyenler için, bu cihazınıza (bizim durumumuzda Raspberry Pi'mize) yönelik kötü niyetli bağlantıları engellemeye çalışan bir yazılım parçasıdır. SSH'niz veya hatta herkese açık olarak erişilebilen bir web sunucunuz varsa önemlidir.
Fail2ban, log dosyalarınızı sürekli tarayarak ve potansiyel saldırı belirtilerini arayarak çalışır. Bunlar arasında çok fazla parola başarısızlığı gibi saldırıların yanı sıra exploit'leri taramak ve çok daha fazlası bulunur. Olağandışı bir aktivite bulduğunda, o IP adresini yasaklamak için güvenlik duvarınızı otomatik olarak günceller.
Fail2ban'i Kurma ve Yapılandırma
1. Fail2ban'i Raspberry Pi'mize kurmaya başlamadan önce, önce tamamen güncel olduğundan emin olmalıyız.
Bunu, Raspberry Pi'deki terminalde aşağıdaki komutları çalıştırarak çok basitçe yapabiliriz.
sudo apt update
sudo apt upgrade
2. Raspberry Pi işletim sistemi artık güncel olduğuna göre, Raspberry Pi'de aşağıdaki komutu çalıştırarak Fail2ban yazılımını kuralım.
sudo apt install fail2ban
3. Kurulum süreci sırasında, fail2ban "jail.conf" adlı bir dosya oluşturacaktır.
Bu dosyanın bir kopyasını oluşturup "jail.local" olarak adlandırmamız gerekiyor, fail2ban bu dosyayı otomatik olarak algılayacak ve yapılandırmasını yükleyecektir.
Raspberry Pi'de terminalde aşağıdaki komutu çalıştırarak dosyayı kopyalayalım.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
4. Şimdi az önce kopyaladığımız dosyayı açalım ve Fail2ban'ın birlikte geldiği varsayılan yapılandırmaya bir göz atalım.
Raspberry Pi'nizde aşağıdaki komutu çalıştırarak dosyayı nano editörünü kullanarak açın.
sudo nano /etc/fail2ban/jail.local
5. Bu dosyanın içinde, "[sshd]" aramak için CTRL + W tuş kombinasyonunu kullanın, aşağıda gösterdiğimiz metne benzer görünmelidir.
[sshd]
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
6. Şimdi bu bölümü etkinleştirmek ve SSHD filtresini ayarlamak için, önceki adımda bulduğumuz "[sshd]" metninin altına aşağıdaki iki satırı eklememiz gerekiyor.
enabled = true
filter = sshd
Bu yapılandırma dosyasına eklediğimiz ilk satır, Fail2ban'in belirtilen port için bu kuralları işlemesini sağlar.
İkinci satır, Fail2ban'e SSH portuna bağlantıları filtrelemek için "/etc/fail2ban/filter.d/sshd.conf" dosyasını kullanması gerektiğini söyler.
7. Onu etkinleştirebilmeye ve filtreyi ayarlayabilmeye ek olarak, birisi filtreleri tetiklediğinde Fail2ban'in ne yapacağını da değiştirebiliriz.
Yasaklama eylemini ayarlamak için aşağıdaki satırı kullanabilirsiniz. Aşağıda sahip olduğumuz örnekte, "iptables-multiport" yasaklama eylemini kullanacağız.
Bu eylem, filtreyi tetikleyen kullanıcıyı yasaklayacak ve cihazdaki herhangi bir porta erişmesini kısıtlayacaktır.
banaction = iptables-multiport
"/etc/fail2ban/action.d/" klasörüne göz atarak ek eylemler bulabilirsiniz, ancak genellikle bir saldırganı tüm portlarda engellemek isteyeceksiniz.
8. Yasaklama eylemini ayarlayabilmeye ek olarak, bir kullanıcının yasaklanmadan önce aldığı deneme sayısını ve ne kadar süre yasaklanacağını da ayarlayabilirsiniz.
Bunu yapmak için aşağıdaki iki değeri kullanabiliriz, aşağıda açıklayacağımız bazı örnek değerler belirledik.
bantime = -1
maxretry = 3
Yukarıdaki ilk satır ("bantime = -1"), kullanıcının ne kadar süre yasaklanmasını istediğinizi ayarlar. Bu değerin saniye cinsinden olması gerekir, örneğin, 1800 saniye kullanıcıyı 30 dakika boyunca yasaklayacaktır.
Kullanıcıyı süresiz olarak yasaklamak istiyorsanız, bu değeri yukarıdaki örneğimizde olduğu gibi -1 olarak ayarlayabilirsiniz.
İkinci satır ("maxretry = 3"), yasaklama eylemi çalıştırılmadan önce kullanıcının kaç deneme hakkı olduğunu tanımlar. Örneğimizde, bunu 3 olarak ayarladık, yani kullanıcı cihaza tüm portlarda erişimden yasaklanmadan önce üç şansı olacaktır.
9. [sshd] bölümünü bir yasaklama eylemi, yasaklama süresi, maksimum deneme sayısı ile yapılandırmayı ve onu etkinleştirmeyi ve filtreyi ayarlamayı bitirdikten sonra, aşağıda gösterdiğimize benzer bir şeyle karşılaşmalısınız.
[sshd]
enabled = true
filter = sshd
port = ssh
banaction = iptables-multiport
bantime = -1
maxretry = 3
logpath = %(sshd_log)s
backend = %(sshd_backend)s
10. Değişikliklerinizden memnun olduğunuzda, CTRL + X, ardından Y, sonra ENTER tuşuna basarak dosyayı kaydedin.
11. Artık Raspberry Pi Fail2ban'ınız başarıyla çalışıyor olmalı. Fail2ban yazılımının Raspberry Pi'nizde değişikliklerinizi yüklemesi için aşağıdaki komutu girmeniz gerekiyor.
sudo service fail2ban restart

Apache ve Nginx Web Sunucuları
Fail2Ban kullanarak Apache veya Nginx web sunucunuzu da koruyabilirsiniz. Kurulum, SSH için yaptığımıza çok benzer. Aşağıda hızlıca Apache için bir örnekten geçeceğim.
1. Apache için kötü botlara karşı korumayı etkinleştirmek istiyorsanız, jail local dosyasını açmanız gerekecek.
sudo nano /etc/fail2ban/jail.local
2. [apache-badbots] adlı bölümü bulun, onu bulmak için CTRL + W kullanabilirsiniz.
3. Bu başlığın altına, aşağıdaki iki satırı ekleyin.
enabled = true
filter = apache-badbots
Özel bir yapılandırma dosyası kullanmıyorsanız, filtre adı genellikle modülle aynı isim olacaktır. Yani, [apache-badbots], apache-badbots filtre adına sahip olacaktır.
Tüm filtre yapılandırma dosyalarını aşağıdaki dizinde bulabilirsiniz, tüm dosyaları listelemek için ls kullanın.
ls /etc/fail2ban/filter.d/
4. "jail.local" dosyasını düzenlemeyi bitirdiğinizde, CTRL + X, ardından Y, sonra ENTER tuşuna basarak dosyayı kaydedin.
5. Son olarak, herhangi bir değişiklik yaptığınızda Raspberry Pi'de Fail2Ban'i yeniden başlatmayı unutmayın.
sudo service fail2ban restart
Sonuç
Bu Raspberry Pi Fail2Ban eğitiminden, yazılımı nasıl kurup yapılandıracağınızı öğrenmiş olmanızı umuyorum. Ayrıca Fail2Ban gibi bir yazılım parçası kullanmanın faydalarını göstermiş olmasını da umuyorum.
Raspberry Pi'nizde Fail2Ban'i kurup yapılandırma hakkındaki bu eğitimle ilgili herhangi bir geri bildiriminiz varsa, aşağıya bir yanıt bırakmaktan çekinmeyin.