Linux sunucu güvenliği için Fail2ban nasıl kurulur ve kullanılır

Kullanılan bilgi türü veya ona ait kullanıcı sayısı ne olursa olsun, her tür organizasyonda, her zaman sistemlerde veya BT alanında personel olarak güvenliğin birincil faktör olduğundan emin olmalıyız, ancak bir veya daha fazlası yönetildiğinde . daha fazla sunucu.

Linux dağıtımlı sunucular hakkında konuştuğumuzda çoğu zaman onların saldırılardan muaf olduklarını düşünürüz, ancak sık sık değişen çevrimiçi dünyada artık güvenli bir sistem yoktur ve herhangi bir dağıtım kötü amaçlı yazılımlar, virüsler, DDOS saldırıları ve birçok saldırıya maruz kalmaktadır. daha fazla. Olaylara ve sunucu günlüklerine erişimi olan yöneticiler veya kullanıcılar olarak, kaba kuvvet giriş denemelerini, web baskınlarını, istismarcı aramalarını ve bir şekilde bilgilerin bütünlüğünü ve kullanılabilirliğini koyabilecek diğer tehditleri tespit etmek normaldir.

Bu nedenle, bize en iyi güvenlik seçeneklerini ve alternatiflerini sağlayan araçlardan yararlanmak gerekir; Ve bunu düşünerek Solvetic, Linux işletim sistemlerimizi tespit etmek ve güvenliğini sağlamak için Fail2ban'ın nasıl kullanılacağını açıklayacaktır.

Fail2ban nedir?Fail2ban, / var / log / apache / error_log gibi sunucu günlük dosyalarını analiz eden ve böylece şifrelerde çok fazla hata, güvenlik açığı arama vb. .

Genel bir kural olarak, Fail2Ban, güvenlik duvarı kurallarını belirli bir süre içinde IP adreslerini reddedecek şekilde güncellemek için kullanılır, ancak sistemin güvenliğini riske atabilecek başka bir kural da yapılandırabilirsiniz. Fail2Ban, sistem içindeki başarısız kimlik doğrulama girişimlerinin oranını azaltabilse de, kimlik doğrulama yöntemlerinin zayıf olmaması idealdir. Bunun için hizmetleri Linux'ta hizmetleri korumak için yalnızca iki faktör veya genel / özel kimlik doğrulama mekanizmaları kullanacak şekilde yapılandırabiliriz.

Fail2ban kullanmak için gerekenler
Fail2ban kullanmamız gereken tek bağımlılık Python olacak, istenen sürüme bağlı olarak şu olacak:

  • Fail2ban şubesi 0.9.x: Python> = 2.6 veya Python> = 3.2
  • Fail2ban şubesi 0.8.x: Python> = 2.4
İsteğe bağlı olarak, Fail2ban aşağıdaki öğeleri gerektirebilir:
  • Netfiltre / Iptable'lar
  • Sahil duvarı
  • TCP Sarıcı
  • Posta komut dosyası
  • ipset

Fail2ban Özellikleri
Fail2ban'ın şu anki sürümü 0.9.x'tir ve bize aşağıdaki gibi özellikler sunar:

  • Python tabanlı eylemler.
  • Veritabanı desteği.
  • Filtrelerde çok satırlı analiz.
  • Filtreler için özel tarih ve saat desteği.
  • Varsayılan olarak saat dilimi tanıma.
  • Yasaklama komutlarında zaman aşımı.
  • Günlük dosyalarındaki tanıma karakteri seti.
  • Python3 + desteği
  • İstemci / sunucu mimarisi.
  • Çoklu dizin.
  • Bölünmüş yapılandırma dosyalarının kullanımıyla yüksek düzeyde yapılandırılabilir.
  • Varsayılan olarak Netfilter / Iptables kullanır, ancak TCP Wrapper ve diğer birçok mevcut güvenlik duvarını kullanmak da mümkün olacaktır.
  • Sshd, apache, vsftp ve daha fazlası gibi aynı anda birden fazla hizmeti işlemeye izin verir.
  • Aynı IP adresi için X defadan fazla bir kalıp algılandığında, bu adresi yasaklamak için komutları çalıştırın.

1. Linux'ta Fail2ban nasıl kurulur

NotBu durumda CentOS 7 kullanacağız.

Aşama 1
Fail2ban'ı kurmak için aşağıdaki komutları sırayla uygulayacağız:

sistemi güncelle

 yum güncellemesi

EPEL depolarını kurun
 yum epel sürümünü yükleyin

EPEL deposunun indirilmesini ve kurulumunu onaylamak için y harfini giriyoruz.

Adım 2
Ardından, aşağıdakileri yürüterek Fail2ban'ı kurarız:

 yum fail2ban yükleme 

Aşama 3
Bu analizden sonra Fail2ban'ın tüm bağımlılıklarının kurulacağını göreceğiz. Fail2ban'ın indirilmesini ve kurulmasını kabul ediyoruz.

4. Adım
Debian veya Ubuntu kullanılması durumunda aşağıdakileri uygulamamız gerekir:

 apt-get update && apt-get upgrade -y apt-get install fail2ban
İsteğe bağlı olarak, sendmail'i aşağıdaki gibi yükleyerek posta bildirimleri için posta desteğini etkinleştirebiliriz:

CentOS / RHEL

 yum sendmail'i yükle

Debian / Ubuntu

 apt-get sendmail-bin sendmail'i yükle

Adım 5
Bundan sonra, aşağıdaki komutları kullanarak Fail2ban ve Sendmail'i etkinleştireceğiz:

 systemctl fail2ban'ı başlat systemctl fail2ban'ı etkinleştir systemctl sendmail'i başlat systemctl sendmail'i etkinleştir

2. Linux'ta Fail2ban nasıl yapılandırılır


Varsayılan olarak, Fail2ban / etc / fail2ban / dizininde bulunan .conf dosyalarını kullanır; önce erişirsiniz, ancak bunlar aynı dizinde bulunan .local dosyalarıyla değiştirilebilir.

Bu nedenle, .local dosyasının .conf dosyasındaki tüm ayarları içermesi gerekmez, yalnızca sistem güvenliği için uygulamak istediklerimizi içermesi gerekir. fail2ban paketini güncellerken değişikliklerin üzerine yazılmasını önlemek için .conf'ta olmayan .local dosyalarında her değişiklik yapılmalıdır.

Aşama 1
Bunun için fail2ban.local içindeki mevcut fail2ban.conf dosyasını şu şekilde kopyalayacağız:

 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Adım 2
Artık bir metin editörü kullanılarak oluşturulan .local dosyasında değişiklik yapmak mümkün olacak, düzenleyebileceğimiz değerler şunlardır:

günlük düzeyiBu, kayıtların saklandığı seviyedir. Orada aşağıdaki gibi seçeneklerimiz var:

  • KRİTİK
  • HATA
  • UYARI
  • FARKINA VARMAK
  • BİLGİ
  • HATA AYIKLAMA

günlük hedefiBurada eylemler belirli bir dosyaya kaydedilir, varsayılan değer /var/log/fail2ban.log'dur ve kullanılacak seçenekler şunlardır:

  • STDOUT: Herhangi bir verinin çıktısı.
  • STDERR: Herhangi bir hata üretir.
  • SYSLOG: Mesaj tabanlı günlük.
  • Dosya: Bir dosyaya çıktı

prizSoket dosyasının bulunacağı dizindir.

pid dosyasıpid dosyasının konumudur.

3. Linux'ta Fail2ban jail.local nasıl yapılandırılır


Fail2ban'da en önemli dosyalardan biri hapishaneleri veya koruma önlemlerini tanımlayan jail.conf dosyasıdır. Orada Fail2ban'ın etkinleştirilmesi gereken hizmetleri tanımlamanız gerekir.

Aşama 1
Değişiklikleri uygulayabilmek için bir jail.local dosyası oluşturacağız, bunun için şunu yürütüyoruz:

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Bu yerel dosyaya aşağıdaki sözdizimini kullanarak erişiriz:
 nano /etc/fail2ban/jail.local
Orada arka uç satırını buluruz ve varsayılan değeri Auto'yu systemd olarak düzenleriz:

NotUbuntu veya Debian durumunda bu değişiklik gerekli olmayacaktır.

Adım 2
Jail.local dosyası, Debian ve Ubuntu için varsayılan olarak SSH'yi etkinleştirir, ancak CentOS'ta etkinleştirmez, bu nedenle SSH'yi etkinleştirmek istiyorsak, [sshd] altına etkin = true satırını ekleyeceğiz:

4. Fail2ban Linux'ta yasaklama ve yeniden deneme süreleri nasıl yapılandırılır


Fail2ban ile bir IP adresinin bloke edilme şeklini yapılandırabiliriz. Bu amaçla; Bunun için Fail2ban bantime, findtime ve maxretry'den yararlanır.

yasak zamanıBir IP adresinin yasaklı kalacağı saniye sayısını belirtir (varsayılan olarak 10 dakika).

Zaman bulAna bilgisayar kaldırılmadan önce, oturum açma girişimleri arasındaki süredir. (varsayılan 10 dk)

maxretryBir yasak uygulanmadan önce yapılması gereken deneme sayısını ifade eder. (varsayılan olarak 3 deneme).

5. Fail2ban Linux'ta beyaz listeye alınan IP adresleri nasıl yapılandırılır


Fail2ban beyaz listesine IP adresleri eklemek mümkündür (izin verilir). Bunu yapmak için jail.local dosyasında şu satırın yorumunu kaldırmalıyız:
 görmezdenip = 127.0.0.1/8 :: 1
Orada göz ardı edilmesi gereken IP adreslerini girebiliriz. IP adresleri boşluk veya virgülle ayrılmalıdır.

6. Fail2ban Linux'ta e-posta uyarıları nasıl oluşturulur


Bu seçenek, kayıtlardaki herhangi bir değişiklik veya haber hakkında uyarı almak istiyorsak idealdir. Bunu yapmak için /etc/fail2ban/jail.local dosyasını düzenlemeliyiz, seçenekler şunlardır:

postaBildirimin alınacağı e-posta adresidir.

Gönderen ismiMesaj alındığında göreceğimiz göndericidir.

GönderenFail2ban'ın e-postaları göndereceği e-posta adresini belirtir.

Varsayılan mta (posta aktarım aracısı) sendmail ile yapılandırılır.

Posta ile bildirim almak için ayrıca aşağıdaki satırdaki "Eylem" ayarını değiştirmeniz gerekecektir:

 Eylem =% (eylem_) s
Aşağıdaki yapılandırma ile:
 action =% (action_mw) s action =% (action_mwl) s
Ana bilgisayarı yasaklayın ve whois raporuyla posta gönderin
 % (action_mw) s

Ana bilgisayarı yasaklayacak, whois bilgilerini ve günlük dosyasından ilgili tüm bilgileri oluşturacaktır.

 % (action_mwl) s

7. Ek Fail2ban Linux yapılandırmaları


Bir hapishaneyi yapılandırmak istiyorsanız, jail.local dosyasında etkinleştirilmelidir. Sözdizimi aşağıdaki gibidir:
 [hapishane]… etkin = doğru
SSHD için hapishane yapısını görebiliriz. Fail2ban, ek parametreleri otomatik olarak ekler.

Kayıttaki bir satırın bir arıza olup olmadığının belirlenebileceği filtreyi etkinleştirmek de mümkün olacaktır. Filtre değeri, hizmetin adının ardından .conf olan bir dosyaya referanstır. Örneğin kullanabiliriz

 /etc/fail2ban/filter.d/sshd.conf.
Kullanılacak sözdizimi şudur:
 filtre = hizmet
Hapishaneleri eklerken, sunucuda hangilerinin aktif olduğunu görmek için Fail2ban istemcisini kullanabiliriz, bunun için aşağıdakileri uygularız:
 fail2ban-istemci durumu
Biz bu kısıtlamaları yaratırken orada konuşlandırılacaklar.

Fail2ban'ın Linux dağıtımlarında yetkisiz erişimi ve kuruluşta yürütülen kötü uygulamalarla ilgili her şeyi önleyen güvenliği artırmak için nasıl pratik bir yardımcı program olduğunu görebiliriz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave