Ubuntu 22.04’te Fail2ban Nasıl Kurulur ve Yapılandırılır
SlaweallyYönetici
2022-10-04 02:19:24 74 views
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.
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.
“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.
UFW kurulumu tamamlandıktan sonra SSH hizmetini UFW güvenlik duvarına eklemek için aşağıdaki komutu çalıştırın.
Ardından, UFW güvenlik duvarını başlatmak ve etkinleştirmek için aşağıdaki komutu çalıştırın.
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.
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.
[ATTACH type="full"]53[/ATTACH]
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.
Şimdi aşağıdaki komutu kullanarak Fail2ban paketini kurun.
Kurulum başlayacaktır.
[ATTACH type="full"]54[/ATTACH]
Fail2ban kurulumu tamamlandıktan sonra Fail2ban hizmetini etkinleştirin ve aşağıdaki komutu kullanarak hizmeti başlatın.
Son olarak, aşağıdaki komutu kullanarak Fail2ban hizmet durumunu kontrol edin.
Aşağıdaki ekran görüntüsünde Ubuntu 22.04 sunucusunda Fail2ban hizmetinin çalıştığını göreceksiniz.
[ATTACH type="full"]56[/ATTACH]
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.
Şimdi nano düzenleyiciyi kullanarak jail.local yapılandırmasını düzenleyin.
İ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.
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.
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.
Daha sonra UFW firewall entegrasyonu için banaction seçeneğini aşağıdaki gibi ufw olarak değiştirmeniz gerekmektedir.
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.
İş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.
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, 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.
“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.
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.
[ATTACH type="full"]60[/ATTACH]
Ş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.
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.
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.
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.
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.
[ATTACH type="full"]61[/ATTACH]
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.
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.
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.
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.
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 -yUFW 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 sshArdından, UFW güvenlik duvarını başlatmak ve etkinleştirmek için aşağıdaki komutu çalıştırın.
sudo ufw enableUFW 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 statusAşağıda, güvenlik duvarı kurallarına eklenen SSH bağlantı noktası 22 ile UFW güvenlik duvarını “Durum: etkin” olarak görebilirsiniz.
[ATTACH type="full"]53[/ATTACH]
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 -yKurulum başlayacaktır.
[ATTACH type="full"]54[/ATTACH]
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 fail2banSon olarak, aşağıdaki komutu kullanarak Fail2ban hizmet durumunu kontrol edin.
sudo systemctl status fail2banAşağıdaki ekran görüntüsünde Ubuntu 22.04 sunucusunda Fail2ban hizmetinin çalıştığını göreceksiniz.
[ATTACH type="full"]56[/ATTACH]
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.20Yasak 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 = 5Fail2ban 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 = admin@hwdomain.io
sender = root@hwdomain.ioDaha sonra UFW firewall entegrasyonu için banaction seçeneğini aşağıdaki gibi ufw olarak değiştirmeniz gerekmektedir.
banaction = ufwSon 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 fail2banArtı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 sshdAş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.
[ATTACH type="full"]60[/ATTACH]
Ş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 bantimesshd 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 maxretrysshd 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 actionsBuradaki 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 findtimeSon 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[ATTACH type="full"]61[/ATTACH]
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-ADDRESSIP 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-ADDRESSArtı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 sshdBir 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.
Yazdığımız şeyler bizi temsil eder, Efendilik iyidir.
