{"id":37573,"date":"2026-01-09T14:41:41","date_gmt":"2026-01-09T11:41:41","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37573"},"modified":"2026-01-09T14:41:41","modified_gmt":"2026-01-09T11:41:41","slug":"how-to-protect-ssh-with-fail2ban-on-centos-7","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/","title":{"rendered":"How To Protect SSH With Fail2Ban on CentOS 7"},"content":{"rendered":"<p><body><\/p>\n<h2>Giri\u015f<\/h2>\n<p>Sunucu g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda her zamankinden daha kritik bir \u00f6neme sahiptir. \u00d6zellikle internete a\u00e7\u0131k sunucular, s\u00fcrekli olarak k\u00f6t\u00fc niyetli sald\u0131rganlar\u0131n hedefi haline gelmektedir. Bu sald\u0131r\u0131lar\u0131n ba\u015f\u0131nda, genellikle SSH (Secure Shell) hizmeti \u00fczerinden ger\u00e7ekle\u015ftirilen kaba kuvvet (brute-force) denemeleri gelir. SSH, sunucular\u0131n\u0131za uzaktan g\u00fcvenli bir \u015fekilde eri\u015fim sa\u011flaman\u0131n standart yoludur, ancak varsay\u0131lan yap\u0131land\u0131rmas\u0131yla bile sald\u0131r\u0131lara kar\u015f\u0131 tamamen ba\u011f\u0131\u015f\u0131k de\u011fildir.<\/p>\n<p>Kaba kuvvet sald\u0131r\u0131lar\u0131, bir sald\u0131rgan\u0131n farkl\u0131 kullan\u0131c\u0131 ad\u0131 ve parola kombinasyonlar\u0131n\u0131 deneme yoluyla sisteme yetkisiz eri\u015fim sa\u011flamaya \u00e7al\u0131\u015fmas\u0131d\u0131r. Bu t\u00fcr sald\u0131r\u0131lar, sunucunuzun kaynaklar\u0131n\u0131 t\u00fcketebilir, g\u00fcvenlik loglar\u0131n\u0131z\u0131 doldurabilir ve en \u00f6nemlisi, ba\u015far\u0131l\u0131 olduklar\u0131nda sunucunuzun tamamen ele ge\u00e7irilmesine yol a\u00e7abilir.<\/p>\n<p>\u0130\u015fte tam da bu noktada Fail2Ban devreye girer. Fail2Ban, sunucu log dosyalar\u0131n\u0131 izleyerek belirli say\u0131da ba\u015far\u0131s\u0131z oturum a\u00e7ma denemesi yapan IP adreslerini otomatik olarak engelleyen, log tabanl\u0131 bir g\u00fcvenlik arac\u0131d\u0131r. CentOS 7 i\u015fletim sistemi \u00fczerinde Fail2Ban kullanarak SSH hizmetinizi bu t\u00fcr sald\u0131r\u0131lardan nas\u0131l koruyaca\u011f\u0131n\u0131z\u0131 bu rehberde ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.<\/p>\n<h2>Fail2Ban Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z?<\/h2>\n<p>Fail2Ban, Python ile yaz\u0131lm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131 bir intrusion prevention (sald\u0131r\u0131 \u00f6nleme) yaz\u0131l\u0131m\u0131d\u0131r. Temel \u00e7al\u0131\u015fma prensibi, sunucu \u00fczerindeki \u00e7e\u015fitli hizmetlerin (SSH, web sunucular\u0131, FTP vb.) log dosyalar\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak izlemek ve \u00f6nceden tan\u0131mlanm\u0131\u015f kural setlerine (filtreler) uyan giri\u015fleri tespit etmektir. Bir IP adresi belirli bir s\u00fcre i\u00e7inde belirlenen say\u0131da ba\u015far\u0131s\u0131z deneme yaparsa, Fail2Ban bu IP adresini sunucunuzun g\u00fcvenlik duvar\u0131 (firewall) arac\u0131l\u0131\u011f\u0131yla otomatik olarak yasaklar.<\/p>\n<p><strong>Neden Fail2Ban Kullanmal\u0131s\u0131n\u0131z?<\/strong><\/p>\n<ul>\n<li><strong>Otomatik Koruma:<\/strong> Kaba kuvvet sald\u0131r\u0131lar\u0131n\u0131 manuel olarak takip etmek ve IP&#8217;leri engellemek yerine, Fail2Ban bu s\u00fcreci tamamen otomatikle\u015ftirir.<\/li>\n<li><strong>Kaynak Tasarrufu:<\/strong> Sald\u0131rgan IP&#8217;lerin erken a\u015famada engellenmesi, sunucunuzun i\u015flemci ve a\u011f kaynaklar\u0131n\u0131n bo\u015fa harcanmas\u0131n\u0131 \u00f6nler. Bu, \u00f6zellikle yo\u011fun sald\u0131r\u0131 alt\u0131nda olan sunucular i\u00e7in \u00f6nemlidir.<\/li>\n<li><strong>Geli\u015fmi\u015f G\u00fcvenlik Post\u00fcr\u00fc:<\/strong> Fail2Ban, sunucunuzun genel g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirir. Sald\u0131rganlar, denemeleri ba\u015far\u0131s\u0131z oldu\u011funda h\u0131zla engellendi\u011fi i\u00e7in hedeflerini de\u011fi\u015ftirmeye zorlan\u0131r.<\/li>\n<li><strong>Esneklik:<\/strong> SSH&#8217;in yan\u0131 s\u0131ra Apache, Nginx, Postfix, Dovecot gibi bir\u00e7ok farkl\u0131 hizmeti korumak i\u00e7in yap\u0131land\u0131r\u0131labilir.<\/li>\n<li><strong>Kurulum Kolayl\u0131\u011f\u0131:<\/strong> CentOS 7 gibi pop\u00fcler da\u011f\u0131t\u0131mlarda kurulumu ve temel yap\u0131land\u0131rmas\u0131 olduk\u00e7a basittir.<\/li>\n<\/ul>\n<p>Fail2Ban, log dosyalar\u0131n\u0131 d\u00fczenli ifade (regex) desenleri kullanarak tarar. Bu desenler, ba\u015far\u0131s\u0131z giri\u015f denemelerini veya di\u011fer \u015f\u00fcpheli etkinlikleri tan\u0131mlar. Bir e\u015fle\u015fme bulundu\u011funda, Fail2Ban, iptables (veya firewalld) kurallar\u0131n\u0131 kullanarak ilgili IP adresini belirli bir s\u00fcre boyunca engeller. Bu s\u00fcre sona erdi\u011finde, IP adresi otomatik olarak yasakl\u0131 listesinden \u00e7\u0131kar\u0131l\u0131r.<\/p>\n<h2>Fail2Ban Kurulumu ve Temel Yap\u0131land\u0131rmas\u0131<\/h2>\n<h3>CentOS 7&#8217;de Fail2Ban Kurulumu<\/h3>\n<p>CentOS 7&#8217;de Fail2Ban&#8217;\u0131 kurmadan \u00f6nce, genellikle EPEL (Extra Packages for Enterprise Linux) deposunu etkinle\u015ftirmeniz gerekir, \u00e7\u00fcnk\u00fc Fail2Ban varsay\u0131lan CentOS depolar\u0131nda bulunmaz.<\/p>\n<ol>\n<li><strong>EPEL Deposunu Etkinle\u015ftirme:<\/strong><br \/>\n        <code>sudo yum install epel-release -y<\/code><\/li>\n<li><strong>Fail2Ban Kurulumu:<\/strong><br \/>\n        EPEL deposu etkinle\u015ftirildikten sonra, Fail2Ban ve systemd deste\u011fini kurabilirsiniz.<br \/>\n        <code>sudo yum install fail2ban fail2ban-systemd -y<\/code><\/li>\n<li><strong>Fail2Ban Servisini Ba\u015flatma ve Etkinle\u015ftirme:<\/strong><br \/>\n        Kurulum tamamland\u0131ktan sonra, Fail2Ban servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirin.<br \/>\n        <code>sudo systemctl start fail2ban<\/code><br \/>\n        <code>sudo systemctl enable fail2ban<\/code><\/li>\n<li><strong>Servis Durumunu Kontrol Etme:<\/strong><br \/>\n        Servisin d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<br \/>\n        <code>sudo systemctl status fail2ban<\/code><br \/>\n        \u00c7\u0131kt\u0131da &#8220;Active: active (running)&#8221; ifadesini g\u00f6rmelisiniz.<\/li>\n<\/ol>\n<h3>Yap\u0131land\u0131rma Dosyalar\u0131 ve Mant\u0131\u011f\u0131<\/h3>\n<p>Fail2Ban&#8217;\u0131n yap\u0131land\u0131rma dosyalar\u0131 <code>\/etc\/fail2ban\/<\/code> dizininde bulunur. En \u00f6nemli yap\u0131land\u0131rma dosyalar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><code>jail.conf<\/code>: Fail2Ban&#8217;\u0131n ana yap\u0131land\u0131rma dosyas\u0131d\u0131r ve varsay\u0131lan ayarlar\u0131 i\u00e7erir. <strong>Bu dosyay\u0131 do\u011frudan d\u00fczenlemeniz \u00f6nerilmez.<\/strong> Gelecekteki g\u00fcncellemelerde ayarlar\u0131n\u0131z\u0131n \u00fczerine yaz\u0131lmas\u0131n\u0131 \u00f6nlemek i\u00e7in bunun yerine <code>jail.local<\/code> dosyas\u0131n\u0131 kullanmal\u0131s\u0131n\u0131z.<\/li>\n<li><code>jail.local<\/code>: <code>jail.conf<\/code> dosyas\u0131ndaki varsay\u0131lan ayarlar\u0131 ge\u00e7ersiz k\u0131lmak ve \u00f6zel yap\u0131land\u0131rmalar\u0131n\u0131z\u0131 yapmak i\u00e7in kulland\u0131\u011f\u0131n\u0131z dosyad\u0131r. En iyi uygulama, <code>jail.conf<\/code> dosyas\u0131n\u0131 bu konuma kopyalamak ve de\u011fi\u015fikliklerinizi burada yapmakt\u0131r.<\/li>\n<li><code>filter.d\/<\/code>: Bu dizin, farkl\u0131 hizmetler i\u00e7in log dosyalar\u0131n\u0131 taramakta kullan\u0131lan d\u00fczenli ifade (regex) filtrelerini i\u00e7erir. \u00d6rne\u011fin, <code>sshd.conf<\/code> SSH i\u00e7in filtreleri tan\u0131mlar.<\/li>\n<li><code>action.d\/<\/code>: Bu dizin, bir IP adresi yasakland\u0131\u011f\u0131nda hangi eylemlerin ger\u00e7ekle\u015ftirilece\u011fini tan\u0131mlayan komut dosyalar\u0131n\u0131 i\u00e7erir (\u00f6rne\u011fin, iptables kurallar\u0131n\u0131 eklemek veya e-posta g\u00f6ndermek).<\/li>\n<\/ul>\n<h3>Temel <code>jail.local<\/code> Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>\u00d6ncelikle, <code>jail.conf<\/code> dosyas\u0131n\u0131 <code>jail.local<\/code> olarak kopyalayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/fail2ban\/jail.conf \/etc\/fail2ban\/jail.local<\/code><\/pre>\n<p>\u015eimdi <code>\/etc\/fail2ban\/jail.local<\/code> dosyas\u0131n\u0131 favori metin d\u00fczenleyicinizle a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/fail2ban\/jail.local<\/code><\/pre>\n<p>Dosyan\u0131n ba\u015f\u0131nda, <code>[DEFAULT]<\/code> b\u00f6l\u00fcm\u00fc alt\u0131nda baz\u0131 genel ayarlar\u0131 yap\u0131land\u0131rabilirsiniz:<\/p>\n<ul>\n<li><code>bantime<\/code>: Bir IP adresinin ne kadar s\u00fcreyle yasaklanaca\u011f\u0131n\u0131 saniye cinsinden belirtir. Varsay\u0131lan genellikle 10 dakikad\u0131r (600 saniye). Daha uzun bir s\u00fcre (\u00f6rne\u011fin, 1 saat) i\u00e7in <code>3600<\/code> veya <code>1h<\/code> kullanabilirsiniz.<\/li>\n<li><code>findtime<\/code>: Fail2Ban&#8217;\u0131n ba\u015far\u0131s\u0131z denemeleri saymak i\u00e7in geriye do\u011fru ne kadar s\u00fcreye bakaca\u011f\u0131n\u0131 saniye cinsinden belirtir. Varsay\u0131lan 10 dakikad\u0131r (600 saniye).<\/li>\n<li><code>maxretry<\/code>: <code>findtime<\/code> s\u00fcresi i\u00e7inde bir IP adresinin ka\u00e7 ba\u015far\u0131s\u0131z deneme yapmas\u0131na izin verildi\u011fini belirtir. Bu say\u0131ya ula\u015f\u0131ld\u0131\u011f\u0131nda IP yasaklan\u0131r. Varsay\u0131lan 5&#8217;tir.<\/li>\n<li><code>ignoreip<\/code>: Yasaklanmayacak IP adreslerini veya IP aral\u0131klar\u0131n\u0131 tan\u0131mlar. Kendi IP adresinizi buraya eklemeniz \u00f6nemlidir, aksi takdirde yanl\u0131\u015fl\u0131kla kendinizi yasaklayabilirsiniz. Birden fazla IP adresi bo\u015flukla ayr\u0131l\u0131r.<\/li>\n<\/ul>\n<p>\u00d6rnek <code>[DEFAULT]<\/code> yap\u0131land\u0131rmas\u0131:<\/p>\n<pre><code class=\"language-ini\">[DEFAULT]\nignoreip = 127.0.0.1\/8 ::1 192.168.1.0\/24 203.0.113.50\nbantime  = 1h\nfindtime = 10m\nmaxretry = 5\nbanaction = firewallcmd-ipset\ndestemail = root@localhost\nsendername = Fail2Ban\nmta = sendmail<\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte:<\/p>\n<ul>\n<li><code>ignoreip<\/code>: Yerel d\u00f6ng\u00fc (loopback) ve <code>192.168.1.0\/24<\/code> yerel a\u011f ile <code>203.0.113.50<\/code> statik bir d\u0131\u015f IP adresi beyaz listeye al\u0131nm\u0131\u015ft\u0131r. Kendi d\u0131\u015f IP adresinizi buraya eklemeyi unutmay\u0131n.<\/li>\n<li><code>bantime<\/code>: Yasaklama s\u00fcresi 1 saat olarak ayarlanm\u0131\u015ft\u0131r.<\/li>\n<li><code>findtime<\/code>: 10 dakikal\u0131k bir pencere i\u00e7inde denemeler say\u0131l\u0131r.<\/li>\n<li><code>maxretry<\/code>: 5 ba\u015far\u0131s\u0131z deneme sonras\u0131 yasaklama ger\u00e7ekle\u015fir.<\/li>\n<li><code>banaction<\/code>: CentOS 7&#8217;de varsay\u0131lan g\u00fcvenlik duvar\u0131 olan <code>firewalld<\/code> ile entegrasyon i\u00e7in <code>firewallcmd-ipset<\/code> kullan\u0131lmas\u0131 \u00f6nerilir.<\/li>\n<\/ul>\n<h2>Geli\u015fmi\u015f Yap\u0131land\u0131rma ve SSH Korumas\u0131<\/h2>\n<h3>SSH Jail&#8217;i \u00d6zelle\u015ftirme<\/h3>\n<p><code>jail.local<\/code> dosyas\u0131nda a\u015fa\u011f\u0131ya do\u011fru kayd\u0131rarak <code>[sshd]<\/code> b\u00f6l\u00fcm\u00fcn\u00fc bulun. Bu b\u00f6l\u00fcm, SSH hizmeti i\u00e7in \u00f6zel Fail2Ban kurallar\u0131n\u0131 tan\u0131mlar. Varsay\u0131lan olarak bu b\u00f6l\u00fcm pasif (yorum sat\u0131r\u0131) olabilir veya <code>enabled = false<\/code> olarak ayarlanm\u0131\u015f olabilir. SSH korumas\u0131n\u0131 etkinle\u015ftirmek i\u00e7in <code>enabled = true<\/code> olarak ayarlaman\u0131z gerekir.<\/p>\n<pre><code class=\"language-ini\">[sshd]\nenabled = true\nport    = ssh\nlogpath = %(sshd_log)s\nbackend = %(sshd_backend)s<\/code><\/pre>\n<p>Bu temel ayarlar genellikle yeterlidir, ancak gerekirse <code>bantime<\/code>, <code>findtime<\/code> ve <code>maxretry<\/code> parametrelerini bu b\u00f6l\u00fcme ekleyerek sadece SSH hizmeti i\u00e7in \u00f6zel de\u011ferler tan\u0131mlayabilirsiniz. E\u011fer bu parametreler <code>[sshd]<\/code> b\u00f6l\u00fcm\u00fcnde tan\u0131mlanmazsa, <code>[DEFAULT]<\/code> b\u00f6l\u00fcm\u00fcndeki de\u011ferler kullan\u0131l\u0131r.<\/p>\n<p>\u00d6rne\u011fin, SSH i\u00e7in daha agresif bir yasaklama politikas\u0131 uygulamak isterseniz:<\/p>\n<pre><code class=\"language-ini\">[sshd]\nenabled = true\nport    = ssh\nlogpath = %(sshd_log)s\nbackend = %(sshd_backend)s\nmaxretry = 3      ; 3 ba\u015far\u0131s\u0131z deneme\nbantime  = 1d      ; 1 g\u00fcn yasaklama<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> E\u011fer SSH servisini varsay\u0131lan 22 portundan farkl\u0131 bir portta \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, <code>port<\/code> parametresini bu yeni port numaras\u0131n\u0131 yans\u0131tacak \u015fekilde g\u00fcncellemeniz gerekir. \u00d6rne\u011fin, SSH 2222 portunda \u00e7al\u0131\u015f\u0131yorsa:<\/p>\n<pre><code class=\"language-ini\">[sshd]\nenabled = true\nport    = 2222\nlogpath = %(sshd_log)s\nbackend = %(sshd_backend)s<\/code><\/pre>\n<p>Yap\u0131land\u0131rma dosyas\u0131nda de\u011fi\u015fiklik yapt\u0131ktan sonra, Fail2Ban hizmetini yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart fail2ban<\/code><\/pre>\n<h3>Fail2Ban Durumunu Kontrol Etme<\/h3>\n<p>Fail2Ban&#8217;\u0131n genel durumunu ve hangi &#8220;jail&#8221;lerin (hapishanelerin) etkin oldu\u011funu g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo fail2ban-client status<\/code><\/pre>\n<p>Bu komut, etkin &#8220;jail&#8221;lerin bir listesini g\u00f6sterecektir. \u00c7\u0131kt\u0131da <code>sshd<\/code>&#8216;yi g\u00f6rmelisiniz.<\/p>\n<p>Belirli bir &#8220;jail&#8221;in durumunu (\u00f6rne\u011fin, <code>sshd<\/code>) ve hangi IP adreslerinin yasakland\u0131\u011f\u0131n\u0131 g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo fail2ban-client status sshd<\/code><\/pre>\n<p>Bu komut, o an i\u00e7in yasaklanm\u0131\u015f IP adreslerinin bir listesini g\u00f6sterecektir.<\/p>\n<p>Yanl\u0131\u015fl\u0131kla yasaklad\u0131\u011f\u0131n\u0131z bir IP adresini manuel olarak serbest b\u0131rakmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo fail2ban-client unban <IP_ADRESI><\/code><\/pre>\n<p>\u00d6rne\u011fin: <code>sudo fail2ban-client unban 192.0.2.10<\/code><\/p>\n<h3>Fail2Ban Loglar\u0131<\/h3>\n<p>Fail2Ban&#8217;\u0131n t\u00fcm aktivitelerini <code>\/var\/log\/fail2ban.log<\/code> dosyas\u0131nda bulabilirsiniz. Bu log dosyas\u0131, hangi IP&#8217;lerin ne zaman yasakland\u0131\u011f\u0131n\u0131, hangi kurala tak\u0131ld\u0131\u011f\u0131n\u0131 ve ne zaman serbest b\u0131rak\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6sterir. D\u00fczenli olarak bu loglar\u0131 kontrol etmek, sisteminize y\u00f6nelik sald\u0131r\u0131 giri\u015fimleri hakk\u0131nda bilgi edinmenizi sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo tail -f \/var\/log\/fail2ban.log<\/code><\/pre>\n<p>Bu komut, log dosyas\u0131n\u0131n sonunu ger\u00e7ek zamanl\u0131 olarak izlemenizi sa\u011flar.<\/p>\n<h2>Pratik \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h2>\n<h3>SSH Portunu De\u011fi\u015ftirmek<\/h3>\n<p>Varsay\u0131lan SSH portu (22), sald\u0131rganlar taraf\u0131ndan en \u00e7ok hedeflenen porttur. Portu de\u011fi\u015ftirmek, kaba kuvvet sald\u0131r\u0131lar\u0131n\u0131n hacmini \u00f6nemli \u00f6l\u00e7\u00fcde azaltabilir, \u00e7\u00fcnk\u00fc \u00e7o\u011fu otomatik bot sadece varsay\u0131lan portu tarar. Bu bir g\u00fcvenlik mekanizmas\u0131 de\u011fil, bir &#8220;gizleme&#8221; (security through obscurity) y\u00f6ntemidir, ancak yine de faydal\u0131d\u0131r.<\/p>\n<ol>\n<li><strong><code>sshd_config<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><br \/>\n        <code>sudo vi \/etc\/ssh\/sshd_config<\/code><br \/>\n        <code>Port 22<\/code> sat\u0131r\u0131n\u0131 bulun ve \u00f6rne\u011fin <code>Port 2222<\/code> olarak de\u011fi\u015ftirin.<\/li>\n<li><strong>SELinux ayarlar\u0131n\u0131 g\u00fcncelleyin:<\/strong><br \/>\n        E\u011fer SELinux etkinse, yeni port i\u00e7in izin vermeniz gerekir:<br \/>\n        <code>sudo semanage port -a -t ssh_port_t -p tcp 2222<\/code><\/li>\n<li><strong>Firewall&#8217;\u0131 g\u00fcncelleyin:<\/strong><br \/>\n        Yeni port i\u00e7in firewall&#8217;da izin vermeniz ve eski portu kapatman\u0131z gerekir:<br \/>\n        <code>sudo firewall-cmd --permanent --add-port=2222\/tcp<\/code><br \/>\n        <code>sudo firewall-cmd --permanent --remove-port=22\/tcp<\/code><br \/>\n        <code>sudo firewall-cmd --reload<\/code><\/li>\n<li><strong>SSH servisini yeniden ba\u015flat\u0131n:<\/strong><br \/>\n        <code>sudo systemctl restart sshd<\/code><\/li>\n<li><strong>Fail2Ban yap\u0131land\u0131rmas\u0131n\u0131 g\u00fcncelleyin:<\/strong><br \/>\n        <code>jail.local<\/code> dosyas\u0131ndaki <code>[sshd]<\/code> b\u00f6l\u00fcm\u00fcndeki <code>port<\/code> parametresini yeni port numaran\u0131zla g\u00fcncelleyin (yukar\u0131da g\u00f6sterildi\u011fi gibi).<br \/>\n        <code>sudo systemctl restart fail2ban<\/code><\/li>\n<\/ol>\n<h3>SSH Anahtar Do\u011frulamas\u0131 Kullanmak<\/h3>\n<p>Parola tabanl\u0131 kimlik do\u011frulama yerine SSH anahtar \u00e7iftleri kullanmak, SSH g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu y\u00f6ntem, kaba kuvvet sald\u0131r\u0131lar\u0131n\u0131 neredeyse i\u015fe yaramaz hale getirir, \u00e7\u00fcnk\u00fc anahtarlar\u0131n tahmin edilmesi pratik olarak imkans\u0131zd\u0131r. Fail2Ban, parola tabanl\u0131 sald\u0131r\u0131lara kar\u015f\u0131 koruma sa\u011flarken, anahtar tabanl\u0131 kimlik do\u011frulama, kimlik do\u011frulama s\u00fcrecini temelden g\u00fc\u00e7lendirir.<\/p>\n<h3>G\u00fc\u00e7l\u00fc Parola Politikas\u0131<\/h3>\n<p>E\u011fer parola tabanl\u0131 kimlik do\u011frulamay\u0131 kullanmaya devam ediyorsan\u0131z, t\u00fcm kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in g\u00fc\u00e7l\u00fc ve karma\u015f\u0131k parolalar kullanmalar\u0131n\u0131 zorunlu k\u0131l\u0131n. Fail2Ban sadece ba\u015far\u0131s\u0131z denemeleri engeller, ancak zay\u0131f bir parola, ilk birka\u00e7 denemede tahmin edilebilir ve Fail2Ban&#8217;\u0131n devreye girmesine f\u0131rsat kalmadan eri\u015fim sa\u011flanabilir.<\/p>\n<h3>Fail2Ban Loglar\u0131n\u0131 D\u00fczenli Kontrol Etmek<\/h3>\n<p><code>\/var\/log\/fail2ban.log<\/code> dosyas\u0131n\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irin. Bu, sunucunuza y\u00f6nelik sald\u0131r\u0131lar\u0131n t\u00fcrleri, kaynak IP adresleri ve s\u0131kl\u0131\u011f\u0131 hakk\u0131nda de\u011ferli bilgiler sa\u011flar. Bu bilgiler, g\u00fcvenlik stratejinizi daha da optimize etmenize yard\u0131mc\u0131 olabilir.<\/p>\n<h3>Beyaz Liste (Whitelist) Kullan\u0131m\u0131<\/h3>\n<p><code>jail.local<\/code> dosyas\u0131ndaki <code>ignoreip<\/code> parametresini kullanarak kendi IP adreslerinizi veya s\u0131k\u00e7a eri\u015fti\u011finiz g\u00fcvenilir a\u011flar\u0131 beyaz listeye eklemeyi kesinlikle unutmay\u0131n. Bu, yanl\u0131\u015fl\u0131kla kendinizi engellemenizi \u00f6nler ve kesintisiz eri\u015fim sa\u011flar.<\/p>\n<h3>Sistem G\u00fcncellemeleri<\/h3>\n<p>Fail2Ban ve i\u015fletim sisteminizin di\u011fer t\u00fcm bile\u015fenlerini d\u00fczenli olarak g\u00fcncel tutun. Yaz\u0131l\u0131m g\u00fcncellemeleri genellikle g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r ve performans\u0131 iyile\u015ftirir.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Fail2Ban, CentOS 7 sunucular\u0131n\u0131zda SSH hizmetinizi kaba kuvvet sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korumak i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r. Kurulumu ve yap\u0131land\u0131rmas\u0131 nispeten kolay olmas\u0131na ra\u011fmen, sundu\u011fu g\u00fcvenlik katman\u0131 olduk\u00e7a etkilidir. Bu rehberde anlat\u0131lan ad\u0131mlar\u0131 ve en iyi uygulamalar\u0131 takip ederek, sunucunuzun g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilirsiniz. Unutmay\u0131n ki Fail2Ban tek ba\u015f\u0131na bir \u00e7\u00f6z\u00fcm de\u011fildir; g\u00fc\u00e7l\u00fc parolalar, anahtar tabanl\u0131 kimlik do\u011frulama, SSH portunu de\u011fi\u015ftirme ve d\u00fczenli sistem g\u00fcncellemeleri gibi di\u011fer g\u00fcvenlik \u00f6nlemleriyle birlikte kullan\u0131ld\u0131\u011f\u0131nda en y\u00fcksek verimi sa\u011flayacakt\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>Fail2Ban beni de banlarsa ne yapmal\u0131y\u0131m?<\/strong><\/p>\n<p>\u00d6ncelikle, eri\u015fiminizin engellenmemesi i\u00e7in kendi IP adresinizi <code>jail.local<\/code> dosyas\u0131ndaki <code>ignoreip<\/code> listesine eklemelisiniz. E\u011fer yanl\u0131\u015fl\u0131kla yasakland\u0131ysan\u0131z, farkl\u0131 bir IP adresi (\u00f6rne\u011fin mobil veri veya ba\u015fka bir a\u011f) \u00fczerinden sunucuya eri\u015fip <code>sudo fail2ban-client unban <YASAKLI_IP_ADRESI><\/code> komutunu kullanarak kendinizi serbest b\u0131rakabilirsiniz. Alternatif olarak, sunucunuzun konsoluna do\u011frudan eri\u015fiminiz varsa (fiziksel veya sanal konsol), bu komutu oradan \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<p><strong>Fail2Ban sadece SSH i\u00e7in mi kullan\u0131l\u0131r?<\/strong><\/p>\n<p>Hay\u0131r, Fail2Ban \u00e7ok y\u00f6nl\u00fc bir ara\u00e7t\u0131r. SSH&#8217;in yan\u0131 s\u0131ra Apache (web sunucusu), Nginx, Postfix (e-posta sunucusu), Dovecot (IMAP\/POP3), FTP sunucular\u0131 ve di\u011fer bir\u00e7ok hizmet i\u00e7in de kaba kuvvet sald\u0131r\u0131lar\u0131n\u0131 veya \u015f\u00fcpheli etkinlikleri izleyebilir ve engelleyebilir. Her hizmet i\u00e7in ayr\u0131 &#8220;jail&#8221;ler yap\u0131land\u0131r\u0131l\u0131r.<\/p>\n<p><strong>Fail2Ban performans\u0131 etkiler mi?<\/strong><\/p>\n<p>Fail2Ban&#8217;\u0131n performansa etkisi genellikle ihmal edilebilir d\u00fczeydedir. Log dosyalar\u0131n\u0131 okur ve d\u00fczenli ifadeleri e\u015fle\u015ftirir, bu da modern sunucular i\u00e7in hafif bir y\u00fckt\u00fcr. Y\u00fcksek trafikli veya \u00e7ok say\u0131da hizmeti olan sunucularda bile, etkisi genellikle fark edilmez. Asl\u0131nda, kaba kuvvet sald\u0131r\u0131lar\u0131n\u0131 engelleyerek sunucunun kaynaklar\u0131n\u0131 k\u00f6t\u00fcye kullan\u0131m\u0131ndan korudu\u011fu i\u00e7in dolayl\u0131 olarak performans\u0131 iyile\u015ftirebilir.<\/p>\n<p><strong>Fail2Ban yerine ba\u015fka ne kullanabilirim?<\/strong><\/p>\n<p>Fail2Ban&#8217;a benzer i\u015flevsellik sunan ba\u015fka ara\u00e7lar da vard\u0131r, ancak Fail2Ban en pop\u00fcler ve yayg\u0131n kullan\u0131lan \u00e7\u00f6z\u00fcmlerden biridir. Alternatifler aras\u0131nda CSF\/LFD (ConfigServer Security &#038; Firewall \/ Login Failure Daemon) gibi daha kapsaml\u0131 g\u00fcvenlik duvar\u0131 \u00e7\u00f6z\u00fcmleri veya \u00f6zel intrusion detection\/prevention sistemleri (IDS\/IPS) bulunabilir. Ancak Fail2Ban, \u00f6zellikle log tabanl\u0131 kaba kuvvet korumas\u0131 i\u00e7in m\u00fckemmel bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<p><strong><code>jail.conf<\/code> yerine neden <code>jail.local<\/code> kullanmal\u0131y\u0131m?<\/strong><\/p>\n<p><code>jail.conf<\/code>, Fail2Ban&#8217;\u0131n varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131d\u0131r ve yaz\u0131l\u0131m g\u00fcncellemeleri s\u0131ras\u0131nda \u00fczerine yaz\u0131labilir. <code>jail.local<\/code> ise yerel yap\u0131land\u0131rmalar\u0131n\u0131z i\u00e7in ayr\u0131lm\u0131\u015f bir dosyad\u0131r ve g\u00fcncellemelerden etkilenmez. Bu, \u00f6zel ayarlar\u0131n\u0131z\u0131n kaybolmamas\u0131n\u0131 sa\u011flar ve yap\u0131land\u0131rma y\u00f6netimini daha g\u00fcvenli hale getirir. Fail2Ban, <code>jail.local<\/code> dosyas\u0131ndaki ayarlar\u0131n <code>jail.conf<\/code> dosyas\u0131ndaki ayn\u0131 parametreleri ge\u00e7ersiz k\u0131laca\u011f\u0131n\u0131 otomatik olarak bilir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Giri\u015f\nSunucu g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda her zamankinden daha kritik bir \u00f6neme sahiptir. \u00d6zellikle internete a\u00e7\u0131k sunucular","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":[241],"tags":[],"class_list":{"0":"post-37573","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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>How To Protect SSH With Fail2Ban on CentOS 7 - 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\/how-to-protect-ssh-with-fail2ban-on-centos-7\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Protect SSH With Fail2Ban on CentOS 7\" \/>\n<meta property=\"og:description\" content=\"Giri\u015f Sunucu g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda her zamankinden daha kritik bir \u00f6neme sahiptir. \u00d6zellikle internete a\u00e7\u0131k sunucular\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-09T11:41:41+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=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"How To Protect SSH With Fail2Ban on CentOS 7\",\"datePublished\":\"2026-01-09T11:41:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/\"},\"wordCount\":2326,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/\",\"name\":\"How To Protect SSH With Fail2Ban on CentOS 7 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-09T11:41:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Protect SSH With Fail2Ban on CentOS 7\"}]},{\"@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":"How To Protect SSH With Fail2Ban on CentOS 7 - 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\/how-to-protect-ssh-with-fail2ban-on-centos-7\/","og_locale":"tr_TR","og_type":"article","og_title":"How To Protect SSH With Fail2Ban on CentOS 7","og_description":"Giri\u015f Sunucu g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda her zamankinden daha kritik bir \u00f6neme sahiptir. \u00d6zellikle internete a\u00e7\u0131k sunucular","og_url":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-09T11:41:41+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"How To Protect SSH With Fail2Ban on CentOS 7","datePublished":"2026-01-09T11:41:41+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/"},"wordCount":2326,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/","url":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/","name":"How To Protect SSH With Fail2Ban on CentOS 7 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-09T11:41:41+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/how-to-protect-ssh-with-fail2ban-on-centos-7\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How To Protect SSH With Fail2Ban on CentOS 7"}]},{"@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\/37573","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=37573"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37573\/revisions"}],"predecessor-version":[{"id":37574,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37573\/revisions\/37574"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}