Plesk

Brute Force ve Fail2ban Kullanımı

Her yerde olduğu gibi, internet üzerinden de iyi niyetli kişiler kadar kötü niyetli kullanıcılar da bulunuyor. Bazı hacker diye tabir edilen kişiler açıklardan faydalanarak sistemlere girerken, bazıları da kullanıcılar hakkında bilgi toplayıp, şifre deneme yanılma yöntemi ile sistemlere sızmaya veya bazı hesapları ele geçirmeye çalışıyor.

Brute Force saldırısı nedir

Brute Force Türkçe’ye kaba kuvvet olarak çevrilse de, basit tabiriyle şifre denemesi diyebiliriz. Brute Force için otomatik şifre denemesi yapan yazılımlar bulunur. Kötü niyetli kişiler, sunucuya veya bir mail adresine ellerinde bulunan yazılım ile deneme/yanılma yöntemi ile şifre denerler. Eğer basit bir şifre verirseniz de brute force ataklardan korunamaz ve şifrenizi çaldırırsınız. Salgırdanlar doğru şifreyi bulana kadar olası şifreleri sistematik olarak denerler. Çoğu brute force saldırı otomatik olarak yapılır.

Brute Force saldırısı nasıl gerçekleşir?

Saldırganlar, bir sunucuya (Linux için SSH, Windows için RDP olabilir) veya hesaba (mail hesabı, sosyal medya hesabı vb) erişmek için, ellerinde bulunan yazılımlar ile otomatik veya manuel yöntemler ile şifre deneme/yanılma yöntemi kullanırlar.

Brute Force saldırılarını önleme

Brute Force saldırıları için aşağıdaki önlemler alınabilir.

  • Güçlü şifreler kullanma
  • Çift katman doğrulama kullanma (Google Authenticator vb.)
  • CAPTCHA kullanma
  • Giriş sayısını azaltma
  • Standartlar port veya linklerin dışına çıkma

Brute Force ataklarına en çok maruz kalan CMS WordPress olarak geçmektedir. Dolayısı ile WordPress’in yönetici girişi olan wp-admin veya wp-login.php dosyalarının yollarını değiştirmek bir çözümdür. Aynı şekilde CAPTCHA kullanılarak, otomatik şifre deneme yazılımlarının da önüne geçilebilir.

Sunucu yönetimi kısmında ise genelde brute force ataklar standart portlara yapılır. Örneğin Linux sunucu kullanıyorsanız, varsayılan SSH portu olan 22 nolu porta saldırı gelecektir. Dolayısı ile SSH’ın varsayılan portunu değiştirmeniz veya Windows sunucunuzun RDP portunu değiştirmeniz kısmi de olsa bir önlem olacaktır. Yani mümkün mertebe varsayılan portları değiştirmemiz bir güvenlik önlemi olacaktır.

Port değiştirmek kısmi bir güvenlik önlemidir. Zira değiştirdiğiniz port internete açıksa yani erişebilir durumda ise, port tarayarak da açık portlara ulaşılabilir. Tabi standart portların dışına çıktığımızda, problem yaratacak portlar da bulunur. Örneğin smtp, pop3, imap veya http portları. Buraya gelen brute force saldılarını, belli bir denemeden sonra yasaklamamız iyi bir çözüm olacaktır. Plesk web hosting kontrol paneli üzerinde bu işlemi Fail2Ban eklentisi ile yapabiliyoruz.

Fail2Ban Nedir?

Fail2Ban, Linux ve Unix işletim sistemleri üzerinde çalışan, sunucuları brute force saldırılarına karşı koruyan bir yazılımdır. Belirlenen girişlerin log kaydını okur, ve saldırı yapan saldırganın IP adresinin geçici bir süre veya kalıcı olarak banlaması için ip adresini iptables yazılımına gönderir.

Plesk Fail2Ban

Fail2Ban Plesk Linux üzerinde varsayılan olarak kurulu şekilde geliyor. Sadece ayarlarını yapılandıracağız.

Plesk Fail2Ban özellikleri

Fail2Ban oldukça yeteneklere sahip olan bir yazılım olsa da, Plesk üzerinde bazı yetenekleri varsayılan olarak kullanılmaz.

  • Sadece IPv4 IP’leri banlayabilir, IPv6 üzerinde işlem yapamaz.
  • Hostname banlayamaz
  • Fail2Ban’ı manuel olarak derleyip işlemler yapılabilir fakat kontrol paneli üzerinden yönetemezsiniz.

Öncelikle Plesk kontrol panelimize root bilgilerimiz ile giriş yapalım.

Giriş yaptıktan sonra, sol tarafta bulunan “Tools & Settings” linkine tıklayıp, “Security” bölümünden, IP Address Banning (Fail2Ban) linkine tıklıyoruz.

Enable intrusion detection seçeneğini işaretleyip, Fail2Ban’ı aktif edip “Apply” ile işlemi gerçekleştiriyoruz.

Buradaki ibareleri kendi durumuna göre değiştirebilir veya varsayılan olarak bırakabilirsiniz.

Plesk Fail2Ban Ayarları

IP address ban period: IP adresinin saniye cinsinden ne kadar süre engelleneceği

Time interval for detection of subsequent attacks: Başarısız oturum açma eyleminin, kaç saniye ara ile tespit edileceği.

Number of failures before the IP address is banned: Kaç başarısız girişimde IP adresinin yasaklanacağı.

Varsayılan ayarlar ile bıraktığınızda, 600 saniye içinde 5 kere oturum açma girişimi başarısız olursa, saldırgan IP adresini 600 saniye boyunca yasaklayacaksınız anlamına geliyor. Sisteminizin durumuna göre, loglarınızı inceleyip, kendinize göre bir değer girebilirsiniz.

Engellenmiş ip adreslerini Banned IP Addresses bölümünden görebilir ve yönetebilirsiniz.

Unban diyerek, IP adresinin yasağını kaldırabilir veya Move to Trusted IPs diyerek, IP adresini güvenilir listeye ekleyebilirsiniz.

Trusted IPs Addresses kısmından belirli bir IP adresini veya subneti güvenilir adresler listesine ekleyebilirsiniz.

Jails bölümünden, Fail2Ban’ın hangi servisler için çalışacağını belirtebilirsiniz. Hali hazırda mevcut servisler olduğu gibi, farklı bir servis için de Jail yazabilirsiniz.

Ekran görüntüsünde, Fail2Ban postix ve SSH servisleri için çalışmaktadır. Çalışmasını istediğiniz servisi işaretleyip, “Switch On” diyerek, o serviste Brute Force önlemi alabilirsiniz.

Log kısmından, Fail2Ban loglarını takip edebileceğiniz gibi, SSH üzerinden /var/log/fail2ban.log dosyasından logları görüntüleyebilirsiniz.

Sonuç

Özellikle paylaşımlı linux hosting hizmeti veriyorsanız ve yoğun bir kullanım varsa, mail servislerinize, SSH servisinize brute force saldırılar alırsınız. Fail2Ban brute force saldırılara karşı alınmış bir güvenlik önlemidir. Ayarlarını sizin ve müşterilerinizin sunucu kullanım alışkanlıklarına göre düzenlemeniz faydalı olacaktır.