{"id":33166,"date":"2025-10-30T13:41:10","date_gmt":"2025-10-30T10:41:10","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33166"},"modified":"2025-10-30T13:41:10","modified_gmt":"2025-10-30T10:41:10","slug":"sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/","title":{"rendered":"SSH&#8217;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?"},"content":{"rendered":"<p><body><\/p>\n<h2>SSH&#8217;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?<\/h2>\n<p>Sunucu g\u00fcvenli\u011fi, herhangi bir \u00e7evrimi\u00e7i hizmetin veya uygulaman\u0131n temel ta\u015f\u0131d\u0131r. \u0130nternet&#8217;e a\u00e7\u0131k her sunucu, k\u00f6t\u00fc niyetli akt\u00f6rlerin s\u00fcrekli hedefindedir. Bu sald\u0131r\u0131lar\u0131n ba\u015f\u0131nda ise genellikle SSH (Secure Shell) servisi \u00fczerinden yap\u0131lan kaba kuvvet (brute-force) sald\u0131r\u0131lar\u0131 gelir. SSH, sunucular\u0131n\u0131za g\u00fcvenli bir \u015fekilde uzaktan eri\u015fim sa\u011flaman\u0131n standart yoludur, ancak varsay\u0131lan yap\u0131land\u0131rmas\u0131yla bile potansiyel zafiyetlere a\u00e7\u0131kt\u0131r. Bu makalede, Ubuntu 20.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan bir sunucuda SSH servisinizi Fail2Ban ile nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Giri\u015f: Neden SSH G\u00fcvenli\u011fi ve Fail2Ban?<\/h3>\n<p>SSH, sistem y\u00f6neticilerinin ve geli\u015ftiricilerin uzak sunuculara g\u00fcvenli bir \u015fekilde ba\u011flanmas\u0131n\u0131 sa\u011flayan kritik bir protokold\u00fcr. \u015eifrelenmi\u015f bir kanal \u00fczerinden komut \u00e7al\u0131\u015ft\u0131rma, dosya transferi ve di\u011fer a\u011f hizmetlerini g\u00fcvenli bir \u015fekilde t\u00fcnelleme imkan\u0131 sunar. Ancak, pop\u00fclaritesi ve kritik \u00f6nemi nedeniyle, siber sald\u0131rganlar i\u00e7in de cazip bir hedeftir. \u00d6zellikle, zay\u0131f parolalar veya varsay\u0131lan yap\u0131land\u0131rmalar kullan\u0131ld\u0131\u011f\u0131nda, kaba kuvvet sald\u0131r\u0131lar\u0131yla SSH oturumlar\u0131na yetkisiz eri\u015fim denemeleri s\u00fcrekli olarak ya\u015fan\u0131r. Bir sald\u0131rgan, binlerce farkl\u0131 parola kombinasyonunu veya yayg\u0131n kullan\u0131c\u0131 adlar\u0131n\u0131 deneyerek sisteme s\u0131zmaya \u00e7al\u0131\u015fabilir.<\/p>\n<p>\u0130\u015fte tam bu noktada Fail2Ban devreye girer. Fail2Ban, sunucu log dosyalar\u0131n\u0131 izleyerek belirli bir zaman dilimi i\u00e7inde tekrarlayan ba\u015far\u0131s\u0131z giri\u015f denemelerini (veya di\u011fer k\u00f6t\u00fc niyetli davran\u0131\u015flar\u0131) tespit eden ve bu denemeleri yapan IP adreslerini ge\u00e7ici veya kal\u0131c\u0131 olarak engelleyen bir g\u00fcvenlik arac\u0131d\u0131r. Bu, kaba kuvvet sald\u0131r\u0131lar\u0131na kar\u015f\u0131 otomatik ve proaktif bir savunma mekanizmas\u0131 sa\u011flayarak sunucunuzun g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Fail2Ban, sadece SSH i\u00e7in de\u011fil, ayn\u0131 zamanda web sunucular\u0131 (Apache, Nginx), e-posta sunucular\u0131 (Postfix, Dovecot) ve di\u011fer bir\u00e7ok a\u011f servisi i\u00e7in de kullan\u0131labilir.<\/p>\n<p>Bu makale boyunca, Ubuntu 20.04 \u00fczerinde Fail2Ban&#8217;\u0131 kuracak, SSH servisinizi korumak i\u00e7in temel ve geli\u015fmi\u015f yap\u0131land\u0131rmalar\u0131 uygulayacak ve Fail2Ban&#8217;\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edece\u011fiz. Ayr\u0131ca, Fail2Ban&#8217;\u0131 kurmadan \u00f6nce SSH g\u00fcvenli\u011finizi art\u0131rmak i\u00e7in alabilece\u011finiz ek \u00f6nlemlere de de\u011finece\u011fiz.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlere sahip olman\u0131z gerekmektedir:<\/p>\n<p>*   <strong>Ubuntu 20.04 Sunucusu:<\/strong> \u0130nternet&#8217;e ba\u011fl\u0131 ve \u00e7al\u0131\u015fan bir Ubuntu 20.04 sunucusu.<br \/>\n*   <strong><code>sudo<\/code> Yetkilerine Sahip Kullan\u0131c\u0131:<\/strong> Sunucuda <code>sudo<\/code> ayr\u0131cal\u0131klar\u0131na sahip, root olmayan bir kullan\u0131c\u0131 hesab\u0131. G\u00fcvenlik a\u00e7\u0131s\u0131ndan root kullan\u0131c\u0131s\u0131 ile do\u011frudan i\u015flem yapmak yerine <code>sudo<\/code> kullan\u0131lmas\u0131 \u015fiddetle tavsiye edilir.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Sunucunuza SSH \u00fczerinden eri\u015febiliyor olman\u0131z gerekmektedir.<br \/>\n*   <strong>Temel Linux Komut Bilgisi:<\/strong> Temel terminal komutlar\u0131na a\u015fina olman\u0131z beklenir.<\/p>\n<h3>Ad\u0131m 1: Sunucuyu G\u00fcncelleme<\/h3>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, sisteminizin g\u00fcncel oldu\u011fundan emin olmak iyi bir g\u00fcvenlik ve performans uygulamas\u0131d\u0131r. Bu, en son g\u00fcvenlik yamalar\u0131n\u0131 ve yaz\u0131l\u0131m g\u00fcncellemelerini alman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p><code>sudo apt update<\/code> komutu, paket listelerinizi g\u00fcncellerken, <code>sudo apt upgrade -y<\/code> komutu ise mevcut t\u00fcm paketleri y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 vermenizi sa\u011flar.<\/p>\n<h3>Ad\u0131m 2: SSH Servisini G\u00fcvenli Hale Getirme (Fail2Ban \u00d6ncesi Temel Ad\u0131mlar)<\/h3>\n<p>Fail2Ban g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, SSH servisinizi daha g\u00fcvenli hale getirmek i\u00e7in alabilece\u011finiz temel \u00f6nlemler vard\u0131r. Bu ad\u0131mlar, Fail2Ban&#8217;\u0131n i\u015fini kolayla\u015ft\u0131r\u0131r ve genel g\u00fcvenlik duru\u015funuzu g\u00fc\u00e7lendirir.<\/p>\n<h4>SSH Varsay\u0131lan Portunu De\u011fi\u015ftirme<\/h4>\n<p>SSH&#8217;in varsay\u0131lan portu 22&#8217;dir. Sald\u0131rganlar genellikle bu portu hedef al\u0131r. Portu de\u011fi\u015ftirmek, otomatik botlar\u0131n ve basit taramalar\u0131n ilk sald\u0131r\u0131 katman\u0131ndan kurtulmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>SSH yap\u0131land\u0131rma dosyas\u0131n\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/ssh\/sshd_config<\/code><\/pre>\n<p>Dosya i\u00e7inde <code>Port 22<\/code> sat\u0131r\u0131n\u0131 bulun. Bu sat\u0131r\u0131n ba\u015f\u0131nda bir <code>#<\/code> i\u015fareti varsa, yorum sat\u0131r\u0131 demektir ve aktif de\u011fildir. \u0130\u015fareti kald\u0131r\u0131n ve 1024&#8217;ten b\u00fcy\u00fck, 65535&#8217;ten k\u00fc\u00e7\u00fck rastgele bir port numaras\u0131 ile de\u011fi\u015ftirin (\u00f6rne\u011fin, <code>2222<\/code> veya <code>44321<\/code>).<\/p>\n<pre><code class=\"language-\"># Port 22\nPort 2222<\/code><\/pre>\n<p>De\u011fi\u015fikli\u011fi kaydedin (Ctrl+O, Enter) ve dosyadan \u00e7\u0131k\u0131n (Ctrl+X). SSH servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart sshd<\/code><\/pre>\n<p><strong>\u00d6nemli:<\/strong> E\u011fer bir g\u00fcvenlik duvar\u0131 (UFW gibi) kullan\u0131yorsan\u0131z, yeni SSH portunuza izin vermeniz gerekmektedir. Aksi takdirde, SSH ba\u011flant\u0131n\u0131z kesilebilir.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 2222\/tcp\nsudo ufw delete allow 22\/tcp # E\u011fer 22 portunu art\u0131k kullanm\u0131yorsan\u0131z\nsudo ufw enable # E\u011fer UFW daha \u00f6nce etkinle\u015ftirilmediyse\nsudo ufw status<\/code><\/pre>\n<p>Yeni port numaras\u0131n\u0131 kullanarak sunucunuza ba\u011flanabildi\u011finizden emin olduktan sonra, eski 22 numaral\u0131 portu g\u00fcvenlik duvar\u0131n\u0131zdan kapatabilirsiniz.<\/p>\n<h4>Root Giri\u015fini Devre D\u0131\u015f\u0131 B\u0131rakma<\/h4>\n<p>Root kullan\u0131c\u0131s\u0131, Linux sistemlerindeki en y\u00fcksek ayr\u0131cal\u0131klara sahip kullan\u0131c\u0131d\u0131r. Do\u011frudan root giri\u015fi, sald\u0131rganlar i\u00e7in cazip bir hedeftir \u00e7\u00fcnk\u00fc root parolas\u0131n\u0131 ele ge\u00e7irmeleri durumunda sistemin tam kontrol\u00fcn\u00fc ele ge\u00e7irebilirler. Bu nedenle, do\u011frudan root giri\u015fini devre d\u0131\u015f\u0131 b\u0131rakmak ve normal bir kullan\u0131c\u0131 ile giri\u015f yap\u0131p gerekti\u011finde <code>sudo<\/code> kullanmak daha g\u00fcvenlidir.<\/p>\n<p>Yine <code>sshd_config<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/ssh\/sshd_config<\/code><\/pre>\n<p><code>PermitRootLogin<\/code> sat\u0131r\u0131n\u0131 bulun ve de\u011ferini <code>no<\/code> olarak de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-\">PermitRootLogin no<\/code><\/pre>\n<p>De\u011fi\u015fikli\u011fi kaydedin ve dosyadan \u00e7\u0131k\u0131n. SSH servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart sshd<\/code><\/pre>\n<h4>Parola Yerine Anahtar Tabanl\u0131 Kimlik Do\u011frulama Kullanma<\/h4>\n<p>Parolalar, ne kadar karma\u015f\u0131k olursa olsun, kaba kuvvet sald\u0131r\u0131lar\u0131na veya sosyal m\u00fchendislik y\u00f6ntemlerine kar\u015f\u0131 savunmas\u0131z kalabilir. SSH anahtar \u00e7iftleri (bir genel anahtar ve bir \u00f6zel anahtar), parolalara g\u00f6re \u00e7ok daha g\u00fcvenli bir kimlik do\u011frulama y\u00f6ntemi sunar.<\/p>\n<p>*   <strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r:<\/strong> Yerel makinenizde bir SSH anahtar \u00e7ifti olu\u015fturursunuz. Genel anahtar\u0131 sunucunuza kopyalars\u0131n\u0131z ve \u00f6zel anahtar\u0131 yerel makinenizde g\u00fcvende tutars\u0131n\u0131z. Ba\u011flant\u0131 kuruldu\u011funda, sunucu genel anahtar\u0131 kullanarak \u00f6zel anahtar\u0131n\u0131zla bir \u015fifreleme i\u015flemi yapar ve kimli\u011finizi do\u011frular.<br \/>\n*   <strong>Uygulama:<\/strong><br \/>\n    1.  Yerel makinenizde anahtar olu\u015fturun: <code>ssh-keygen -t rsa -b 4096<\/code><br \/>\n    2.  Genel anahtar\u0131 sunucuya kopyalay\u0131n: <code>ssh-copy-id -i ~\/.ssh\/id_rsa.pub kullanici_adi@sunucu_ip_adresi -p YENI_SSH_PORTU<\/code><br \/>\n    3.  Anahtar tabanl\u0131 kimlik do\u011frulaman\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olduktan sonra, <code>sshd_config<\/code> dosyas\u0131nda parola ile kimlik do\u011frulamay\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/ssh\/sshd_config<\/code><\/pre>\n<p>        <code>PasswordAuthentication<\/code> sat\u0131r\u0131n\u0131 bulun ve de\u011ferini <code>no<\/code> olarak de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-\">PasswordAuthentication no<\/code><\/pre>\n<p>        De\u011fi\u015fikli\u011fi kaydedin ve SSH servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart sshd<\/code><\/pre>\n<p>Bu ad\u0131mlar, Fail2Ban&#8217;\u0131 kurmadan \u00f6nce bile SSH servisinizi \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirecektir.<\/p>\n<h3>Ad\u0131m 3: Fail2Ban Kurulumu<\/h3>\n<p>Fail2Ban, Ubuntu&#8217;nun varsay\u0131lan depolar\u0131nda mevcuttur, bu nedenle kurulumu olduk\u00e7a basittir.<\/p>\n<p>A\u015fa\u011f\u0131daki komutu kullanarak Fail2Ban paketini y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt install fail2ban -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Fail2Ban servisi otomatik olarak ba\u015flayacak ve sistem ba\u015flang\u0131c\u0131nda etkinle\u015ftirilecektir. Servisin durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status fail2ban<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ibaresini g\u00f6rmelisiniz. E\u011fer de\u011filse, a\u015fa\u011f\u0131daki komutla ba\u015flatabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start fail2ban<\/code><\/pre>\n<h3>Ad\u0131m 4: Fail2Ban Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Fail2Ban&#8217;\u0131n yap\u0131land\u0131rma dosyalar\u0131 <code>\/etc\/fail2ban\/<\/code> dizininde bulunur. Temel yap\u0131land\u0131rma dosyas\u0131 <code>jail.conf<\/code>&#8216;tur. Ancak, bu dosyay\u0131 do\u011frudan d\u00fczenlemek yerine, <code>jail.local<\/code> ad\u0131nda bir kopya olu\u015fturarak de\u011fi\u015fiklikleri bu dosyada yapman\u0131z \u00f6nerilir. Bu, Fail2Ban g\u00fcncellemeleri s\u0131ras\u0131nda yap\u0131land\u0131rma de\u011fi\u015fikliklerinizin \u00fczerine yaz\u0131lmas\u0131n\u0131 \u00f6nler.<\/p>\n<h4>Yap\u0131land\u0131rma Dosyalar\u0131 ve \u00d6ncelik<\/h4>\n<p>*   <code>\/etc\/fail2ban\/jail.conf<\/code>: Ana yap\u0131land\u0131rma dosyas\u0131d\u0131r. Bu dosyay\u0131 do\u011frudan d\u00fczenlemeyin.<br \/>\n*   <code>\/etc\/fail2ban\/jail.local<\/code>: \u00d6zel yap\u0131land\u0131rmalar\u0131n\u0131z\u0131 burada yapmal\u0131s\u0131n\u0131z. Bu dosya, <code>jail.conf<\/code> dosyas\u0131ndaki ayarlar\u0131 ge\u00e7ersiz k\u0131lar.<\/p>\n<p>\u0130lk olarak, <code>jail.conf<\/code> dosyas\u0131n\u0131 <code>jail.local<\/code> olarak kopyalay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/fail2ban\/jail.conf \/etc\/fail2ban\/jail.local<\/code><\/pre>\n<p>\u015eimdi <code>jail.local<\/code> dosyas\u0131n\u0131 d\u00fczenlemeye ba\u015flayabiliriz:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/fail2ban\/jail.local<\/code><\/pre>\n<h4><code>jail.local<\/code> Dosyas\u0131n\u0131 D\u00fczenleme<\/h4>\n<p>Bu dosya i\u00e7inde, Fail2Ban&#8217;\u0131n genel davran\u0131\u015f\u0131n\u0131 ve belirli servisler i\u00e7in kurallar\u0131n\u0131 tan\u0131mlayaca\u011f\u0131z.<\/p>\n<p><strong>Genel Ayarlar:<\/strong><\/p>\n<p>Dosyan\u0131n ba\u015f\u0131nda <code>[DEFAULT]<\/code> b\u00f6l\u00fcm\u00fc bulunur. Burada Fail2Ban&#8217;\u0131n t\u00fcm servisler i\u00e7in ge\u00e7erli olacak genel ayarlar\u0131n\u0131 yapabilirsiniz.<\/p>\n<p>*   <strong><code>ignoreip<\/code><\/strong>: Bu ayar, Fail2Ban&#8217;\u0131n asla engellemeyece\u011fi IP adreslerini veya IP aral\u0131klar\u0131n\u0131 tan\u0131mlar (beyaz liste). Kendi IP adresinizi buraya eklemeniz \u00f6nemlidir, aksi takdirde yanl\u0131\u015fl\u0131kla kendinizi sunucunuzdan kilitleyebilirsiniz. Birden fazla IP adresi veya aral\u0131\u011f\u0131 bo\u015flukla ay\u0131rarak ekleyebilirsiniz.<\/p>\n<pre><code class=\"language-\">ignoreip = 127.0.0.1\/8 ::1 192.168.1.0\/24 203.0.113.45<\/code><\/pre>\n<p>    <code>127.0.0.1\/8<\/code> ve <code>::1<\/code> yerel ana bilgisayar\u0131 temsil eder. <code>192.168.1.0\/24<\/code> yerel a\u011f\u0131n\u0131zdaki t\u00fcm IP&#8217;leri kapsar. <code>203.0.113.45<\/code> ise sizin d\u0131\u015f IP adresiniz olabilir. Kendi d\u0131\u015f IP adresinizi \u00f6\u011frenmek i\u00e7in <code>curl ifconfig.me<\/code> veya benzeri bir hizmet kullanabilirsiniz.<br \/>\n*   <strong><code>bantime<\/code><\/strong>: Bir IP adresinin engellendi\u011fi s\u00fcreyi saniye cinsinden belirtir. Varsay\u0131lan olarak 10 dakika (600 saniye) olarak ayarlanm\u0131\u015ft\u0131r. Daha uzun bir s\u00fcre i\u00e7in engellemek isterseniz, bu de\u011feri art\u0131rabilirsiniz. \u00d6rne\u011fin, 1 saat i\u00e7in <code>3600<\/code> yazabilirsiniz.<\/p>\n<pre><code class=\"language-\">bantime = 3600<\/code><\/pre>\n<p>*   <strong><code>findtime<\/code><\/strong>: Belirtilen <code>maxretry<\/code> say\u0131s\u0131na ula\u015fmak i\u00e7in loglar\u0131n taranaca\u011f\u0131 s\u00fcreyi saniye cinsinden belirtir. Varsay\u0131lan olarak 10 dakikad\u0131r (600 saniye). Yani, bir IP adresi <code>findtime<\/code> s\u00fcresi i\u00e7inde <code>maxretry<\/code> kadar ba\u015far\u0131s\u0131z deneme yaparsa engellenir.<\/p>\n<pre><code class=\"language-\">findtime = 600<\/code><\/pre>\n<p>*   <strong><code>maxretry<\/code><\/strong>: Bir IP adresinin engellenmeden \u00f6nce izin verilen ba\u015far\u0131s\u0131z deneme say\u0131s\u0131n\u0131 belirtir. Varsay\u0131lan olarak 5&#8217;tir.<\/p>\n<pre><code class=\"language-\">maxretry = 5<\/code><\/pre>\n<p><strong>SSH Servisi \u0130\u00e7in Ayarlar (<code>[sshd]<\/code> B\u00f6l\u00fcm\u00fc):<\/strong><\/p>\n<p><code>jail.local<\/code> dosyas\u0131nda, SSH servisi i\u00e7in \u00f6zel bir b\u00f6l\u00fcm bulacaks\u0131n\u0131z. Bu b\u00f6l\u00fcm\u00fc bularak a\u015fa\u011f\u0131daki de\u011fi\u015fiklikleri yap\u0131n:<\/p>\n<p>*   <strong><code>enabled = true<\/code><\/strong>: Bu sat\u0131r, SSH i\u00e7in Fail2Ban korumas\u0131n\u0131 etkinle\u015ftirir. Varsay\u0131lan olarak <code>false<\/code> olabilir, <code>true<\/code> olarak ayarlad\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n*   <strong><code>port<\/code><\/strong>: SSH servisi i\u00e7in kulland\u0131\u011f\u0131n\u0131z port numaras\u0131n\u0131 belirtir. E\u011fer SSH portunu 22&#8217;den farkl\u0131 bir port numaras\u0131na (\u00f6rne\u011fin 2222) de\u011fi\u015ftirdiyseniz, buray\u0131 da g\u00fcncellemelisiniz. Varsay\u0131lan olarak <code>ssh<\/code> yazabilir, bu genellikle 22 portunu ifade eder. Birden fazla port i\u00e7in virg\u00fclle ay\u0131rabilirsiniz (\u00f6rn: <code>port = ssh,2222<\/code>).<\/p>\n<pre><code class=\"language-\">[sshd]\n    enabled = true\n    port = 2222 # Kendi SSH portunuzu buraya yaz\u0131n\n    logpath = %(sshd_log)s\n    backend = %(sshd_backend)s<\/code><\/pre>\n<p>*   <strong><code>filter<\/code><\/strong>: Bu ayar, Fail2Ban&#8217;\u0131n SSH loglar\u0131n\u0131 taramak i\u00e7in hangi filtreyi kullanaca\u011f\u0131n\u0131 belirtir. <code>sshd<\/code> filtresi, Fail2Ban ile birlikte gelen ve SSH kaba kuvvet sald\u0131r\u0131lar\u0131n\u0131 tespit etmek i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f bir filtredir. Genellikle varsay\u0131lan b\u0131rak\u0131l\u0131r.<br \/>\n*   <strong><code>logpath<\/code><\/strong>: SSH loglar\u0131n\u0131n bulundu\u011fu yolu belirtir. Ubuntu&#8217;da bu genellikle <code>\/var\/log\/auth.log<\/code> veya <code>\/var\/log\/syslog<\/code>&#8216;dur. <code>%(sshd_log)s<\/code> de\u011fi\u015fkeni, Fail2Ban&#8217;\u0131n kendi varsay\u0131lan ayarlar\u0131ndan do\u011fru yolu \u00e7ekecektir.<\/p>\n<p><strong>Ek Servisleri Korumak (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong><\/p>\n<p><code>jail.local<\/code> dosyas\u0131 i\u00e7inde, Apache, Nginx, Postfix, Dovecot gibi di\u011fer servisler i\u00e7in de b\u00f6l\u00fcmler bulacaks\u0131n\u0131z. \u0130htiya\u00e7 duydu\u011funuzda bu servisleri de etkinle\u015ftirebilirsiniz. \u00d6rne\u011fin, Apache&#8217;nin kaba kuvvet sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korunmas\u0131 i\u00e7in:<\/p>\n<pre><code class=\"language-\">[apache-auth]\nenabled = true\nport = http,https\nlogpath = %(apache_error_log)s\nmaxretry = 6\nbantime = 1200<\/code><\/pre>\n<p>Her bir b\u00f6l\u00fcm i\u00e7in <code>enabled = true<\/code> yaparak ve <code>port<\/code>, <code>logpath<\/code>, <code>maxretry<\/code>, <code>bantime<\/code> gibi ayarlar\u0131 \u00f6zelle\u015ftirerek korumay\u0131 etkinle\u015ftirebilirsiniz.<\/p>\n<h4>De\u011fi\u015fiklikleri Uygulama<\/h4>\n<p><code>jail.local<\/code> dosyas\u0131nda yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fiklikleri kaydettikten sonra, Fail2Ban servisini yeniden ba\u015flatman\u0131z gerekir. Bu, yeni yap\u0131land\u0131rma ayarlar\u0131n\u0131n etkinle\u015fmesini sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart fail2ban<\/code><\/pre>\n<h3>Ad\u0131m 5: Fail2Ban \u00c7al\u0131\u015fmas\u0131n\u0131 Kontrol Etme<\/h3>\n<p>Fail2Ban&#8217;\u0131n do\u011fru \u015fekilde \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in birka\u00e7 komut kullanabiliriz.<\/p>\n<h4>Genel Durum Kontrol\u00fc<\/h4>\n<p>Fail2Ban&#8217;\u0131n genel durumunu ve hangi &#8220;hapishanelerin&#8221; (jails) etkin oldu\u011funu g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo fail2ban-client status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, etkin olan hapishaneleri (\u00f6rne\u011fin, <code>Jail list: sshd<\/code>) ve toplam engellenen IP adreslerini g\u00f6sterecektir.<\/p>\n<h4>Belirli Bir Servisin Durumu<\/h4>\n<p>SSH hapishanesinin (jail) durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo fail2ban-client status sshd<\/code><\/pre>\n<p>Bu komut, <code>sshd<\/code> hapishanesinin etkin olup olmad\u0131\u011f\u0131n\u0131, engellenen IP adreslerinin say\u0131s\u0131n\u0131 ve bu adreslerin listesini g\u00f6sterecektir. Ba\u015flang\u0131\u00e7ta hen\u00fcz bir IP engellenmemi\u015fse, &#8220;Currently banned IP&#8221; b\u00f6l\u00fcm\u00fc bo\u015f olacakt\u0131r.<\/p>\n<h4>Manuel Test<\/h4>\n<p>Fail2Ban&#8217;\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test etmenin en iyi yolu, sunucunuza yanl\u0131\u015f bir parola ile birka\u00e7 kez ba\u011flanmaya \u00e7al\u0131\u015fmakt\u0131r. <strong>Ancak bunu yaparken kendi IP adresinizin <code>ignoreip<\/code> listesinde OLMADI\u011eINDAN emin olun, aksi takdirde kendinizi engelleyebilirsiniz!<\/strong><\/p>\n<p>Ba\u015fka bir makineden (veya kendi makinenizden farkl\u0131 bir IP adresinden) sunucunuza SSH ile ba\u011flanmaya \u00e7al\u0131\u015f\u0131n ve kasten yanl\u0131\u015f parola girin:<\/p>\n<pre><code class=\"language-bash\">ssh kullanici_adi@sunucu_ip_adresi -p YENI_SSH_PORTU<\/code><\/pre>\n<p><code>maxretry<\/code> say\u0131s\u0131na ula\u015ft\u0131ktan sonra, ba\u011flant\u0131n\u0131z\u0131n reddedildi\u011fini g\u00f6rmelisiniz. Ard\u0131ndan, <code>fail2ban-client status sshd<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rarak engellenen IP adresini listede g\u00f6rebilirsiniz.<\/p>\n<h4>Engellenen IP&#8217;leri G\u00f6rme<\/h4>\n<p>Fail2Ban, engelleme i\u015flemleri i\u00e7in genellikle <code>iptables<\/code> g\u00fcvenlik duvar\u0131n\u0131 kullan\u0131r. Engellenen IP adreslerini do\u011frudan <code>iptables<\/code> kurallar\u0131 aras\u0131nda g\u00f6rebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo iptables -L fail2ban-sshd<\/code><\/pre>\n<p>Bu komut, <code>fail2ban-sshd<\/code> zincirindeki t\u00fcm kurallar\u0131 ve engellenen IP adreslerini g\u00f6sterecektir.<\/p>\n<h4>Bir IP&#8217;yi Manuel Olarak Engelleme\/Engeli Kald\u0131rma<\/h4>\n<p>Gerekti\u011finde bir IP adresini manuel olarak engelleyebilir veya engelini kald\u0131rabilirsiniz:<\/p>\n<p>*   <strong>Bir IP&#8217;yi Engelleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo fail2ban-client set sshd banip 192.168.1.100<\/code><\/pre>\n<p>*   <strong>Bir IP&#8217;nin Engelini Kald\u0131rma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo fail2ban-client set sshd unbanip 192.168.1.100<\/code><\/pre>\n<p>Bu komutlar, Fail2Ban&#8217;\u0131n engelleme mekanizmas\u0131n\u0131 an\u0131nda etkiler.<\/p>\n<h3>Ad\u0131m 6: Fail2Ban Filtreleri ve Eylemleri (Geli\u015fmi\u015f Yap\u0131land\u0131rma)<\/h3>\n<p>Fail2Ban&#8217;\u0131n g\u00fcc\u00fc, esnek filtre ve eylem sisteminden gelir.<\/p>\n<h4>Filtreler (<code>\/etc\/fail2ban\/filter.d\/<\/code>)<\/h4>\n<p>Filtreler, Fail2Ban&#8217;\u0131n log dosyalar\u0131n\u0131 tararken k\u00f6t\u00fc niyetli desenleri (regex kullanarak) tan\u0131mas\u0131n\u0131 sa\u011flar. Her bir servis i\u00e7in ayr\u0131 bir filtre dosyas\u0131 bulunur.<\/p>\n<p>*   <strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r:<\/strong> Bir filtre dosyas\u0131, log sat\u0131rlar\u0131nda aranacak d\u00fczenli ifadeler (regex) i\u00e7erir. \u00d6rne\u011fin, SSH filtre (<code>\/etc\/fail2ban\/filter.d\/sshd.conf<\/code>), ba\u015far\u0131s\u0131z parola denemelerini g\u00f6steren log sat\u0131rlar\u0131n\u0131 tan\u0131r.<br \/>\n*   <strong>Mevcut Filtreleri \u0130nceleme:<\/strong> SSH filtresini inceleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/fail2ban\/filter.d\/sshd.conf<\/code><\/pre>\n<p>    Bu dosya i\u00e7inde, Fail2Ban&#8217;\u0131n hangi log desenlerini &#8220;ba\u015far\u0131s\u0131z deneme&#8221; olarak alg\u0131lad\u0131\u011f\u0131n\u0131 g\u00f6receksiniz.<br \/>\n*   <strong>\u00d6zel Filtre Olu\u015fturma:<\/strong> Kendi \u00f6zel uygulaman\u0131z veya servisiniz i\u00e7in bir filtre olu\u015fturman\u0131z gerekiyorsa, mevcut bir filtre dosyas\u0131n\u0131 kopyalay\u0131p d\u00fczenleyebilir veya s\u0131f\u0131rdan yeni bir <code>.conf<\/code> dosyas\u0131 olu\u015fturabilirsiniz. Ard\u0131ndan, <code>jail.local<\/code> dosyas\u0131nda yeni filtrenizi kullanarak bir hapishane tan\u0131mlayabilirsiniz.<\/p>\n<h4>Eylemler (<code>\/etc\/fail2ban\/action.d\/<\/code>)<\/h4>\n<p>Eylemler, bir IP adresi engellendi\u011finde Fail2Ban&#8217;\u0131n ne yapaca\u011f\u0131n\u0131 tan\u0131mlar. Varsay\u0131lan eylem, <code>iptables<\/code> kullanarak IP adresini engellemektir.<\/p>\n<p>*   <strong><code>action.conf<\/code>:<\/strong> Bu dosya, varsay\u0131lan eylem yap\u0131land\u0131rmas\u0131n\u0131 i\u00e7erir.<br \/>\n*   <strong><code>iptables<\/code>:<\/strong> Fail2Ban&#8217;\u0131n en yayg\u0131n eylemi, Linux \u00e7ekirde\u011finin netfilter g\u00fcvenlik duvar\u0131 aray\u00fcz\u00fc olan <code>iptables<\/code>&#8216;\u0131 kullanarak bir IP adresinden gelen trafi\u011fi engellemektir. Fail2Ban, engellenen IP adresleri i\u00e7in otomatik olarak <code>iptables<\/code> kurallar\u0131 ekler ve <code>bantime<\/code> s\u00fcresi doldu\u011funda bu kurallar\u0131 kald\u0131r\u0131r.<br \/>\n*   <strong>E-posta Bildirimi:<\/strong> Fail2Ban, bir IP adresi engellendi\u011finde size e-posta g\u00f6nderecek \u015fekilde yap\u0131land\u0131r\u0131labilir. Bu, sunucunuzdaki sald\u0131r\u0131 giri\u015fimlerinden haberdar olman\u0131z\u0131 sa\u011flar.<\/p>\n<p>    1.  <strong>E-posta Ayarlar\u0131:<\/strong> <code>jail.local<\/code> dosyas\u0131nda <code>[DEFAULT]<\/code> b\u00f6l\u00fcm\u00fcnde veya belirli bir hapishanenin (\u00f6rne\u011fin <code>[sshd]<\/code>) alt\u0131nda a\u015fa\u011f\u0131daki ayarlar\u0131 yap\u0131n:<\/p>\n<pre><code class=\"language-\">destemail = sizin_eposta_adresiniz@example.com\n        sendername = Fail2Ban\n        mta = sendmail # veya postfix, exim vb.<\/code><\/pre>\n<p>        <code>mta<\/code> (Mail Transfer Agent) ayar\u0131, sunucunuzda kurulu olan e-posta g\u00f6nderme yaz\u0131l\u0131m\u0131na ba\u011fl\u0131d\u0131r. \u00c7o\u011fu Ubuntu kurulumunda <code>sendmail<\/code> veya <code>postfix<\/code> kullan\u0131labilir.<\/p>\n<p>    2.  <strong>Eylem T\u00fcr\u00fcn\u00fc De\u011fi\u015ftirme:<\/strong> <code>jail.local<\/code> dosyas\u0131nda, <code>[DEFAULT]<\/code> b\u00f6l\u00fcm\u00fcndeki <code>action<\/code> sat\u0131r\u0131n\u0131 bulun veya belirli bir hapishane b\u00f6l\u00fcm\u00fcne ekleyin.<\/p>\n<p>        *   <code>action = %(action_mw)s<\/code>: Bu eylem, IP&#8217;yi engeller ve size whois bilgileriyle birlikte bir e-posta g\u00f6nderir.<br \/>\n        *   <code>action = %(action_mwl)s<\/code>: Bu eylem, IP&#8217;yi engeller, whois bilgileriyle e-posta g\u00f6nderir ve ayr\u0131ca ilgili log sat\u0131rlar\u0131n\u0131 da e-postaya ekler.<\/p>\n<p>        \u00d6rnek olarak, <code>sshd<\/code> hapishanesi i\u00e7in e-posta bildirimini etkinle\u015ftirmek isterseniz:<\/p>\n<pre><code class=\"language-\">[sshd]\n        enabled = true\n        port = 2222\n        logpath = %(sshd_log)s\n        backend = %(sshd_backend)s\n        action = %(action_mwl)s<\/code><\/pre>\n<p>    3.  <strong>E-posta Yaz\u0131l\u0131m\u0131 Kurulumu:<\/strong> E-posta bildirimlerinin \u00e7al\u0131\u015fabilmesi i\u00e7in sunucunuzda bir MTA (\u00f6rne\u011fin <code>postfix<\/code>) kurulu ve yap\u0131land\u0131r\u0131lm\u0131\u015f olmas\u0131 gerekir. E\u011fer kurulu de\u011filse:<\/p>\n<pre><code class=\"language-bash\">sudo apt install postfix -y<\/code><\/pre>\n<p>        Kurulum s\u0131ras\u0131nda size sorulacak sorulara sunucu ihtiya\u00e7lar\u0131n\u0131za g\u00f6re cevap verin (\u00f6rne\u011fin, &#8220;Internet Site&#8221; se\u00e7ene\u011fini se\u00e7ip alan ad\u0131n\u0131z\u0131 girmeniz gerekebilir).<\/p>\n<p>De\u011fi\u015fiklikleri yapt\u0131ktan sonra Fail2Ban servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart fail2ban<\/code><\/pre>\n<h3>S\u0131k\u00e7a Sorulan Sorular ve \u0130pu\u00e7lar\u0131<\/h3>\n<p>*   <strong>Fail2Ban loglar\u0131 nerede bulunur?<\/strong><br \/>\n    Fail2Ban&#8217;\u0131n kendi log dosyas\u0131 <code>\/var\/log\/fail2ban.log<\/code> adresindedir. Bu dosyay\u0131 d\u00fczenli olarak kontrol ederek Fail2Ban&#8217;\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan ve engellemeleri kaydetti\u011finden emin olabilirsiniz.<br \/>\n*   <strong>Fail2Ban \u00e7al\u0131\u015fm\u0131yorsa ne yapmal\u0131?<\/strong><br \/>\n    1.  <code>sudo systemctl status fail2ban<\/code> komutuyla servisin durumunu kontrol edin.<br \/>\n    2.  <code>\/var\/log\/fail2ban.log<\/code> dosyas\u0131n\u0131 hata mesajlar\u0131 i\u00e7in kontrol edin.<br \/>\n    3.  <code>jail.local<\/code> dosyan\u0131zdaki yap\u0131land\u0131rma hatalar\u0131n\u0131 kontrol edin (s\u00f6zdizimi hatalar\u0131, yanl\u0131\u015f port numaralar\u0131 vb.).<br \/>\n    4.  <code>fail2ban-client -d<\/code> komutu ile hata ay\u0131klama modunda \u00e7al\u0131\u015ft\u0131rarak daha detayl\u0131 bilgi alabilirsiniz.<br \/>\n*   <strong>Performans etkileri?<\/strong><br \/>\n    Fail2Ban, genellikle sunucu performans\u0131 \u00fczerinde ihmal edilebilir bir etkiye sahiptir. Log dosyalar\u0131n\u0131 d\u00fczenli ifadelerle tarar ve IP&#8217;leri engellemek i\u00e7in <code>iptables<\/code> kurallar\u0131n\u0131 kullan\u0131r. Bu i\u015flemler modern sunucularda olduk\u00e7a verimlidir.<br \/>\n*   <strong>Fail2Ban&#8217;\u0131 kald\u0131rma:<\/strong><br \/>\n    E\u011fer Fail2Ban&#8217;\u0131 kald\u0131rmak isterseniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt purge fail2ban -y\n    sudo rm -rf \/etc\/fail2ban<\/code><\/pre>\n<p>    Bu komutlar Fail2Ban paketini ve yap\u0131land\u0131rma dosyalar\u0131n\u0131 kald\u0131r\u0131r.<br \/>\n*   <strong>SSH portunu de\u011fi\u015ftirmenin ve anahtar tabanl\u0131 kimlik do\u011frulaman\u0131n \u00f6nemi:<\/strong><br \/>\n    Fail2Ban, brute-force sald\u0131r\u0131lar\u0131n\u0131 engellemede harika olsa da, SSH portunu varsay\u0131landan farkl\u0131 bir portla de\u011fi\u015ftirmek ve parola yerine anahtar tabanl\u0131 kimlik do\u011frulamay\u0131 kullanmak, ilk savunma hatlar\u0131n\u0131z\u0131 olu\u015fturur. Bu \u00f6nlemler, sald\u0131r\u0131 y\u00fczeyinizi daralt\u0131r ve Fail2Ban&#8217;\u0131n i\u015f y\u00fck\u00fcn\u00fc azalt\u0131r. Her zaman \u00e7ok katmanl\u0131 bir g\u00fcvenlik yakla\u015f\u0131m\u0131 benimseyin.<br \/>\n*   <strong><code>fail2ban-client<\/code> komutunun di\u011fer se\u00e7enekleri:<\/strong><br \/>\n    <code>fail2ban-client -h<\/code> komutu ile Fail2Ban istemcisinin t\u00fcm komut se\u00e7eneklerini g\u00f6rebilirsiniz.<br \/>\n    Daha detayl\u0131 bilgi i\u00e7in <code>man fail2ban<\/code> ve <code>man jail.conf<\/code> komutlar\u0131n\u0131 kullanabilirsiniz.<br \/>\n*   <strong><code>logpath<\/code> ayar\u0131:<\/strong> Baz\u0131 durumlarda, Fail2Ban&#8217;\u0131n varsay\u0131lan <code>logpath<\/code> de\u011fi\u015fkeni do\u011fru log dosyas\u0131n\u0131 bulamayabilir. E\u011fer SSH loglar\u0131n\u0131z <code>\/var\/log\/auth.log<\/code> yerine farkl\u0131 bir yerde (\u00f6rne\u011fin <code>\/var\/log\/syslog<\/code>) ise, <code>jail.local<\/code> dosyas\u0131nda <code>logpath<\/code> de\u011ferini manuel olarak ayarlaman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-\">logpath = \/var\/log\/auth.log<\/code><\/pre>\n<p>    veya<\/p>\n<pre><code class=\"language-\">logpath = \/var\/log\/syslog<\/code><\/pre>\n<p>    Do\u011fru log dosyas\u0131n\u0131 bulmak i\u00e7in <code>grep \"sshd\" \/var\/log\/*<\/code> gibi komutlar kullanabilirsiniz.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu 20.04 sunucunuzda SSH servisini Fail2Ban ile nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. SSH&#8217;in varsay\u0131lan portunu de\u011fi\u015ftirmek, root giri\u015fini devre d\u0131\u015f\u0131 b\u0131rakmak ve anahtar tabanl\u0131 kimlik do\u011frulamay\u0131 kullanmak gibi temel g\u00fcvenlik \u00f6nlemleriyle ba\u015flayarak, Fail2Ban&#8217;\u0131 kurdunuz, yap\u0131land\u0131rd\u0131n\u0131z ve \u00e7al\u0131\u015fmas\u0131n\u0131 kontrol ettiniz. Ayr\u0131ca, Fail2Ban&#8217;\u0131n filtre ve eylem mekanizmalar\u0131n\u0131 kullanarak daha geli\u015fmi\u015f koruma ve bildirim se\u00e7eneklerini de incelediniz.<\/p>\n<p>Fail2Ban, sunucunuzu s\u00fcrekli kaba kuvvet sald\u0131r\u0131lar\u0131ndan koruyarak \u00f6nemli bir g\u00fcvenlik katman\u0131 ekler. Ancak, hi\u00e7bir g\u00fcvenlik \u00f6nlemi tek ba\u015f\u0131na yeterli de\u011fildir. Her zaman g\u00fc\u00e7l\u00fc parolalar kullanmak (anahtar tabanl\u0131 kimlik do\u011frulama kullanm\u0131yorsan\u0131z), yaz\u0131l\u0131mlar\u0131n\u0131z\u0131 g\u00fcncel tutmak, d\u00fczenli yedeklemeler almak ve ek g\u00fcvenlik duvar\u0131 kurallar\u0131 uygulamak gibi di\u011fer iyi g\u00fcvenlik uygulamalar\u0131n\u0131 da s\u00fcrd\u00fcrmeniz hayati \u00f6nem ta\u015f\u0131r. Bu \u00e7ok katmanl\u0131 g\u00fcvenlik yakla\u015f\u0131m\u0131, sunucular\u0131n\u0131z\u0131 siber tehditlere kar\u015f\u0131 daha diren\u00e7li hale getirecektir. G\u00fcvenli\u011finiz i\u00e7in bu ad\u0131mlar\u0131 uygulamaya devam edin ve sisteminizi d\u00fczenli olarak denetlemeyi unutmay\u0131n.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"SSH&#8217;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?\nSunucu g\u00fcvenli\u011fi, herhangi bir \u00e7evrimi\u00e7i hizmetin veya uygulaman\u0131n temel ta\u015f\u0131d\u0131r","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-33166","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SSH&#039;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SSH&#039;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?\" \/>\n<meta property=\"og:description\" content=\"SSH&#039;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz? Sunucu g\u00fcvenli\u011fi, herhangi bir \u00e7evrimi\u00e7i hizmetin veya uygulaman\u0131n temel ta\u015f\u0131d\u0131r\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-30T10:41:10+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"SSH&#8217;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?\",\"datePublished\":\"2025-10-30T10:41:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/\"},\"wordCount\":3032,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/\",\"name\":\"SSH'i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-30T10:41:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SSH&#8217;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SSH'i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/","og_locale":"tr_TR","og_type":"article","og_title":"SSH'i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?","og_description":"SSH'i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz? Sunucu g\u00fcvenli\u011fi, herhangi bir \u00e7evrimi\u00e7i hizmetin veya uygulaman\u0131n temel ta\u015f\u0131d\u0131r","og_url":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-30T10:41:10+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"SSH&#8217;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?","datePublished":"2025-10-30T10:41:10+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/"},"wordCount":3032,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/","url":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/","name":"SSH'i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-30T10:41:10+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sshi-fail2ban-ile-ubuntu-20-04-uzerinde-nasil-korursunuz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SSH&#8217;i Fail2Ban ile Ubuntu 20.04 \u00dczerinde Nas\u0131l Korursunuz?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=33166"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33166\/revisions"}],"predecessor-version":[{"id":33167,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33166\/revisions\/33167"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}