Cennet Teması Lisans doğrulanmadı, Lisansı doğrulamak için tema seçenekleri sayfasına gidin, Her alan adı için tek bir lisansa ihtiyacınız var.

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.

install-fail2ban-linux-00-featured-image-800x400.jpg Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız
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

install-fail2ban-linux-01-installing-fail2ban.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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.

install-fail2ban-linux-02-systemd-service-status.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Korursunuz

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.

install-fail2ban-linux-03-program-etc-directory.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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

install-fail2ban-linux-04-jail-local-file.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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.

install-fail2ban-linux-05-jail-local-crop-comment.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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.

Ayrıca okuyun:  Linux Neden Bu 5 Windows Özelliğinden Uzaklaşmalı

install-fail2ban-linux-06-jail-local-bantime-crop.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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.

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

Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız?

İ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).

install-fail2ban-linux-08-enable-bantime-length.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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.

install-fail2ban-linux-09-reduce-bantime-length.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Korursunuz

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.

install-fail2ban-linux-10-maximum-login-attempts.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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.

install-fail2ban-linux-11-reduce-maximum-login-attempts.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Korursunuz

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.

install-fail2ban-linux-12-email-settings.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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

install-fail2ban-linux-13-sample-mail-notification.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Korursunuz

Ö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.

install-fail2ban-linux-14-fail2ban-action-lists.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Korursunuz

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.

install-fail2ban-linux-15-sample-filter-file.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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

ls /etc/fail2ban/filter.d

install-fail2ban-linux-16-list-all-filter-files.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Korursunuz

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.

install-fail2ban-linux-17-create-new-space.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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]

install-fail2ban-linux-18-add-new-filter-modules.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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.

install-fail2ban-linux-19-login-fail-attempt.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

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:  Farklı bir kullanıcı deneyimi sunan Ubuntu, kaçırılmaması gereken bir tercih.

install-fail2ban-linux-20-nginx-bad-request-filter.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Korursunuz

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

install-fail2ban-linux-21-curl-bad-request.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Korursunuz

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.

install-fail2ban-linux-22-blocked-ip-address-fail2ban.png Linux'ta Fail2Ban ile Sunucunuzu Nasıl Güvende Tutarsınız

İ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.

Üst düğmeye git