CentOS'ta fail2ban ile SSH nasıl korunur

İçindekiler

Sunucular ayrı ayrı mevcut değildir ve çoğu, yalnızca en temel SSH yapılandırmasıyla kurulur ve özelleştirilir, kaba kuvvet saldırılarına karşı savunmasız olabilir.
fail2ban aracı, sunucuyu şüpheli saldırılardan ve kötü amaçlı yazılımlardan otomatik olarak korumanın bir yolunu sunar.
Program, günlük dosyalarını tarayarak çalışır ve tekrarlanan başarısız bağlantı girişimleri gibi eylemlere tepki vermeye yardımcı olur.
fail2ban kurarak başlayacağız
fail2ban CentOS'ta bulunmadığından, depoyu indirerek başlamalıyız:
rpm- Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Ardından aşağıdaki komutla komut satırından fail2ban'ı kuruyoruz.
yum fail2ban yükleme

Yapılandırma dosyasını kopyalıyoruz
Varsayılan fail2ban yapılandırma dosyası, /etc/fail2ban/jail.conf içindeki konumdur. Ancak bu dosya üzerinde konfigürasyon çalışması yapılmamalı ve bunun yerine yedekleme için yerel bir kopyası yapılmalıdır.
cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.local

Dosya kopyalandıktan sonra yeni jail.local dosyasında tüm değişiklikleri yapabiliriz. Korumaya ihtiyaç duyabilecek olası hizmetlerin çoğu bu dosyada önceden yapılandırılmıştır. Her biri kendi bölümünde, yapılandırılmış ve kapatılmıştır.
Varsayılanları Jail.Local olarak ayarla
Yeni fail2ban yapılandırma dosyasını açın:
 vi / etc / fail2ban / jail.local 

Varsayılan ayarların ilk bölümü, fail2ban'ın izleyeceği temel kuralları kapsar. Sanal özel sunucunuz için daha kişiselleştirilmiş koruma yapılandırmak istiyorsanız, her bölümün ayrıntılarını özelleştirebilirsiniz.
Varsayılan bölümü aşağıdaki gibi bazı ayrıntıları görebilirsiniz.
 [DEFAULT] # "Ignoreip" bir IP adresi, bir CIDR maskesi veya bir DNS ana bilgisayarı olabilir. Fail2ban, bu listedeki bir adresle eşleşen bir diziyi # Banlamaz. Birden fazla adres, boşluk ayırıcı ile #tanımlanabilir. görmezdenip = 127.0.0.1 # "Bantime", bir ana bilgisayarın erişiminin yasaklandığı veya yasaklandığı saniye sayısıdır. bantime = 3600 # Bir sunucunun maksimum sayıda başarısız sorgu yapması durumunda engelleneceği saniye cinsinden süre findtime = 600 # "Maxretry" yasaklanmadan önce izin verilen hata sayısıdır. maxretry = 3 

Ip adresinizi yoksayıp kişisel satırına girin. Her adresi bir boşlukla ayırabilirsiniz. IgnoreIP, belirli IP adreslerini beyaz listeye alır ve VPS'nizin dışında kalmamalarını sağlar. Adresinizi dahil etmek, kendinizi yanlışlıkla kendi sanal özel sunucunuzdan yasaklamamanızı sağlayacaktır.
Bir sonraki adım, bir yasaklama süresine, herhangi bir kuralı ihlal eden bir sunucunun sunucudan engellendiği saniye sayısına karar vermektir. Bu, özellikle bir kez erişime izin verilmeyen robotların bir sonraki hedefe geçmesi durumunda kullanışlıdır. Varsayılan 10 dakikadır, isterseniz bunu bir saate yükseltebilirsiniz.
Maxretry, bir ana bilgisayarın erişim denemeleri yasaklanma süresi boyunca yasaklanmadan önce sahip olabileceği yanlış erişim denemelerinin sayısıdır.
Findtime, bir ana bilgisayarın varsayılan değeri 10 dakika girmesi gereken süreyi ifade eder; bu, bir ana bilgisayara bir sunucuya erişmeye çalışılırsa ve başarısız olursa, maksimum giriş miktarından 3 kez daha fazla oturum açma anlamına gelir. belirlenen 10 dakika içinde IP'niz bloke edilecek ve erişemeyeceksiniz.
Jail.Local'da ssh - iptables bölümünü yapılandırın
SSH ayrıntıları bölümü, ayarlarda biraz daha aşağıdadır ve zaten kurulmuş ve etkinleştirilmiştir. Bu bölümde herhangi bir değişiklik yapmanız gerekmese de, her satırla ilgili ayrıntıları aşağıda bulabilirsiniz.
 [ssh - iptables] etkin = true filtre = sshd eylem = iptables [ad = SSH, bağlantı noktası = ssh, protokol = tcp] sendmail-whois [ad = SSH, hedef = kök, gö[email protected]] logpath = / var / log / güvenli maxretry = 5

Etkin, yalnızca SSH korumasının açık olduğu gerçeğini ifade eder. Yanlış kelimesiyle kapatabilirsiniz.
Varsayılan olarak sshd için kullandığınız filtre, fail2banuses'un eşleşmeleri bulmak için kullandığı kuralları içeren yapılandırma dosyasına başvurur. Ad, dosya uzantısının kısaltılmış bir sürümüdür. Örneğin sshd, /etc/fail2ban/filter.d/sshd.conf'a atıfta bulunur.
Eylem, fail2ban'ın eşleşen bir IP adresini yasaklamak için atacağı adımları açıklar. Filtre girişi gibi, her eylem, action.d dizini içindeki bir dosyaya başvurur. Varsayılan yasaklama eylemi iptable, /etc/fail2ban/action.d/iptables.conf içinde bulunabilir.
iptables'da fail2ban'ı daha da özelleştirebilirsiniz. Örneğin, standart olmayan bir bağlantı noktası kullanıyorsanız, parantez içindeki bağlantı noktası numarasını yüksekliğe değiştirerek görüş hattını aynı aileye dönüştürebilirsiniz:
Örneğin . iptables [ad = SSH, bağlantı noktası = 30000, protokol = tcp]
Fail2ban'ın hangisini izlemesini istediğinize bağlı olarak, protokolü bu satırda TCP'den UDP'ye de değiştirebilirsiniz.
Sanal özel sunucunuzda yapılandırılmış bir posta sunucunuz varsa, fail2ban bir IP adresi yasaklandığında size e-posta gönderebilir. Baypas durumunda, sendmail-whois, / etc / fail2ban / action.d / sendmail-whois.conf içinde bulunan eylemleri ifade eder.
günlük yolu, fail2ban'ın izleyeceği günlüğün konumunu ifade eder.
SSH bölümündeki maksimum yeniden deneme satırı, varsayılan seçenekle aynı tanıma sahiptir. Ancak bir hizmet etkinleştirildiyse ve her biri için belirli değerlere sahip olmak istiyorsanız, burada SSH için yeni maksimum yeniden deneme miktarını ayarlayabilirsiniz.
fail2ban'ı yeniden başlat
fail2ban yapılandırmasında herhangi bir değişiklik yaptıktan sonra, her zaman fail2ban'ı yeniden başlattığınızdan emin olun:
sudo fail2ban hizmetini yeniden başlat

IP tablosunda fail2ban'ın yürürlüğe koyduğu kuralları görebilirsiniz:
iptables-L
Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

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

wave wave wave wave wave