📒  Güven ve Güvenlik

Linux Sunucularda fail2ban nasıl kurulur ve Fail2ban nasıl yapılandırılır

Linux Sunucularda (ubuntu / debian) fail2ban conf kullanarak ve ubuntu üzerinde yapılandırarak ve sunucunuza fail2ban yükleyerek fail2bannasıl kurulur ve yapılandırılır.
Fail2ban, kötü niyetli etkinlikleri ve şüpheli etkinlikleri izleyerek Linux Sunucularında güvenliğinizi gerçekten koruyabilir ve yardımcı olabilir, bu arada IP Adreslerini yasaklayabilir ve engelleyebilir.
Sunucunuzda sorunsuz ve sorunsuz çalışması için fail2ban’ın nasıl kurulacağını veya fail2ban’ın doğru şekilde nasıl yapılandırılacağını bilmek önemlidir.

Gereksinimler
Debian / Ubuntu
Diğer Linux (yapılandırma komutları farklı olacaktır)

NOT: Paylaşımlı Hosting’de fail2ban kullanamazsınız, VPS Hosting’imizde kullanmanız gerekir veya Alexhost’un Dedicated Sunucuları kullanmak için en iyi hizmetlerdir.

Fail2ban nedir?

configure fail2ban

Fail2Ban, kötü niyetli etkinliklere karşı günlük dosyalarını izleyerek ve şüpheli davranışlarla ilişkili IP adreslerini yasaklamak veya engellemek için otomatik olarak harekete geçerek Linux sunucularının güvenliğini artıran bir günlük ayrıştırma uygulamasıdır. Birincil amacı, sunucuları çeşitli saldırı türlerinden, özellikle de yetkisiz erişim elde etmek için kaba kuvvet girişimlerini içerenlerden korumaktır. Fail2ban ‘ı sunucunuza doğru şekilde nasıl yükleyeceğinizi bilmek önemlidir.

Fail2Ban genel olarak şu şekilde çalışır:

  1. Günlük Dosyalarını İzleme: Fail2Ban, potansiyel güvenlik tehditlerini gösteren kalıplar için belirtilen günlük dosyalarını sürekli olarak izler. Bu günlük dosyaları, SSH için /var/log/auth.log veya Apache için /var/log/apache2/error.log gibi kimlik doğrulama girişimleriyle ilişkili olanları içerir.
  2. Filtreleme Kuralları: Fail2Ban, günlük girdilerindeki belirli kalıpları tanımlamak için önceden tanımlanmış veya kullanıcı tarafından yapılandırılmış filtre kurallarını kullanır. Bu kalıplar genellikle başarısız oturum açma girişimlerini, parola tahminlerini veya diğer şüpheli etkinlikleri gösterir.
  3. Eşleşen Kalıplar: Bir günlük girdisi önceden tanımlanmış bir kalıpla eşleştiğinde, Fail2Ban bunu bir “başarısızlık” veya “eşleşme” olarak sayar Filtreler, aynı IP adresinden tekrarlanan başarısız oturum açma girişimleri gibi yaygın saldırı modellerini tanımak için tasarlanmıştır.
  4. Yasaklama Eylemleri: Belirli sayıda eşleşen girişten sonra (maxretry ayarı ile yapılandırılır), Fail2Ban rahatsız edici IP adresini engellemek için harekete geçer. Yasaklama süresi bantime ayarı tarafından belirlenir. Bu geçici yasaklama, saldırganların erişim kazanmasını zorlaştırarak otomatik saldırıları engellemeye yardımcı olur.
  5. Hapishaneler: Fail2Ban, izleme ve yasaklama yapılandırmalarını “hapishane” adı verilen birimler halinde düzenler Her hapishane belirli bir hizmete veya hizmet grubuna karşılık gelir. Örneğin, SSH için bir hapishane, Apache için başka bir hapishane vb. olabilir. Filtreler ve yasaklama ayarları da dahil olmak üzere her bir hapishanenin yapılandırması Fail2Ban yapılandırma dosyalarında tanımlanır.
  6. Durum ve Etkileşim: Sistem yöneticileri Fail2Ban’ın durumunu kontrol edebilir, yasaklanan IP adreslerini görüntüleyebilir ve gerekirse adreslerin yasağını manuel olarak kaldırabilir. Fail2Ban ayrıca eylemlerini günlüğe kaydederek yöneticilere yasaklanan IP adreslerinin ve ilgili olayların geçmişini sağlar.

Fail2Ban, kötü niyetli davranışlar sergileyen IP adreslerini otomatik olarak yasaklayarak sunucuları kaba kuvvet saldırılarından, parola tahmininden ve diğer güvenlik tehditlerinden korumaya yardımcı olur. Bir Linux sunucusunun genel güvenlik duruşunu geliştirmek için değerli bir araçtır. Bununla birlikte, Fail2Ban’ı özel ortamınız için uygun şekilde yapılandırmanız ve düzgün çalıştığından emin olmak için günlüklerini düzenli olarak incelemeniz çok önemlidir.

### Adım 1: Fail2Ban Nasıl Kurulur

Ubuntu veya Debian sunucunuzda bir terminal açın ve aşağıdaki komutları çalıştırın:

sudo apt güncellemesi

sudo apt install fail2ban

### Adım 2: Fail2Ban’i Yapılandırın

  1. Varsayılan yapılandırma dosyasının bir kopyasını oluşturun:

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

  1. Jail.local` dosyasını bir metin düzenleyicide açın. Nano` ya da `vim` kullanabilirsiniz:

sudo nano /etc/fail2ban/jail.local

  1. Temel ayarları `jail.local` dosyasında yapılandırın. İşte bazı yaygın seçenekler:

bantime: Bir IP’nin yasaklanacağı süre (saniye cinsinden). Varsayılan değer 10 dakikadır (600 saniye).

bulma zamanı: Yasaklama için tanımlanmış sayıda hatanın gerçekleşmesi gereken zaman penceresi (saniye cinsinden).

maxretry: Yasaklamadan önce izin verilen başarısızlık sayısı.

Örnek:

[DEFAULT]

bantime = 600

bulma zamanı = 600

maxretry = 3

4. Fail2Ban’ın izlemesini istediğiniz belirli hizmetler için filtreleri ayarlayın. Filtreler `jail.local` dosyasında `[]` bölümü altında tanımlanır. Yaygın hizmetler arasında SSH (`sshd`), Apache (`apache`) ve Nginx (`nginx`) bulunur.

SSH için örnek:

[sshd]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/auth.log

maxretry = 5

Not: `port` ve `logpath` değerlerinin özel yapılandırmanızla eşleştiğinden emin olun.

  1. Jail.local` dosyasını kaydedin ve metin düzenleyiciden çıkın.

### Adım 3: Fail2Ban’i Yeniden Başlatın

Yapılandırmada değişiklik yaptıktan sonra yeni ayarları uygulamak için Fail2Ban’i yeniden başlatın:

sudo systemctl restart fail2ban

### Adım 4: Fail2Ban Durumunu Kontrol Edin

Fail2Ban’ın durumunu şu şekilde kontrol edebilirsiniz:

sudo fail2ban-client durumu

Bu, hapishaneler ve durumları hakkında bilgi göstermelidir.

### Adım 5: Fail2Ban’i Test Edin

Fail2Ban’ın çalışıp çalışmadığını test etmek için, izlenen hizmette (örn. SSH) kasıtlı olarak bazı başarısız oturum açma denemeleri oluşturun. Belirtilen `maxretry` değerine ulaştıktan sonra, Fail2Ban ilgili IP adresini yasaklamalıdır.

Bu talimatları kendi Ubuntu veya Debian sistem ve hizmet yapılandırmalarınıza göre uyarlamayı unutmayın. Her zaman ayarlarınızın güvenlik etkilerini göz önünde bulundurun ve beklenmedik davranışlar için günlükleri düzenli olarak inceleyin.

Not: Sunucunuzda fail2ban’ı yapılandırırken, ne yaptığınızdan emin değilseniz 22 numaralı portu engellemeyin, böyle bir durumda SSH varsayılan portunu engellemiş olursunuz.

Uyarı: Fail2ban linux sunucularınızı korumak için mükemmel bir araçtır, ancak dikkatli bir şekilde yapılandırılması gerekir. Yasaklanmaktan kaçınmak için, IP’nizi ve önemli olduğunu düşündüğünüz diğer IP’leri beyaz listeye alın. Fail2ban’ı kullanmak ve doğru yapmadan yapılandırmak sunucunuzla bağlantınızı kaybetmenize neden olabilir, sunucunuza (Ubuntu, Debian, CentOS vb.) fail2ban’ı nasıl kuracağınızı bilmek önemlidir.