Belge

Ubuntu 22.04’te Fail2ban Nasıl Kurulur ve Yapılandırılır

Fail2ban, yöneticilerin Linux sunucularını kötü niyetli oturum açma ve kaba kuvvet saldırılarına karşı korumalarına yardımcı olan ücretsiz ve açık kaynaklı IPS’dir (İzinsiz Giriş Önleme Yazılımı). Fail2ban Python’da yazılmıştır ve Apache2, SSH, FTP vb. gibi çeşitli hizmetler için filtrelerle birlikte gelir. Fail2ban, kaynak saldırıların IP adreslerini bloke ederek kötü niyetli oturum açma girişimlerini azaltır.

Fail2ban, hizmetlerin günlük dosyalarını (ef /var/log/auth.log) tarayarak ve çok fazla yanlış parola, açıklardan yararlanma arama vb. gibi kötü niyetli oturum açma girişimleri gösteren IP adreslerini yasaklayarak çalışır. Fail2ban ayrıca ufw, firewalld iptables gibi birden çok güvenlik duvarı arka ucunu destekler. Ayrıca, engellenen her oturum açma girişimi için bir e-posta bildirimi ayarlamanıza olanak tanır.

Gereksinimler

  • Bir Ubuntu sunucusu V.22.04
  • Sudo ayrıcalıklarına sahip root olmayan bir kullanıcı.

UFW Güvenlik Duvarı Kurulumu

Fail2ban’ı kurmaya başlamadan önce, Ubuntu sunucunuzda Güvenlik Duvarını kurmanız gerekecektir.

Varsayılan Ubuntu sunucu kurulumu, yönetimi iptables gibi başka bir güvenlik duvarından daha kolay olan UFW Güvenlik Duvarı ile birlikte gelir.

Şimdi aşağıdaki komutu kullanarak UFW güvenlik duvarı durumunu kontrol edin.

sudo ufw status

“Durum: etkin değil ” gibi bir çıktı mesajı alırsanız , UFW güvenlik duvarınız henüz başlamamıştır. Ancak “Command ufw not found” gibi bir çıktı mesajı alırsanız , sunucunuzda UFW güvenlik duvarı kurulu değildir.

UFW güvenlik duvarı paketini kurmak için aşağıdaki apt komutunu çalıştırın.

sudo apt install ufw -y

UFW kurulumu tamamlandıktan sonra SSH hizmetini UFW güvenlik duvarına eklemek için aşağıdaki komutu çalıştırın.

sudo ufw allow ssh

Ardından, UFW güvenlik duvarını başlatmak ve etkinleştirmek için aşağıdaki komutu çalıştırın.

sudo ufw enable

UFW güvenlik duvarını onaylamak ve başlatmak için y girin.

Son olarak, aşağıdaki komutu kullanarak UFW güvenlik duvarını tekrar kontrol edin.

sudo ufw status

Ubuntu 22.04’te Fail2ban Kurulumu

UFW güvenlik duvarını kurup yapılandırdıktan sonra artık sunucunuza Fail2ban paketini kurabilirsiniz.

Ubuntu deponuzu güncellemek ve yenilemek için aşağıdaki komutu çalıştırın.

sudo apt update

Şimdi aşağıdaki komutu kullanarak Fail2ban paketini kurun.

sudo apt install fail2ban -y

Fail2ban kurulumu tamamlandıktan sonra Fail2ban hizmetini etkinleştirin ve aşağıdaki komutu kullanarak hizmeti başlatın.

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Son olarak, aşağıdaki komutu kullanarak Fail2ban hizmet durumunu kontrol edin.

sudo systemctl status fail2ban

Fail2ban’ı Yapılandırma

Fail2ban’ı kurduktan sonra, şimdi Fail2ban’ı kurma ve yapılandırma zamanı.

Tüm Fail2ban yapılandırması /etc/fail2ban dizininde saklanır. Aşağıdaki ayrıntılı Fail2ban yapılandırmasını bilmeniz gerekir:

  • fail2ban.conf yapılandırması, Fail2ban’ın ana yapılandırmasıdır.
  • Jail.conf yapılandırması, Fail2ban hapis yapılandırmasının bir örneğidir.
  • action.d dizini , posta ayarları ve güvenlik duvarı ayarları gibi fail2ban eylem ayarlarını içerir.
  • jail.d dizini fail2ban jail için ek yapılandırma içerir.

Fail2ban’ı yapılandırmaya başlamak için , aşağıdaki komutu kullanarak varsayılan hapis yapılandırması olan jail.conf’u jail.local’a kopyalamanız gerekir .

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

Şimdi nano düzenleyiciyi kullanarak jail.local yapılandırmasını düzenleyin.

sudo nano /etc/fail2ban/jail.local

İlk olarak, yoksayma seçeneğinin yorumunu kaldırın ve IP adresinizi ekleyin. Ignoreip seçeneğindeki tüm IP adresleri Fail2ban tarafından engellenmeyecektir.

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20

Yasak ayarları için yapılandırmayı ihtiyacınıza göre değiştirebilirsiniz. Bu örnekte, genel yasaklama süresi 1 gün, bulma süresi 10 dakika ve maksimum yeniden deneme süresi 5 kata kadardır .

Bantime seçeneği, IP adresinin sunucuya erişiminin yasaklanacağı zamandır. Findtime seçeneği, yasaklama işleminden önceki başarısızlık sayısı arasındaki süredir. Ve maxretry seçeneği, IP adreslerinin yasaklanması için başarısızlık sayısıdır.

bantime  = 1d
findtime  = 10m
maxretry = 5

Fail2ban için varsayılan eylem yalnızca IP adresini yasaklamaktır. Ancak, bir IP adresi yasaklandığında posta bildirimi de ayarlayabilirsiniz.

Eylem seçeneğini aşağıdaki gibi değiştirin ve varsayılan gönderici ve hedef posta adresini değiştirin.

action = %(action_mw)s
destemail = [email protected]
sender = [email protected]

Daha sonra UFW firewall entegrasyonu için banaction seçeneğini aşağıdaki gibi ufw olarak değiştirmeniz gerekmektedir.

banaction = ufw

Son olarak, hapis yapılandırması kalıyor. Bu bölüm, hizmetinizi eklediğiniz ve fail2ban kullanarak güvenliği sağladığınız yerdir.

Bu örnekte, SSH hizmeti için hapisi etkinleştireceğiz, ancak aynı zamanda sshd hapisi için genel varsayılan yapılandırmayı da geçersiz kılacağız. Yasak süresi 1 hafta olacak ve maksimum hata denemesi 3 kez ve bulma süresi 10 dakika olacak .

[sshd]
enabled   = true
maxretry  = 3
findtime  = 1d
bantime   = 1w

port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

İşiniz bittiğinde dosyayı kaydedin ve kapatın.

Şimdi Fail2ban hizmetini yeniden başlatmak ve jail.local yapılandırmasına yeni değişiklikler uygulamak için aşağıdaki komutu çalıştırın.

sudo systemctl restart fail2ban

Artık e-posta bildirimi etkinleştirilmiş ve SSH hizmetinin güvenliğini sağlamak için sshd hapsi aktif hale geitrilmiş Fail2ban yapılandırmasını tamamladınız.

Yazının orijinalini buradan okuyabilirsiniz.