Kurulumlar / Güvenlik / Linux OS · 17 Haziran 2022 0

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




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

Bu eğitimde, Ubuntu 22.04 sunucusunun güvenliğini sağlamak için Fail2ban’ın nasıl kurulacağını ve yapılandırılacağını göstereceğiz. Bu kılavuz ayrıca Fail2ban hizmetini ve hapishaneleri yönetmek için fail2ban-client’ın temel komutunu da kapsar.

 

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 “Ufw komutu bulunamadı” 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

Aşağıda, güvenlik duvarı kurallarına eklenen SSH bağlantı noktası 22 ile UFW güvenlik duvarını “Durum: etkin” olarak görebilirsiniz.

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

Ubuntu 22.04’te Fail2ban Kurulumu

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

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

Kurulum başlayacaktır.

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

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

Aşağıdaki ekran görüntüsünde Ubuntu 22.04 sunucusunda Fail2ban hizmetinin çalıştığını göreceksiniz.

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

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 hapishane 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 hapishane yapılandırması 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 kadar olacaktı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, hapishane yapılandırması için. Bu bölüm, hizmetinizi eklediğiniz ve fail2ban kullanarak güvenliğini sağladığınız yerdir.

Bu örnekte, SSH hizmeti için hapishaneyi etkinleştireceğiz, ancak aynı zamanda sshd hapishanesi için genel varsayılan yapılandırmayı da geçersiz kılacağız.

Yasak süresi 1 hafta olacak ve maksimum başarısızlık 3 kez yeniden denenecek 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 hapishanesi etkinleştirilmiş olarak Fail2ban yapılandırmasını tamamladınız.

Fail2ban Durumunu Doğrulamak için Fail2ban-client’ı Kullanma

fail2ban, Fail2ban hizmetiyle etkileşim kurmak için bir fail2ban-client komut satırı sağlar.

Bu, Fail2ban’ı komut satırından yönetmenize ve yapılandırmanıza ve ayrıca Fail2ban hapishanelerini yönetmenize izin verir. fail2ban kurulumunu ve yapılandırmasını doğrulamak için aşağıdaki fail2ban-client komutunu çalıştırın.

sudo fail2ban-client ping

Server replied: pong” gibi bir çıktı mesajı alırsanız, bu, Fail2ban’ın hatasız çalıştığı anlamına gelir. Ardından, sshd jail’in durumunu kontrol etmek için aşağıdaki fail2ban-client komutunu çalıştırın.

sudo fail2ban-client status sshd

Aşağıda sshd jail’in detaylı durumunu görebilirsiniz. Bu, SSH hizmetinin günlük dosyasını ve sshd hapishanesindeki yasaklı IP adreslerinin listesini içerir.

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

Şimdi sshd jail’in detaylı konfigürasyonunu almak istiyorsanız aşağıdaki gibi fail2ban-client komutunu kullanabilirsiniz.

sshd jail için bantime yapılandırmasını kontrol edin. Bantime’ın çıktısını saniyeler içinde burada alacaksınız.

sudo fail2ban-client get sshd bantime

sshd hapishanesi için maxrtey yapılandırmasını kontrol edin. Burada maksimum değerin 3 olduğunu göreceksiniz, çünkü bu, maksimum 5 kez olan global konfigürasyondan geçersiz kılınmıştır.

sudo fail2ban-client get sshd maxretry

sshd jaildeki banaction için aşağıdaki komutu kullanabilirsiniz. Ve sshd hapishanesi için varsayılan yasaklama olarak ufw çıktısını almalısınız.

sudo fail2ban-client get sshd actions

Buradaki findtime için, sshd jail için geçersiz kılma değerini de göreceksiniz. Buradaki çıktı da saniye formatında olacaktır.

sudo fail2ban-client get sshd findtime

Son olarak, aşağıdaki komutu kullanarak sshd jail için varsayılan görmezden ipi de kontrol edebilirsiniz. Ignoreip’in global Fail2ban konfigürasyonu ile aynı değere sahip olduğunu göreceksiniz.

sudo fail2ban-client get sshd ignoreip

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

Fail2ban-client kullanarak IP’yi yasaklama ve yasağı kaldırma

Burada Fail2ban ile ilgili bir diğer önemli şey de Fail2ban’da IP adreslerinin nasıl yasaklanacağı ve kaldırılacağıdır. Bunu yapmak için fail2ban-client komutunu da kullanabilirsiniz.

IP adresini sshd hapishanesinde manuel olarak yasaklamak için aşağıdaki fail2ban-client komutunu kullanabilirsiniz. IP adresini yasaklamak istediğiniz IP adresiyle değiştirin.

sudo fail2ban-client set sshd banip IP-ADDRESS

IP adresini sshd jail’den kaldırmak için aşağıdaki fail2ban-client komutunu kullanabilirsiniz. IP adresini, yasağını kaldırmak istediğiniz IP adresiyle değiştirdiğinizden emin olun.

sudo fail2ban-client set sshd unbanip IP-ADDRESS

Artık bir IP adresini manuel olarak yasakladıktan veya bir IP adresinin yasağını kaldırdıktan sonra, aşağıdaki fail2ban-client komutunu kullanarak doğrulama yapabilirsiniz.

sudo fail2ban-client status sshd

Bir IP adresini manuel olarak yasaklarsanız, IP adresinin yasaklanmış IP adresleri listesinde bulunduğundan emin olun. Ancak bir IP adresinin yasağını kaldırırsanız, IP adresinin yasaklı IP adresleri listesinden kaybolduğundan emin olun.

Sonuç olarak;

Tebrikler! Artık Ubuntu 22.04’ün güvenliğini sağlamak için Fail2ban’ı başarıyla yüklediniz ve yapılandırdınız. Ayrıca UFW güvenlik duvarının nasıl etkinleştirileceğini ve Fail2ban’ın UFW güvenlik duvarı ile nasıl entegre edileceğini de öğrendiniz. Son olarak, Fail2ban’dan IP adreslerinin nasıl yasaklanacağını ve yasaklanacağını da içeren fail2ban-client komutunu kullanarak Fail2ban’ı nasıl yöneteceğinizi de öğrendiniz.