SSH’i Fail2Ban ile Ubuntu 20.04 Üzerinde Nasıl Korursunuz?
Sunucu güvenliği, herhangi bir çevrimiçi hizmetin veya uygulamanın temel taşıdır. İnternet’e açık her sunucu, kötü niyetli aktörlerin sürekli hedefindedir. Bu saldırıların başında ise genellikle SSH (Secure Shell) servisi üzerinden yapılan kaba kuvvet (brute-force) saldırıları gelir. SSH, sunucularınıza güvenli bir şekilde uzaktan erişim sağlamanın standart yoludur, ancak varsayılan yapılandırmasıyla bile potansiyel zafiyetlere açıktır. Bu makalede, Ubuntu 20.04 işletim sistemi üzerinde çalışan bir sunucuda SSH servisinizi Fail2Ban ile nasıl koruyacağınızı adım adım detaylı bir şekilde inceleyeceğiz.
Giriş: Neden SSH Güvenliği ve Fail2Ban?
SSH, sistem yöneticilerinin ve geliştiricilerin uzak sunuculara güvenli bir şekilde bağlanmasını sağlayan kritik bir protokoldür. Şifrelenmiş bir kanal üzerinden komut çalıştırma, dosya transferi ve diğer ağ hizmetlerini güvenli bir şekilde tünelleme imkanı sunar. Ancak, popülaritesi ve kritik önemi nedeniyle, siber saldırganlar için de cazip bir hedeftir. Özellikle, zayıf parolalar veya varsayılan yapılandırmalar kullanıldığında, kaba kuvvet saldırılarıyla SSH oturumlarına yetkisiz erişim denemeleri sürekli olarak yaşanır. Bir saldırgan, binlerce farklı parola kombinasyonunu veya yaygın kullanıcı adlarını deneyerek sisteme sızmaya çalışabilir.
İşte tam bu noktada Fail2Ban devreye girer. Fail2Ban, sunucu log dosyalarını izleyerek belirli bir zaman dilimi içinde tekrarlayan başarısız giriş denemelerini (veya diğer kötü niyetli davranışları) tespit eden ve bu denemeleri yapan IP adreslerini geçici veya kalıcı olarak engelleyen bir güvenlik aracıdır. Bu, kaba kuvvet saldırılarına karşı otomatik ve proaktif bir savunma mekanizması sağlayarak sunucunuzun güvenliğini önemli ölçüde artırır. Fail2Ban, sadece SSH için değil, aynı zamanda web sunucuları (Apache, Nginx), e-posta sunucuları (Postfix, Dovecot) ve diğer birçok ağ servisi için de kullanılabilir.
Bu makale boyunca, Ubuntu 20.04 üzerinde Fail2Ban’ı kuracak, SSH servisinizi korumak için temel ve gelişmiş yapılandırmaları uygulayacak ve Fail2Ban’ın nasıl çalıştığını kontrol edeceğiz. Ayrıca, Fail2Ban’ı kurmadan önce SSH güvenliğinizi artırmak için alabileceğiniz ek önlemlere de değineceğiz.
Ön Gereksinimler
Bu rehbere başlamadan önce aşağıdaki ön gereksinimlere sahip olmanız gerekmektedir:
* Ubuntu 20.04 Sunucusu: İnternet’e bağlı ve çalışan bir Ubuntu 20.04 sunucusu.
* sudo Yetkilerine Sahip Kullanıcı: Sunucuda sudo ayrıcalıklarına sahip, root olmayan bir kullanıcı hesabı. Güvenlik açısından root kullanıcısı ile doğrudan işlem yapmak yerine sudo kullanılması şiddetle tavsiye edilir.
* SSH Erişimi: Sunucunuza SSH üzerinden erişebiliyor olmanız gerekmektedir.
* Temel Linux Komut Bilgisi: Temel terminal komutlarına aşina olmanız beklenir.
Adım 1: Sunucuyu Güncelleme
Herhangi bir yazılım kurulumuna başlamadan önce, sisteminizin güncel olduğundan emin olmak iyi bir güvenlik ve performans uygulamasıdır. Bu, en son güvenlik yamalarını ve yazılım güncellemelerini almanızı sağlar.
Terminalinizi açın ve aşağıdaki komutları çalıştırın:
sudo apt update
sudo apt upgrade -y
sudo apt update komutu, paket listelerinizi güncellerken, sudo apt upgrade -y komutu ise mevcut tüm paketleri yükseltir. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı vermenizi sağlar.
Adım 2: SSH Servisini Güvenli Hale Getirme (Fail2Ban Öncesi Temel Adımlar)
Fail2Ban güçlü bir araç olsa da, SSH servisinizi daha güvenli hale getirmek için alabileceğiniz temel önlemler vardır. Bu adımlar, Fail2Ban’ın işini kolaylaştırır ve genel güvenlik duruşunuzu güçlendirir.
SSH Varsayılan Portunu Değiştirme
SSH’in varsayılan portu 22’dir. Saldırganlar genellikle bu portu hedef alır. Portu değiştirmek, otomatik botların ve basit taramaların ilk saldırı katmanından kurtulmasını sağlar.
SSH yapılandırma dosyasını bir metin düzenleyici ile açın:
sudo nano /etc/ssh/sshd_config
Dosya içinde Port 22 satırını bulun. Bu satırın başında bir # işareti varsa, yorum satırı demektir ve aktif değildir. İşareti kaldırın ve 1024’ten büyük, 65535’ten küçük rastgele bir port numarası ile değiştirin (örneğin, 2222 veya 44321).
# Port 22
Port 2222
Değişikliği kaydedin (Ctrl+O, Enter) ve dosyadan çıkın (Ctrl+X). SSH servisini yeniden başlatın:
sudo systemctl restart sshd
Önemli: Eğer bir güvenlik duvarı (UFW gibi) kullanıyorsanız, yeni SSH portunuza izin vermeniz gerekmektedir. Aksi takdirde, SSH bağlantınız kesilebilir.
sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp # Eğer 22 portunu artık kullanmıyorsanız
sudo ufw enable # Eğer UFW daha önce etkinleştirilmediyse
sudo ufw status
Yeni port numarasını kullanarak sunucunuza bağlanabildiğinizden emin olduktan sonra, eski 22 numaralı portu güvenlik duvarınızdan kapatabilirsiniz.
Root Girişini Devre Dışı Bırakma
Root kullanıcısı, Linux sistemlerindeki en yüksek ayrıcalıklara sahip kullanıcıdır. Doğrudan root girişi, saldırganlar için cazip bir hedeftir çünkü root parolasını ele geçirmeleri durumunda sistemin tam kontrolünü ele geçirebilirler. Bu nedenle, doğrudan root girişini devre dışı bırakmak ve normal bir kullanıcı ile giriş yapıp gerektiğinde sudo kullanmak daha güvenlidir.
Yine sshd_config dosyasını açın:
sudo nano /etc/ssh/sshd_config
PermitRootLogin satırını bulun ve değerini no olarak değiştirin:
PermitRootLogin no
Değişikliği kaydedin ve dosyadan çıkın. SSH servisini yeniden başlatın:
sudo systemctl restart sshd
Parola Yerine Anahtar Tabanlı Kimlik Doğrulama Kullanma
Parolalar, ne kadar karmaşık olursa olsun, kaba kuvvet saldırılarına veya sosyal mühendislik yöntemlerine karşı savunmasız kalabilir. SSH anahtar çiftleri (bir genel anahtar ve bir özel anahtar), parolalara göre çok daha güvenli bir kimlik doğrulama yöntemi sunar.
* Nasıl Çalışır: Yerel makinenizde bir SSH anahtar çifti oluşturursunuz. Genel anahtarı sunucunuza kopyalarsınız ve özel anahtarı yerel makinenizde güvende tutarsınız. Bağlantı kurulduğunda, sunucu genel anahtarı kullanarak özel anahtarınızla bir şifreleme işlemi yapar ve kimliğinizi doğrular.
* Uygulama:
1. Yerel makinenizde anahtar oluşturun: ssh-keygen -t rsa -b 4096
2. Genel anahtarı sunucuya kopyalayın: ssh-copy-id -i ~/.ssh/id_rsa.pub kullanici_adi@sunucu_ip_adresi -p YENI_SSH_PORTU
3. Anahtar tabanlı kimlik doğrulamanın çalıştığından emin olduktan sonra, sshd_config dosyasında parola ile kimlik doğrulamayı devre dışı bırakın:
sudo nano /etc/ssh/sshd_config
PasswordAuthentication satırını bulun ve değerini no olarak değiştirin:
PasswordAuthentication no
Değişikliği kaydedin ve SSH servisini yeniden başlatın:
sudo systemctl restart sshd
Bu adımlar, Fail2Ban’ı kurmadan önce bile SSH servisinizi önemli ölçüde güçlendirecektir.
Adım 3: Fail2Ban Kurulumu
Fail2Ban, Ubuntu’nun varsayılan depolarında mevcuttur, bu nedenle kurulumu oldukça basittir.
Aşağıdaki komutu kullanarak Fail2Ban paketini yükleyin:
sudo apt install fail2ban -y
Kurulum tamamlandıktan sonra, Fail2Ban servisi otomatik olarak başlayacak ve sistem başlangıcında etkinleştirilecektir. Servisin durumunu kontrol edebilirsiniz:
sudo systemctl status fail2ban
Çıktıda active (running) ibaresini görmelisiniz. Eğer değilse, aşağıdaki komutla başlatabilirsiniz:
sudo systemctl start fail2ban
Adım 4: Fail2Ban Yapılandırması
Fail2Ban’ın yapılandırma dosyaları /etc/fail2ban/ dizininde bulunur. Temel yapılandırma dosyası jail.conf‘tur. Ancak, bu dosyayı doğrudan düzenlemek yerine, jail.local adında bir kopya oluşturarak değişiklikleri bu dosyada yapmanız önerilir. Bu, Fail2Ban güncellemeleri sırasında yapılandırma değişikliklerinizin üzerine yazılmasını önler.
Yapılandırma Dosyaları ve Öncelik
* /etc/fail2ban/jail.conf: Ana yapılandırma dosyasıdır. Bu dosyayı doğrudan düzenlemeyin.
* /etc/fail2ban/jail.local: Özel yapılandırmalarınızı burada yapmalısınız. Bu dosya, jail.conf dosyasındaki ayarları geçersiz kılar.
İlk olarak, jail.conf dosyasını jail.local olarak kopyalayın:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Şimdi jail.local dosyasını düzenlemeye başlayabiliriz:
sudo nano /etc/fail2ban/jail.local
jail.local Dosyasını Düzenleme
Bu dosya içinde, Fail2Ban’ın genel davranışını ve belirli servisler için kurallarını tanımlayacağız.
Genel Ayarlar:
Dosyanın başında [DEFAULT] bölümü bulunur. Burada Fail2Ban’ın tüm servisler için geçerli olacak genel ayarlarını yapabilirsiniz.
* ignoreip: Bu ayar, Fail2Ban’ın asla engellemeyeceği IP adreslerini veya IP aralıklarını tanımlar (beyaz liste). Kendi IP adresinizi buraya eklemeniz önemlidir, aksi takdirde yanlışlıkla kendinizi sunucunuzdan kilitleyebilirsiniz. Birden fazla IP adresi veya aralığı boşlukla ayırarak ekleyebilirsiniz.
ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 203.0.113.45
127.0.0.1/8 ve ::1 yerel ana bilgisayarı temsil eder. 192.168.1.0/24 yerel ağınızdaki tüm IP’leri kapsar. 203.0.113.45 ise sizin dış IP adresiniz olabilir. Kendi dış IP adresinizi öğrenmek için curl ifconfig.me veya benzeri bir hizmet kullanabilirsiniz.
* bantime: Bir IP adresinin engellendiği süreyi saniye cinsinden belirtir. Varsayılan olarak 10 dakika (600 saniye) olarak ayarlanmıştır. Daha uzun bir süre için engellemek isterseniz, bu değeri artırabilirsiniz. Örneğin, 1 saat için 3600 yazabilirsiniz.
bantime = 3600
* findtime: Belirtilen maxretry sayısına ulaşmak için logların taranacağı süreyi saniye cinsinden belirtir. Varsayılan olarak 10 dakikadır (600 saniye). Yani, bir IP adresi findtime süresi içinde maxretry kadar başarısız deneme yaparsa engellenir.
findtime = 600
* maxretry: Bir IP adresinin engellenmeden önce izin verilen başarısız deneme sayısını belirtir. Varsayılan olarak 5’tir.
maxretry = 5
SSH Servisi İçin Ayarlar ([sshd] Bölümü):
jail.local dosyasında, SSH servisi için özel bir bölüm bulacaksınız. Bu bölümü bularak aşağıdaki değişiklikleri yapın:
* enabled = true: Bu satır, SSH için Fail2Ban korumasını etkinleştirir. Varsayılan olarak false olabilir, true olarak ayarladığınızdan emin olun.
* port: SSH servisi için kullandığınız port numarasını belirtir. Eğer SSH portunu 22’den farklı bir port numarasına (örneğin 2222) değiştirdiyseniz, burayı da güncellemelisiniz. Varsayılan olarak ssh yazabilir, bu genellikle 22 portunu ifade eder. Birden fazla port için virgülle ayırabilirsiniz (örn: port = ssh,2222).
[sshd]
enabled = true
port = 2222 # Kendi SSH portunuzu buraya yazın
logpath = %(sshd_log)s
backend = %(sshd_backend)s
* filter: Bu ayar, Fail2Ban’ın SSH loglarını taramak için hangi filtreyi kullanacağını belirtir. sshd filtresi, Fail2Ban ile birlikte gelen ve SSH kaba kuvvet saldırılarını tespit etmek için özel olarak tasarlanmış bir filtredir. Genellikle varsayılan bırakılır.
* logpath: SSH loglarının bulunduğu yolu belirtir. Ubuntu’da bu genellikle /var/log/auth.log veya /var/log/syslog‘dur. %(sshd_log)s değişkeni, Fail2Ban’ın kendi varsayılan ayarlarından doğru yolu çekecektir.
Ek Servisleri Korumak (İsteğe Bağlı):
jail.local dosyası içinde, Apache, Nginx, Postfix, Dovecot gibi diğer servisler için de bölümler bulacaksınız. İhtiyaç duyduğunuzda bu servisleri de etkinleştirebilirsiniz. Örneğin, Apache’nin kaba kuvvet saldırılarına karşı korunması için:
[apache-auth]
enabled = true
port = http,https
logpath = %(apache_error_log)s
maxretry = 6
bantime = 1200
Her bir bölüm için enabled = true yaparak ve port, logpath, maxretry, bantime gibi ayarları özelleştirerek korumayı etkinleştirebilirsiniz.
Değişiklikleri Uygulama
jail.local dosyasında yaptığınız değişiklikleri kaydettikten sonra, Fail2Ban servisini yeniden başlatmanız gerekir. Bu, yeni yapılandırma ayarlarının etkinleşmesini sağlar.
sudo systemctl restart fail2ban
Adım 5: Fail2Ban Çalışmasını Kontrol Etme
Fail2Ban’ın doğru şekilde çalışıp çalışmadığını kontrol etmek için birkaç komut kullanabiliriz.
Genel Durum Kontrolü
Fail2Ban’ın genel durumunu ve hangi “hapishanelerin” (jails) etkin olduğunu görmek için:
sudo fail2ban-client status
Çıktı, etkin olan hapishaneleri (örneğin, Jail list: sshd) ve toplam engellenen IP adreslerini gösterecektir.
Belirli Bir Servisin Durumu
SSH hapishanesinin (jail) durumunu kontrol etmek için:
sudo fail2ban-client status sshd
Bu komut, sshd hapishanesinin etkin olup olmadığını, engellenen IP adreslerinin sayısını ve bu adreslerin listesini gösterecektir. Başlangıçta henüz bir IP engellenmemişse, “Currently banned IP” bölümü boş olacaktır.
Manuel Test
Fail2Ban’ın çalıştığını test etmenin en iyi yolu, sunucunuza yanlış bir parola ile birkaç kez bağlanmaya çalışmaktır. Ancak bunu yaparken kendi IP adresinizin ignoreip listesinde OLMADIĞINDAN emin olun, aksi takdirde kendinizi engelleyebilirsiniz!
Başka bir makineden (veya kendi makinenizden farklı bir IP adresinden) sunucunuza SSH ile bağlanmaya çalışın ve kasten yanlış parola girin:
ssh kullanici_adi@sunucu_ip_adresi -p YENI_SSH_PORTU
maxretry sayısına ulaştıktan sonra, bağlantınızın reddedildiğini görmelisiniz. Ardından, fail2ban-client status sshd komutunu tekrar çalıştırarak engellenen IP adresini listede görebilirsiniz.
Engellenen IP’leri Görme
Fail2Ban, engelleme işlemleri için genellikle iptables güvenlik duvarını kullanır. Engellenen IP adreslerini doğrudan iptables kuralları arasında görebilirsiniz:
sudo iptables -L fail2ban-sshd
Bu komut, fail2ban-sshd zincirindeki tüm kuralları ve engellenen IP adreslerini gösterecektir.
Bir IP’yi Manuel Olarak Engelleme/Engeli Kaldırma
Gerektiğinde bir IP adresini manuel olarak engelleyebilir veya engelini kaldırabilirsiniz:
* Bir IP’yi Engelleme:
sudo fail2ban-client set sshd banip 192.168.1.100
* Bir IP’nin Engelini Kaldırma:
sudo fail2ban-client set sshd unbanip 192.168.1.100
Bu komutlar, Fail2Ban’ın engelleme mekanizmasını anında etkiler.
Adım 6: Fail2Ban Filtreleri ve Eylemleri (Gelişmiş Yapılandırma)
Fail2Ban’ın gücü, esnek filtre ve eylem sisteminden gelir.
Filtreler (/etc/fail2ban/filter.d/)
Filtreler, Fail2Ban’ın log dosyalarını tararken kötü niyetli desenleri (regex kullanarak) tanımasını sağlar. Her bir servis için ayrı bir filtre dosyası bulunur.
* Nasıl Çalışır: Bir filtre dosyası, log satırlarında aranacak düzenli ifadeler (regex) içerir. Örneğin, SSH filtre (/etc/fail2ban/filter.d/sshd.conf), başarısız parola denemelerini gösteren log satırlarını tanır.
* Mevcut Filtreleri İnceleme: SSH filtresini inceleyebilirsiniz:
sudo nano /etc/fail2ban/filter.d/sshd.conf
Bu dosya içinde, Fail2Ban’ın hangi log desenlerini “başarısız deneme” olarak algıladığını göreceksiniz.
* Özel Filtre Oluşturma: Kendi özel uygulamanız veya servisiniz için bir filtre oluşturmanız gerekiyorsa, mevcut bir filtre dosyasını kopyalayıp düzenleyebilir veya sıfırdan yeni bir .conf dosyası oluşturabilirsiniz. Ardından, jail.local dosyasında yeni filtrenizi kullanarak bir hapishane tanımlayabilirsiniz.
Eylemler (/etc/fail2ban/action.d/)
Eylemler, bir IP adresi engellendiğinde Fail2Ban’ın ne yapacağını tanımlar. Varsayılan eylem, iptables kullanarak IP adresini engellemektir.
* action.conf: Bu dosya, varsayılan eylem yapılandırmasını içerir.
* iptables: Fail2Ban’ın en yaygın eylemi, Linux çekirdeğinin netfilter güvenlik duvarı arayüzü olan iptables‘ı kullanarak bir IP adresinden gelen trafiği engellemektir. Fail2Ban, engellenen IP adresleri için otomatik olarak iptables kuralları ekler ve bantime süresi dolduğunda bu kuralları kaldırır.
* E-posta Bildirimi: Fail2Ban, bir IP adresi engellendiğinde size e-posta gönderecek şekilde yapılandırılabilir. Bu, sunucunuzdaki saldırı girişimlerinden haberdar olmanızı sağlar.
1. E-posta Ayarları: jail.local dosyasında [DEFAULT] bölümünde veya belirli bir hapishanenin (örneğin [sshd]) altında aşağıdaki ayarları yapın:
destemail = sizin_eposta_adresiniz@example.com
sendername = Fail2Ban
mta = sendmail # veya postfix, exim vb.
mta (Mail Transfer Agent) ayarı, sunucunuzda kurulu olan e-posta gönderme yazılımına bağlıdır. Çoğu Ubuntu kurulumunda sendmail veya postfix kullanılabilir.
2. Eylem Türünü Değiştirme: jail.local dosyasında, [DEFAULT] bölümündeki action satırını bulun veya belirli bir hapishane bölümüne ekleyin.
* action = %(action_mw)s: Bu eylem, IP’yi engeller ve size whois bilgileriyle birlikte bir e-posta gönderir.
* action = %(action_mwl)s: Bu eylem, IP’yi engeller, whois bilgileriyle e-posta gönderir ve ayrıca ilgili log satırlarını da e-postaya ekler.
Örnek olarak, sshd hapishanesi için e-posta bildirimini etkinleştirmek isterseniz:
[sshd]
enabled = true
port = 2222
logpath = %(sshd_log)s
backend = %(sshd_backend)s
action = %(action_mwl)s
3. E-posta Yazılımı Kurulumu: E-posta bildirimlerinin çalışabilmesi için sunucunuzda bir MTA (örneğin postfix) kurulu ve yapılandırılmış olması gerekir. Eğer kurulu değilse:
sudo apt install postfix -y
Kurulum sırasında size sorulacak sorulara sunucu ihtiyaçlarınıza göre cevap verin (örneğin, “Internet Site” seçeneğini seçip alan adınızı girmeniz gerekebilir).
Değişiklikleri yaptıktan sonra Fail2Ban servisini yeniden başlatmayı unutmayın:
sudo systemctl restart fail2ban
Sıkça Sorulan Sorular ve İpuçları
* Fail2Ban logları nerede bulunur?
Fail2Ban’ın kendi log dosyası /var/log/fail2ban.log adresindedir. Bu dosyayı düzenli olarak kontrol ederek Fail2Ban’ın doğru çalıştığından ve engellemeleri kaydettiğinden emin olabilirsiniz.
* Fail2Ban çalışmıyorsa ne yapmalı?
1. sudo systemctl status fail2ban komutuyla servisin durumunu kontrol edin.
2. /var/log/fail2ban.log dosyasını hata mesajları için kontrol edin.
3. jail.local dosyanızdaki yapılandırma hatalarını kontrol edin (sözdizimi hataları, yanlış port numaraları vb.).
4. fail2ban-client -d komutu ile hata ayıklama modunda çalıştırarak daha detaylı bilgi alabilirsiniz.
* Performans etkileri?
Fail2Ban, genellikle sunucu performansı üzerinde ihmal edilebilir bir etkiye sahiptir. Log dosyalarını düzenli ifadelerle tarar ve IP’leri engellemek için iptables kurallarını kullanır. Bu işlemler modern sunucularda oldukça verimlidir.
* Fail2Ban’ı kaldırma:
Eğer Fail2Ban’ı kaldırmak isterseniz:
sudo apt purge fail2ban -y
sudo rm -rf /etc/fail2ban
Bu komutlar Fail2Ban paketini ve yapılandırma dosyalarını kaldırır.
* SSH portunu değiştirmenin ve anahtar tabanlı kimlik doğrulamanın önemi:
Fail2Ban, brute-force saldırılarını engellemede harika olsa da, SSH portunu varsayılandan farklı bir portla değiştirmek ve parola yerine anahtar tabanlı kimlik doğrulamayı kullanmak, ilk savunma hatlarınızı oluşturur. Bu önlemler, saldırı yüzeyinizi daraltır ve Fail2Ban’ın iş yükünü azaltır. Her zaman çok katmanlı bir güvenlik yaklaşımı benimseyin.
* fail2ban-client komutunun diğer seçenekleri:
fail2ban-client -h komutu ile Fail2Ban istemcisinin tüm komut seçeneklerini görebilirsiniz.
Daha detaylı bilgi için man fail2ban ve man jail.conf komutlarını kullanabilirsiniz.
* logpath ayarı: Bazı durumlarda, Fail2Ban’ın varsayılan logpath değişkeni doğru log dosyasını bulamayabilir. Eğer SSH loglarınız /var/log/auth.log yerine farklı bir yerde (örneğin /var/log/syslog) ise, jail.local dosyasında logpath değerini manuel olarak ayarlamanız gerekebilir:
logpath = /var/log/auth.log
veya
logpath = /var/log/syslog
Doğru log dosyasını bulmak için grep "sshd" /var/log/* gibi komutlar kullanabilirsiniz.
Sonuç
Bu makalede, Ubuntu 20.04 sunucunuzda SSH servisini Fail2Ban ile nasıl koruyacağınızı adım adım öğrendiniz. SSH’in varsayılan portunu değiştirmek, root girişini devre dışı bırakmak ve anahtar tabanlı kimlik doğrulamayı kullanmak gibi temel güvenlik önlemleriyle başlayarak, Fail2Ban’ı kurdunuz, yapılandırdınız ve çalışmasını kontrol ettiniz. Ayrıca, Fail2Ban’ın filtre ve eylem mekanizmalarını kullanarak daha gelişmiş koruma ve bildirim seçeneklerini de incelediniz.
Fail2Ban, sunucunuzu sürekli kaba kuvvet saldırılarından koruyarak önemli bir güvenlik katmanı ekler. Ancak, hiçbir güvenlik önlemi tek başına yeterli değildir. Her zaman güçlü parolalar kullanmak (anahtar tabanlı kimlik doğrulama kullanmıyorsanız), yazılımlarınızı güncel tutmak, düzenli yedeklemeler almak ve ek güvenlik duvarı kuralları uygulamak gibi diğer iyi güvenlik uygulamalarını da sürdürmeniz hayati önem taşır. Bu çok katmanlı güvenlik yaklaşımı, sunucularınızı siber tehditlere karşı daha dirençli hale getirecektir. Güvenliğiniz için bu adımları uygulamaya devam edin ve sisteminizi düzenli olarak denetlemeyi unutmayın.