FAIL2BAN İLE SSH BRUTE FORCE SALDIRILARINI ÖNLEME

Yayınlayan
Mehmet Kelepçe
Yayınlanma tarihi
26-02-2022
Okuma süresi
10 DK

FAIL2BAN İLE SSH BRUTE FORCE SALDIRILARINI ÖNLEME

Bu yazıda SSH protokolüne yapılabilecek olası parola saldırılarına yönelik nasıl bir güvenlik önlemi alabileceğimizden bahsedeceğiz. Bunun için Fail2ban kullanacağız.

Bir SSH sunucusuna bağlanmak istediğinizde bu durum auth.log dosyasına bilgi olarak kaydedilir. /var/log/ dizini altındaki log dosyası içeriği şu şekilde gözüküyor.

Hangi IP adresinden, hangi kullanıcı adı için hangi tarihte parola denemelerinin yapıldığına yönelik kayıtlar mevcut. Peki bu tür denemeleri önlemek için neler yapabiliriz?

  • Port knocking yöntemi ve port taramalarında direkt olarak SSH portunun açık olup olmadığına yönelik tespit engellenebilir.
  • IP bazlı izinler verilebilir ve yalnızca tek sabit IP adresinden gelen paketler kabul edilebilir.
  • SSH parola saldırılarını önlemek için Private Key tabanlı Authentication yapılandırması yapılabilir.
  • SSH sunucusuna gönderilebilecek maximum sayıda istek sınırı belirlenerek “fail2ban” tarzı uygulamalar kullanılabilir.

Bugün, bu örneklerden sonuncusuna yönelik girişimimiz olacak. Fail2ban log dosyasını izleyerek başarısız girişleri takip edeceğiz.

Maximum deneme sayısına ulaşıldığında, saldırgana ait IP adresini alır ve iptables üzerine drop kuralı ekler.

Failban kurulumuna geçebiliriz. Ubuntu tabanlı işletim sistemi kullanan biri “apt-get install fail2ban” komutu ile yüklemeyi gerçekleştirebilir. Eğer arzu edilirse Github repo kullanarak “deb” uzantılı dosya indirilip dpkg –i dosya.deb çalıştırılıp yüklenebilir.

(https://github.com/fail2ban/fail2ban/releases)

Yükleme sonrasında /etc/fail2ban/ dizini altında jail.conf adında yapılandırma dosyası oluşur. Bu dosya içerisine bakıldığında birçok servis üzerine yapılabilecek parola saldırılarını önlemek için kullanılmaktadır.

Bu dosyayı kopyalayıp jail.local adında yeni bir dosya üretip düzenlemelerimizi bunun üzerinde yapacağız.

Dosya içerisinde birçok ayar mevcuttur. Bunlardan bazıları findtime, bantime, maxretry vb ayarlardır.

Bunları tanıyalım.

Maxretry: Bir hostun en fazla ne kadar yanlış deneme yapabileceğini belirtir.

Bantime: Banlanan bir hostun ne kadar süre banlı kalacağını belirtir.

Findtime: Bir hostun kaç dakika içinde başarısız denemeler yaparsa banlanacağını belirtir. Yani 10 dk olarak ayarlanmışsa, “bir host 10 dk içinde üst üste “maxretry” kadar deneme yaparsa” gibi…

SSH servisi hariç diğer servisler disable vaziyette geliyor. Biz SSH bloğunda bir alt satıra geçip “enable = true” yazarak bu kuralı aktif hale getirebiliriz.

Fail2ban-server yazarak uygulamayı hazır hale getiriyoruz ve “sudo fail2ban-client status sshd” komutunu yazarak izlemeye başlayalım.

Saldırgan makinesi ile basit Bruteforce saldırısı başlatalım.

5 den fazla yanlış deneme yapıldığında iptables üzerine kural yazıldığı görülüyor.

Ayrıca sshd status’a bakıldığında kaç defa denemelerin yapıldığı ve o an engellenen IP adresleri görülebilir.

Teşekkürler

Mehmet KELEPÇE

Diğer Blog Yazıları_

Sosyal Medya Kullanımının Riskleri
Sosyal Medya Kullanımının Riskleri
Infraskope Server ve Özellikleri
Infraskope Server ve Özellikleri
Kritik Sunucular Üzerindeki Aktivitelerin Loglanması
Kritik Sunucular Üzerindeki Aktivitelerin Loglanması
Kurumlarda Ağ Güvenlik Stratejileri
Kurumlarda Ağ Güvenlik Stratejileri
WPA-WPA2 Güvenlik Standartlarına Yönelik Saldırı: KRACK (KEY-REINSTALLATION-ATTACK)
WPA-WPA2 Güvenlik Standartlarına Yönelik Saldırı: KRACK (KEY-REINSTALLATION-ATTACK)
Log Yönetiminde Ajanlı/Ajansız Çözümler
Log Yönetiminde Ajanlı/Ajansız Çözümler
Herkesin aklındaki soru: Yapay Zeka Nedir?
Herkesin aklındaki soru: Yapay Zeka Nedir?
Discovery of DLL Hijack on Trend Micro AntiVirus+ | CVE-2018-18333
Discovery of DLL Hijack on Trend Micro AntiVirus+ | CVE-2018-18333
Web Cache Poisoning
Web Cache Poisoning
XML EXTERNAL ENTITY INJECTION AND OOB (OUT-OF-BAND) DATA RETRIEVAL
XML EXTERNAL ENTITY INJECTION AND OOB (OUT-OF-BAND) DATA RETRIEVAL
ARP Poisoning
ARP Poisoning
Cross-Site Request Forgery (CSRF) Zafiyeti
Cross-Site Request Forgery (CSRF) Zafiyeti
SSRF (Server Side Request Forgery)
SSRF (Server Side Request Forgery)
BlueBorne
BlueBorne
Server Side Template Injection Nedir?
Server Side Template Injection Nedir?
Linux Restricted Shell Atlatma Teknikleri
Linux Restricted Shell Atlatma Teknikleri
Discovery of Sandbox Escape on Comodo Container(Antivirus&Firewall)
Discovery of Sandbox Escape on Comodo Container(Antivirus&Firewall)
SDR-Sharp Kullanımı
SDR-Sharp Kullanımı
Log Yönetimi | Log Management | Veritabanı Log | Siem
Log Yönetimi | Log Management | Veritabanı Log | Siem
Cyber Kill Chain, Bir Siber Saldırının Yaşam Döngüsü
Cyber Kill Chain, Bir Siber Saldırının Yaşam Döngüsü
Phishing Nedir?
Phishing Nedir?
“GOLD” Affix Phishing Attack
“GOLD” Affix Phishing Attack
Sızma Testi ve Ödül Avcılığı Hizmetleri
Sızma Testi ve Ödül Avcılığı Hizmetleri
Güvenilir Olarak CAPTCHA Yapılandırılması
Güvenilir Olarak CAPTCHA Yapılandırılması
Basit Kriptolojiden Günümüze Evrilişi
Basit Kriptolojiden Günümüze Evrilişi
Dosya Sistem Analizinin Önemi
Dosya Sistem Analizinin Önemi
HTTP Request Smuggling (HTTP İstek Kaçakcılığı) Nedir?
HTTP Request Smuggling (HTTP İstek Kaçakcılığı) Nedir?
KVKK Kapsamında Veri Keşfi Maskeleme ve Şifreleme
KVKK Kapsamında Veri Keşfi Maskeleme ve Şifreleme
Sosyal Medya Kullanımının Riskleri
Sosyal Medya Kullanımının Riskleri
Sızma (Penetrasyon) Testi Nedir?
Sızma (Penetrasyon) Testi Nedir?
Start Up Kültürü
Start Up Kültürü
Sigma Kuralları ile SIEM Ürünlerinde Tehdit Avı
Sigma Kuralları ile SIEM Ürünlerinde Tehdit Avı
Kritik Altyapılar ve SCADA Güvenliği
Kritik Altyapılar ve SCADA Güvenliği
Zararlı Yazılım Analiz Teknikleri
Zararlı Yazılım Analiz Teknikleri
Uzaktan Çalışma Modellerinde Siber Güvenlik Riskleri
Uzaktan Çalışma Modellerinde Siber Güvenlik Riskleri
Pandemi Sürecinde Siber Güvenlik Riskleri
Pandemi Sürecinde Siber Güvenlik Riskleri
SOC Nedir ve SOC Merkezleri Nasıl Çalışır?
SOC Nedir ve SOC Merkezleri Nasıl Çalışır?
PHISHING Hakkında Her şey
PHISHING Hakkında Her şey
Sosyal Mühendislik Nedir?
Sosyal Mühendislik Nedir?
Siber Hijyen
Siber Hijyen
Adli Bilişim (Digital Forensic) Nedir?
Adli Bilişim (Digital Forensic) Nedir?
DHCP Spoofing Saldırısı Nedir, Nasıl Yapılır?
DHCP Spoofing Saldırısı Nedir, Nasıl Yapılır?
FAIL2BAN İLE SSH BRUTE FORCE SALDIRILARINI ÖNLEME
FAIL2BAN İLE SSH BRUTE FORCE SALDIRILARINI ÖNLEME
BULK EXTRACTOR ARACIYLA DİSK İNCELEME
BULK EXTRACTOR ARACIYLA DİSK İNCELEME
SolarWinds Vaka Analizi
SolarWinds Vaka Analizi
Frida ile SSL Pinning Bypass
Frida ile SSL Pinning Bypass
COOKİE Nedir? Nasıl Çalışır?
COOKİE Nedir? Nasıl Çalışır?
Bilgi Güvenliği Test ve Değerlendirmeleri Teknik Kılavuzu
Bilgi Güvenliği Test ve Değerlendirmeleri Teknik Kılavuzu
Dridex Bankacılık Trojanı Teknik Analiz Raporu (TR)
Dridex Bankacılık Trojanı Teknik Analiz Raporu (TR)
Adwind Rat Technical Analysis Report (ENG)
Adwind Rat Technical Analysis Report (ENG)
SOC Nedir, Firmalar İçin Neden Önemlidir?
SOC Nedir, Firmalar İçin Neden Önemlidir?
Blockchain Nedir?
Blockchain Nedir?
İşlemcilerin Koruma Mekanizması ve Koruma Mekanizmasının Atlatılması
İşlemcilerin Koruma Mekanizması ve Koruma Mekanizmasının Atlatılması
Active Directory Güvenlik İpuçları
Active Directory Güvenlik İpuçları
Nisan 2022 Siber Güvenlik Bülteni
Nisan 2022 Siber Güvenlik Bülteni
Mavi Takım Üyeleri İçin Windows Core Process
Mavi Takım Üyeleri İçin Windows Core Process
Kişiler İçin Bilgi Güvenliği Rehberi
Kişiler İçin Bilgi Güvenliği Rehberi
DDoS Nedir?
DDoS Nedir?
C Dilinde Dosya Yönlendirmeleri (IO Redirection)
C Dilinde Dosya Yönlendirmeleri (IO Redirection)
Microsoft Teams — Cross Site Scripting (XSS) Bypass CSP Report
Microsoft Teams — Cross Site Scripting (XSS) Bypass CSP Report
Siber İstihbarat ve Siber Tehdit İstihbaratı
Siber İstihbarat ve Siber Tehdit İstihbaratı
JWT Saldırıları
JWT Saldırıları
CVE-2022–36446 — Webmin 1.996 — Remote Code Execution (RCE — Authenticated) During Install New Packages
CVE-2022–36446 — Webmin 1.996 — Remote Code Execution (RCE — Authenticated) During Install New Packages