Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz?

Sunucu güvenliği, herhangi bir işletme veya kuruluş için en önemli önceliktir. Fail2Ban, bir sistem yöneticisinin araç setindeki en önemli araçlardan biridir. Bu kılavuz, Fail2Ban'in ne olduğunu ve Linux'unuzdaki Fail2Ban ile sunucunuzu saldırılardan nasıl koruyabileceğinizi açıklar.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Fail2Ban nedir?

Fail2Ban, günlük dosyalarını izleyen ve kötü niyetli etkinlik belirtileri gösteren IP adreslerini engelleyen bir saldırı önleme aracıdır. Bunu, günlük dosyalarındaki belirli kalıplarla eşleşen "filtreler" oluşturarak ve rahatsız edici IP adresini engellemek gibi eylemler gerçekleştirerek yapar.

Neden Linux'ta Fail2Ban kullanıyorsunuz?

Fail2Ban'ı Linux'ta kullanmanın birkaç nedeni vardır. Belki:

  • Kötü amaçlı IP adreslerini otomatik olarak engelleyerek size zaman kazandırır.
  • Bir saldırının başarılı olma şansını azaltarak sunucunuzun güvenliğini sağlamaya yardımcı olun.
  • Sunucunuzun izlendiğini ve korunduğunu bilmek size rahatlık verir.

Fail2Ban'ı Linux'a yükleyin

Varsayılan olarak Fail2Ban, Ubuntu depolarında bulunur. Apt kullanarak kurun.

sudo add-apt-repository evren sudo apt update && sudo apt install fail2ban -y

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Fail2Ban hizmetini arka planda ayarlayacak, ancak systemd varsayılan olarak devre dışı bırakacaktır. Aşağıdaki komutlarla başlatabilir ve etkinleştirebilirsiniz:

sudo systemctl fail2ban'ı başlat sudo systemctl fail2ban'ı etkinleştir

Fail2Ban'in aşağıdaki komutla çalıştığını doğrulayın:

sudo systemctl durumu fail2ban

Aşağıdaki görüntüye benzer bir çıktı göreceksiniz.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Linux'ta Fail2Ban'i Yapılandırma

“/etc/fail2ban” dizini, Fail2Ban için yapılandırma dosyalarını içerir. Fail2Ban, varsayılan olarak tüm hizmetlere uygulanacak Ayarları içeren bir "jail.conf" dosyasıyla birlikte gelir.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Ancak, yerel bir "jail.local" dosyası oluşturmak ve "jail.conf"taki Ayarları geçersiz kılmak iyi bir uygulamadır çünkü "jail.conf"ta yaptığınız tüm değişiklikler yazılım her güncellendiğinde kaybolacaktır.

Aşağıdaki komutlarla “jail.local” dosyanızı oluşturabilirsiniz:

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

Düzenlemek için jail.local dosyasını açın:

sudo nano /etc/fail2ban/jail.local

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Bilmekte fayda var: öğrenmek LINUX'ta parolasız SSH oturumları nasıl etkinleştirilir?

jail.local dosyasını keşfedin

Aşağıda gösterilene benzer bir çıktı göreceksiniz ve mevcut seçeneklerin sayısı karşısında şaşkına dönebilirsiniz. Ancak endişelenmeyin, size en önemli seçenekleri gösteriyoruz.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Bir simge göreceksiniz "#" satırın başında, bunun bir yorum olduğunu belirtir. Fail2Ban, belirli bir ayarın ne yaptığını açıklamak için bunları kullanır. Bu kodu kaldırarak bazı Ayarları buradan etkinleştirebilirsiniz.

bölüm içerir "[VARSAYILAN]" tüm cezaevleri için geçerli seçenekler hakkında. Bu, Fail2Ban'ın genel yapılandırmasıdır. Aşağıdaki ekran görüntüsü bir örnek göstermektedir.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Hizmet adıyla başlayan başka bölümler de vardır. Bu hapishane, dünya hapishanelerinin üzerinde belirli bir hizmet için geçerlidir.

Ayrıca okuyun:  Linux'un Windows 10'a benzemesi nasıl sağlanır

Örneğin, hapishane için bir bölüm var. "şşd". Bu bölüm sshd hizmeti için seçenekleri içerir.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

İpucu: Şuraya giderek sunucu güçlendirme hakkında daha fazla bilgi edinebilirsiniz: SSH sunucunuzun güvenliğini sağlayın.

Autoban özelliğini etkinleştirin

ayara git “ban süresi = 1 saatve kodu kaldır "#" etkinleştirmek için satırın başında. Bu satır, Fail2Ban'in IP adresini devre dışı bırakmasının ne kadar süreceğini ayarlar. Varsayılan birim XNUMX saattir. Dakika gibi diğer birimleri de kullanabilirsiniz. (M) veya günler (D) hatta haftalar (w).

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Bu değeri uygun gördüğünüz şekilde artırabilir veya azaltabilirsiniz. Örneğin blok süresini 30 dakikaya indirmek için bu değeri 30 metre olarak değiştirebilirsiniz.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Oturum açma penceresinin varsayılan uzunluğunu değiştirin

Aşağıdaki ayarlar “maxretry” ve “findtime” şeklindedir. Fail2Ban, IP adreslerini bloke etmeden önce bir saldırganın yapabileceği oturum açma girişimi sayısını sınırlar.

"maxretry" ve "findtime" için varsayılan değerler 5 ve 10 m'dir. Bir IP, on dakika içinde beş kez kimlik doğrulamasında başarısız olursa, Fail2Ban bantime ayarı tarafından belirtilen süre boyunca IP'yi bloke eder.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Bu değerleri istediğiniz gibi değiştirebilirsiniz. Örneğin, "maxretry"yi 3'e ve "findtime"ı 5m'ye ayarlayabilirsiniz: Fail2Ban, beş dakika içinde üç kez kimlik doğrulaması yapamazsa bir IP adresini devre dışı bırakır.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Linux'ta Fail2Ban bildirim özelliğini etkinleştirin

Sonraki Ayarlar destemail, sendername ve mta'dır. Bu ayarlar, Fail2Ban'in e-posta bildirimlerini yapılandırmak için kullanacağı ayardır.

  • E-posta ayarı, programın bildirimlerini göndereceği e-posta adresidir.
  • Gönderenin adı, bildirim e-postasının Kimden alanında görünecek addır.
  • mta, Fail2Ban'in e-posta göndermek için kullanacağı posta aktarım aracısıdır. mta varsayılanı sendmail'dir, ancak bunu mail gibi başka bir şeyle değiştirebilirsiniz.

E-posta bildirimleri almak istiyorsanız, bu satırların açıklamasını kaldırmanız ve gösterildiği gibi uygun değerleri girmeniz gerekir.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Bir yasak oluştuğunda, yasakla ilgili detayları aşağıda gösterildiği gibi içeren bir e-posta bildirimi alacaksınız.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Özel blok siparişleri oluşturun

Sonraki ayar "action_=" şeklindedir. Bu, Fail2ban'ın bir IP adresini engellediğinde gerçekleştirdiği eylemi belirtir. Varsayılan, "bantime" sona erene kadar IP'yi engellemek için iptables kullanmaktır.

Aşağıda açıklanan diğer prosedürleri de kullanabilirsiniz. Bu öğretici, basitlik adına varsayılan ayara bağlı kalır.

  • action_mw: Bir IP adresi engellendiğinde ilgili WHOIS bilgileriyle birlikte bir e-posta bildirimi gönderir.
  • action_mwl: Bir IP adresi engellendiğinde, engellemeye yol açan ilgili WHOIS bilgileri ve günlük dosyası girişleriyle birlikte bir e-posta bildirimi gönderir.
  • action_xarf: Bir IP adresi engellendiğinde, engellemeyi tetikleyen günlük dosyası girişleriyle birlikte bir X-ARF e-posta bildirimi gönderir.
Ayrıca okuyun:  Steam oyunları Linux'a nasıl kurulur ve oynanır

Diğer birçok prosedür mevcuttur, ancak bu eğitimde hepsini ele almak imkansızdır. yapabilirsin Mevcut tüm prosedürler hakkında bilgi edinin Fail2ban belgelerinde.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Hizmet için yapılandırmayı etkinleştir

Fail2ban'ın varsayılan davranışını yapılandırmanın yanı sıra, bazı popüler İnternet hizmetleri için önceden hazırlanmış Filtre Dosyalarını kullanmak da mümkündür. Bunlar, geliştiriciler tarafından belirli bir sunucu için belirli günlük çıktılarını aramak üzere yazılan küçük dosyalardır.

Örneğin, “apache-shellshock.conf” dosyası, Fail2ban'ın bir shellshock hatası oluşturmaya yönelik kötü niyetli girişimleri kontrol etmesine izin vermek için gerekli tüm Ayarları içerir.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Sisteminiz için mevcut tüm filtre dosyalarını “/etc/fail2ban/filter.d” dizinini listeleyerek bulabilirsiniz:

ls /etc/fail2ban/filter.d

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Kullanmak istediğiniz filtreleri öğrendikten sonra, Fail2ban'a "jail.local" dosyanızı açarak başlatma sırasında bunları yüklemesini söyleyin:

sudo nano /etc/fail2ban/jail.local

"jail.local" içinde yeni filtrelerinizi etkinleştirebileceğiniz bir alan oluşturun. Yorum başlığı ile [DAHİL] bloğu arasında kendiminkini oluşturuyorum.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Etkinleştirmek istediğiniz filtreleri ekleyin. Örneğin, yapılandırmamda kullandığım bir pasaj aşağıdadır:

# Yorumlar: yorum satırları için '#' ve ';' kullanın (bir boşluktan sonra) satır içi yorumlar için [sshd] etkin = true [nginx-bad-request] etkin = true [bitwarden] etkin = true [DAHİL]

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Tamamlandığında, dosyayı kaydedin ve kapatın. Değişiklikleri uygulamak için fail2ban'ı yeniden başlatın.

sudo systemctl yeniden başlat fail2ban

Yapılandırmanızı test edin

Artık Linux'ta Fail2Ban'ı yapılandırdığınıza göre, onu test etme zamanı.

Yapılandırmanızı test etmenin en basit yolu, arka arkaya birkaç kez yanlış parolayla oturum açmayı denemektir. Bunu yapmak için bir SSH bağlantısı kullanabilirsiniz.

İmha makinesinde, 'admin' kullanıcı adını kullanarak Fail2ban sunucunuza SSH göndermeyi deneyin. "your_server_ip_address" ifadesini Fail2ban sunucunuzun gerçek IP adresiyle değiştirin.

ssh admin@sunucunuzun_ip_adresi

İstendiğinde rastgele bir şifre girin ve birkaç kez tekrarlayın. Birkaç denemeden sonra, sunucunun bağlantı girişiminizi reddettiğini belirten bir mesaj göreceksiniz.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

ssh kullanmanın yanı sıra, Fail Status'u çalıştırarak Fail2ban'daki diğer filtre dosyalarını da test edebilirsiniz. Benim durumumda, bir ana bilgisayarın sunucuyu geçersiz isteklerle doldurup doldurmadığını algılayan "nginx-bad-request" filtresini kullanıyorum.

Ayrıca okuyun:  Kolayca Özel Bir Linux Dağıtımı Oluşturmak için 5 Araç

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Bunu bilerek, curl kullanarak web sunucunuza kasıtlı olarak boş istekler göndererek bu özelliği test edebilirsiniz:

curl -H "User-Agent:" -H "Host:" https://yourwebsite.com -v

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

Linux'ta Fail2Ban rutinlerini kontrol etme

Son olarak, fail2ban'ın gerekli kuralları iptables'a eklediğini doğrulamak için Fail2ban sunucusunda aşağıdaki komutu çalıştırın.

grep komutu, iptables komutunun çıktısını filtreler. -S seçeneği, iptables'a kuralları kolayca ayrıştırılabilir bir biçimde yazdırmasını söyler.

sudo iptables -S | grep f2b

Aşağıdaki görüntüye benzer bir çıktı göreceksiniz. “–reject-with icmp-port-unreachable” bağımsız değişkeni, iptables'a, bağlanmaya çalıştığında istemciye bir ICMP bağlantı noktası erişilemez mesajı göndermesini söyler. Sunucunun engellediği cihazların IP adreslerini de görebilirsiniz.

Sunucunuzu Linux'ta Fail2Ban ile nasıl korursunuz - %categories

İpucu: Linux sunucunuzun güvenliğini sağlamak için SELinux'u da kullanmalısınız.

Sık sorulan sorular

S1: Fail2ban bir IP adresini engellediğinde neden boş bir e-posta bildirimi alıyorum?
Cevap: Boş bir e-posta bildirimi alırsanız, muhtemelen posta sunucunuzu doğru şekilde yapılandırmamışsınızdır. Posta sunucusu yapılandırmanızı kontrol edin ve e-posta gönderebildiğinden emin olun.

S2: Bir IP adresinin engellemesini nasıl kaldırabilirim?
Cevap: Öncelikle, IP adresinin şu anda engellendiği hapishaneyi bulun: sudo fail2ban-client status , ardından aşağıdakini çalıştırarak IP adresinin engellemesini kaldırın: sudo fail2ban-client set temizlenmeli .

S3: fail2ban günlük dosyasını nasıl görüntülerim?
Cevap: Sorunları gidermek veya IP adresinin neden engellendiğini öğrenmek için fail2ban günlük dosyasını görüntülemek isteyebilirsiniz. “/var/log/fail2ban.log” dosyası fail2ban tarafından oluşturulan tüm günlükleri içerir. fail2ban günlük dosyasını görüntülemek için cat komutunu kullanın: cat /var/log/fail2ban.log.

S4: Birden çok filtre dosyasını etkinleştirdim. Neden hepsi çalışmıyor?
Cevap: Bu sorun, büyük olasılıkla, bir filtre kendisinden önce gelen farklı bir dosyanın üzerine yazdığı için oluşur. Bunu düzeltmenin bir yolu, birkaç filtreyi bir araya getirerek kendi filtre dosyanızı oluşturmaktır.

S5: Fail2ban, sunucumu bir DoS saldırısından koruyacak mı?
Cevap: Evet ve hayır. Çoğunlukla, Fail2ban, sunucunuza geçersiz istekler gönderen herhangi bir IP'yi engelleyebilir. Ancak, bu programın en büyük kısıtlamalarından biri, günlük kaydı oluşturmayan olaylar üzerinde işlem yapamamasıdır. Bu nedenle, bu tür saldırılar için Linux sunucunuzu diğer araçları kullanarak güvenceye almak yine de önemlidir.

Ayrıca gibi olabilir