Web sitenizin erişim kayıtlarına ilk kez dikkatli baktığınızda çoğu kişi aynı şeyi fark eder: trafiğin küçük olmayan bir kısmı gerçek ziyaretçilerden değil, hiç durmadan sizi yoklayan botlardan gelir. Bir IP wp-login.php sayfasına dakikada onlarca parola denemesi yollar, bir başkası iletişim formunuza durmadan spam basar, bir diğeri var olmayan .env ve .git yollarını tarayarak sızabileceği bir açık arar. Bu trafik sadece sinir bozucu değildir; CPU tüketir, hata kayıtlarınızı kirletir ve bazen paylaşımlı sunucularda site hızınızı gözle görülür biçimde düşürür. İşte bu noktada cPanel'in sade ama etkili aracı devreye girer: IP Engelleyici, yani IP Blocker.
IP Engelleyici, adının söylediği işi yapar; belirlediğiniz bir IP adresini, bir IP aralığını ya da tüm bir alt ağı web sunucusu düzeyinde reddeder. Bunu yaparken arka planda ürettiği şey aslında sitenizin kök dizinindeki .htaccess dosyasına yazılan basit "deny" kurallarıdır. Bu rehberde aracı nasıl kullanacağınızı, tek IP ile CIDR bloğu arasındaki farkı, erişim kayıtlarından saldırgan bir IP'yi nasıl ayıklayacağınızı, yanlışlıkla kendinizi kilitlememek için nelere dikkat etmeniz gerektiğini ve bu aracın nerede yetersiz kalıp yerini gerçek bir güvenlik duvarına bırakması gerektiğini kıdemli bir sistem yöneticisi gözüyle anlatacağım.
cPanel IP Engelleyici Nedir ve Ne Zaman Kullanılır#
IP Engelleyici, cPanel'in "Güvenlik" (Security) bölümünde yer alan bir araçtır. Amacı, belirli kaynaklardan gelen HTTP isteklerini daha sitenizin PHP koduna ulaşmadan, Apache seviyesinde reddetmektir. Engellenen bir IP siteye bağlanmaya çalıştığında sunucu ona 403 Forbidden yanıtı döner ve istek WordPress'e, formunuza ya da uygulamanıza hiç ulaşmaz. Bu, "site içi" bir eklentiyle kurulan filtreye göre daha erken ve daha ucuz bir savunmadır çünkü isteği durdurmak için yorumlayıcının uyanmasına bile gerek kalmaz.
Bu aracı kullanmanın klasik senaryoları bellidir. Erişim kayıtlarında tek bir IP'nin belirgin biçimde kötü davrandığını görürsünüz; giriş sayfanıza kaba kuvvet saldırısı yapıyordur, aynı yorum spam'ini yüzlerce kez gönderiyordur ya da bilinen zafiyet yollarını tarıyordur. Belki bir ülkeden ya da bir barındırma sağlayıcısının IP bloğundan gelen otomatik trafik canınızı sıkmaktadır. Bu gibi durumlarda tek bir adresi ya da tüm bir bloğu birkaç saniyede yasaklayabilirsiniz.
Aracın sınırını baştan bilmek de önemlidir. IP Engelleyici, .htaccess tabanlı olduğu için yalnızca Apache üzerinden geçen web trafiğini durdurur. SSH, FTP ya da e-posta gibi diğer servislere yapılan saldırılara etki etmez; onlar için sunucu düzeyinde bir güvenlik duvarı gerekir. Yine de günlük hosting yönetiminde, özellikle paylaşımlı barındırmada, saldırgan tek tük IP'leri hızlıca susturmanın en pratik yolu budur. Barındırma altyapınızı seçerken bu tür araçların hazır geldiği bir web hosting ya da WordPress hosting paketi, güvenlik yönetimini gözle görülür biçimde kolaylaştırır.
IP Engelleyici Aracına Nasıl Erişilir#
cPanel'e giriş yaptıktan sonra üstteki arama kutusuna "IP" yazmanız aracı bulmanın en hızlı yoludur; "IP Blocker" ya da Türkçe arayüzde "IP Engelleyici" olarak listelenir. Alternatif olarak "Güvenlik" (Security) bölümüne göz atarak da ulaşabilirsiniz. Aracı açtığınızda karşınıza tek bir metin kutusu ve altında o an engellenmiş adreslerin listesi çıkar.
Engelleme kutusuna gireceğiniz değer birkaç farklı biçimde olabilir. En yaygını tek bir IPv4 adresidir. Bir adresi yazıp "Ekle" (Add) düğmesine bastığınızda araç ilgili "deny" kuralını .htaccess dosyasına yazar ve engel anında yürürlüğe girer; sayfa yenileme ya da bekleme gerekmez. Aynı ekranda bir IP'yi engellemekten vazgeçmek de bir tık uzaktadır; listedeki adresin yanındaki "Sil" (Delete) bağlantısına basmanız yeterlidir. Bu sadeliği bir avantaj olarak görün: acil bir durumda saniyeler içinde bir saldırganı kesebilir, yanlış bir engellemeyi de aynı hızla geri alabilirsiniz.
Aracın kabul ettiği giriş biçimlerini bir tabloda toplayalım, çünkü hangi durumda hangisini kullanacağınızı bilmek işin özüdür.
| Giriş biçimi | Örnek | Ne engeller |
|---|---|---|
| Tek IPv4 adresi | 203.0.113.45 | Yalnızca o tek adresi |
| Klasik aralık | 203.0.113.0-203.0.113.255 | Başlangıç ve bitiş arası tüm adresleri |
| Kısaltılmış aralık | 203.0.113. | 203.0.113 ile başlayan tüm adresleri |
| CIDR gösterimi | 203.0.113.0/24 | 256 adreslik bloğu (0-255) |
| Alt ağ ima etme | 203.0.113 | /24 bloğunu ima eder |
Bu biçimlerin hepsi arka planda aynı sonuca, yani .htaccess içinde bir dizi "deny" kuralına dönüşür. Tabloya bakarak, sadece bir botu mu yoksa koca bir sağlayıcı bloğunu mu susturmak istediğinize göre doğru gösterimi seçebilirsiniz.
Tek IP, Aralık ve CIDR Gösterimini Anlamak#
Tek bir IP adresini engellemek en dar müdahaledir ve çoğu zaman ilk tercihiniz olmalıdır. Belirli bir adresten gelen saldırıyı görüyorsanız, önce yalnızca o adresi yasaklayın. Bunun nedeni basit: internetteki adreslerin önemli kısmı dinamiktir ve bugün sizi rahatsız eden IP, yarın masum bir kullanıcıya atanmış olabilir. Ne kadar dar bir engel koyarsanız, yan hasar riski o kadar düşer.
Bazı durumlarda ise saldırı tek bir adresten değil, bir bloktan gelir. Botnet'ler ve toplu tarama yapan sunucu çiftlikleri genellikle bitişik adres bloklarına sahiptir. Böyle bir durumda tek tek IP eklemek Sisifos'un işkencesine döner; siz bir adresi engellerken saldırgan komşusuna geçer. İşte burada CIDR (Classless Inter-Domain Routing) gösterimi devreye girer. /24 bir bloktaki 256 adresi, /16 ise 65.536 adresi tek satırda ifade eder.
CIDR'ın matematiğini kısaca oturtmakta fayda var, çünkü yanlış anlaşılması istemeden büyük bir kitleyi engellemenize yol açabilir. Aşağıdaki tablo en sık karşılaşacağınız blok boyutlarını gösterir.
| CIDR | İçerdiği adres sayısı | Örnek kapsam |
|---|---|---|
/32 | 1 | Yalnızca tek IP |
/29 | 8 | Küçük bir müşteri bloğu |
/24 | 256 | Bir "C sınıfı" alt ağ |
/16 | 65.536 | Büyük bir sağlayıcı bloğu |
/8 | 16.777.216 | Kocaman bir adres alanı |
Bir IP'nin hangi bloğa ait olduğunu ve o bloğun sahibini öğrenmek istediğinizde whois sorgusu işinizi görür. Komut satırından şu şekilde bakabilirsiniz:
whois 203.0.113.45 | grep -iE "netrange|cidr|orgname|country"
Bu sorgu size adresin ait olduğu aralığı ve sahibi kurumu gösterir. Eğer çıktıdaki CIDR alanı örneğin 203.0.113.0/24 diyorsa ve bu bloktan gelen birden çok saldırgan IP görüyorsanız, tek tek uğraşmak yerine tüm /24 bloğunu engellemek mantıklı olabilir. Ancak dikkatli olun: engellediğiniz blok ne kadar büyürse, içinde masum bir ziyaretçinin bulunma ihtimali o kadar artar. Bir /16 bloğunu engellemek, koskoca bir şehrin internet çıkışını sitenize kapatmak anlamına gelebilir. Kural basit: mümkün olan en dar bloğu seçin.
Access Log'dan Saldırgan IP'yi Bulmak#
Doğru IP'yi engellemenin ön koşulu, önce onu doğru şekilde tespit etmektir. Rastgele adres yasaklamak fayda getirmez; hedefi kayıtlardan bulmanız gerekir. cPanel'de "Ham Erişim" (Raw Access) aracından sıkıştırılmış erişim kayıtlarını indirebilir ya da SSH erişiminiz varsa doğrudan sunucu üzerinde inceleyebilirsiniz. Kayıtlar genelde şu tarz bir konumdadır:
/home/kullaniciadi/access-logs/example.com
Elinizdeki erişim kaydında en çok istek yapan IP'leri sıralamak, saldırganı ortaya çıkarmanın en hızlı yoludur. Aşağıdaki tek satırlık komut, kayıttaki tüm IP'leri sayıp en yoğun ilk on adresi listeler:
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -10
Çıktıda bir IP'nin diğerlerinden orantısız biçimde önde olduğunu görürseniz, bu güçlü bir işarettir. Örneğin normal ziyaretçiler dakikada birkaç istek yaparken, tek bir adresin binlerce isteğe ulaştığını görüyorsanız o adres neredeyse kesinlikle bir bottur. Şüphelendiğiniz IP'nin ne yaptığını daha yakından incelemek için o adrese ait satırları süzün:
grep "203.0.113.45" access.log | tail -20
Bu komutun çıktısında hangi yolları istediğine bakın. Sürekli wp-login.php, xmlrpc.php, /administrator ya da /.env gibi hassas yollara vuruyorsa niyeti bellidir. Bir başka güçlü ipucu da POST isteklerinin sıklığıdır; kaba kuvvet saldırıları giriş formuna arka arkaya POST yağdırır. Belirli bir yola saldıran IP'leri toplu bulmak için ise şu kalıbı kullanabilirsiniz:
grep "POST /wp-login.php" access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
Saldırgan IP'yi tespit ettikten sonra onu doğrudan cPanel IP Engelleyici kutusuna yazarak yasaklayabilirsiniz. Hangi yolların en çok hedef alındığını ve hataların nereden geldiğini daha geniş bir perspektifle görmek isterseniz, cPanel hata kayıtlarını incelemek ve genel sunucu güvenliği yaklaşımını oturtmak için sunucu güvenliği temelleri rehberimiz iyi bir tamamlayıcı olur.
Aracın Ürettiği .htaccess Kurallarını Anlamak#
IP Engelleyici sihirli bir kutu değildir; yaptığı iş, aslında sizin de elle yazabileceğiniz basit erişim kurallarını .htaccess dosyasına eklemektir. Bunu bilmek iki açıdan değerlidir: hem aracın ne yaptığını gözünüzle görürsünüz hem de gerektiğinde kuralları elle düzenleyebilirsiniz. Bir IP'yi engellediğinizde, sitenizin kök dizinindeki .htaccess dosyasına aşağıdaki gibi satırlar yazılır. Eski Apache 2.2 söz diziminde bu şöyle görünür:
<Limit GET POST PUT>
order allow,deny
deny from 203.0.113.45
deny from 198.51.100.0/24
allow from all
</Limit>
Daha yeni Apache 2.4 sürümlerinde ise söz dizimi biraz farklıdır ve Require yönergesi kullanılır. Aynı işi yapan modern karşılığı şudur:
<RequireAll>
Require all granted
Require not ip 203.0.113.45
Require not ip 198.51.100.0/24
</RequireAll>
Bu blokları anlamak, aracın yeteneklerini de aşmanıza olanak tanır. Örneğin belirli bir dizini yalnızca kendi ofis IP'nize açmak isterseniz, o dizine ayrı bir .htaccess koyup önce her şeyi reddedip yalnızca güvendiğiniz adrese izin verebilirsiniz:
<RequireAll>
Require ip 203.0.113.10
</RequireAll>
Elle düzenleme yaparken dikkatli olun; bir yazım hatası tüm sitenizin 500 Internal Server Error vermesine yol açabilir. Değişiklikten önce mutlaka dosyanın bir yedeğini alın. .htaccess mantığını ve yönlendirme, erişim kontrolü gibi ileri kullanımları derinlemesine öğrenmek isterseniz, konuya adanmış htaccess yönlendirme ve kural yazımı rehberimizi öneririm. Bu araç ve .htaccess ikilisi, web hosting ve reseller hosting planlarında güvenliğin ilk savunma hattını oluşturur.
Yanlışlıkla Kendinizi Engellememek#
IP Engelleyici ile ilgili en sık yaşanan ve en can sıkıcı hata, kişinin kendi IP'sini yasaklamasıdır. Bunu düşündüğünüzden daha kolay yaparsınız; özellikle geniş bir CIDR bloğu engellerken kendi bağlantınızın o bloğun içinde kalabileceğini gözden kaçırırsınız. Sonuç, siteye ve hatta bazı yapılandırmalarda cPanel'e erişiminizi kaybetmenizdir. Bu tuzağa düşmemek için önce kendi güncel IP adresinizi öğrenin:
curl -s https://ifconfig.me
Bu adresi bir yere not edin ve engelleyeceğiniz her bloğun bu adresi kapsamadığından emin olun. Bir IP'nin belirli bir CIDR bloğunun içinde olup olmadığını hızlıca kontrol etmek için Python'un hazır modülü işinizi görür:
python3 -c "import ipaddress; print(ipaddress.ip_address('203.0.113.10') in ipaddress.ip_network('203.0.113.0/24'))"
Çıktı True ise o adres bloğun içindedir; kendi IP'nizle bu testi yapıp yanlışlıkla kendinizi kapsama almadığınızı doğrulayın. Bir başka önemli nokta, birçok ev ve mobil bağlantının dinamik IP kullanmasıdır. Bugünkü adresiniz yarın değişebileceği için, kendinizi "izin listesine" almak güvenilir bir yöntem değildir; asıl güvence, engellediğiniz blokları dar tutmak ve büyük bloklardan kaçınmaktır.
Yine de kilitlenirseniz panik yapmayın. Barındırma sağlayıcınızın kontrol panelinden ya da bir mobil bağlantı gibi farklı bir IP üzerinden cPanel'e girip yanlış kuralı silebilirsiniz. En kötü senaryoda, dosya yöneticisine başka bir ağ üzerinden erişip .htaccess içindeki hatalı deny satırını elle temizleyebilirsiniz. Bu yüzden değişiklik yapmadan önce dosyanın yedeğini almak altın kuraldır; düzenli bir yedekleme alışkanlığı bu tür durumlarda hayat kurtarır.
IP Engelleyicinin Sınırları ve Firewall Alternatifi#
cPanel IP Engelleyici hızlı ve pratik bir araçtır, ancak her derde deva değildir; sınırlarını bilmek onu doğru kullanmanın yarısıdır. En temel kısıtı, yalnızca web trafiğini kapsamasıdır. .htaccess tabanlı olduğu için SSH'a, FTP'ye ya da posta sunucusuna yönelen saldırılara hiçbir etkisi yoktur. Kaba kuvvet saldırısı 22 numaralı porta geliyorsa, kaç web IP'si engellerseniz engelleyin fayda etmez.
İkinci sınır ölçeklenebilirliktir. .htaccess dosyasına yüzlerce, binlerce deny satırı biriktirmek performansı düşürür, çünkü Apache her istekte bu dosyayı yeniden okur ve kuralları teker teker değerlendirir. Elle tek tek IP eklemek, saldırganların IP'lerini sürekli değiştirdiği gerçeği karşısında bir süre sonra Sisifos'un taşına döner. Üçüncü olarak, bu araç tepki verir ama tahmin etmez; yalnızca zaten fark ettiğiniz kötü davranışı engeller, gelecekteki saldırıları otomatik sezmez.
Kalıcı ve ölçeklenebilir çözüm, sunucu düzeyinde bir güvenlik duvarıdır. Bir Linux güvenlik duvarı (örneğin nftables ya da iptables) trafiği web sunucusuna ulaşmadan, çekirdek katmanında keser; bu hem daha hızlı hem de tüm portları kapsayan bir savunmadır. Örneğin nftables ile tek bir kötü IP'yi engellemek şöyledir:
sudo nft add rule inet filter input ip saddr 203.0.113.45 drop
Daha da güçlüsü, saldırıları otomatik yakalayıp engelleyen Fail2ban gibi araçlardır. Fail2ban erişim ve kimlik doğrulama kayıtlarını izler; belirli sürede çok fazla başarısız denemesi olan IP'leri kendiliğinden güvenlik duvarına ekler. Yapılandırması şöyle bir mantıkla kurulur:
[sshd]
enabled = true
maxretry = 4
findtime = 600
bantime = 3600
Bu yapılandırma, on dakika içinde dört kez başarısız SSH girişi deneyen bir IP'yi bir saat boyunca yasaklar; üstelik siz uyurken bile çalışır. Bu düzeydeki koruma cPanel IP Engelleyici'nin yapabileceğinin ötesindedir ve genellikle bir VDS sunucu ya da sanal sunucu üzerinde tam kök yetkisiyle uygulanır. Kendi güvenlik duvarınızı yönetmek istemiyorsanız, sunucu yönetimi hizmetiyle bu katmanı uzmanlara bırakabilir; uygulama katmanındaki saldırılar için ise WAF ve DDoS koruma çözümlerini devreye alabilirsiniz. Özetle IP Engelleyici, hızlı ilk müdahale için mükemmeldir; sürekli ve kapsamlı savunma için ise onu bir güvenlik duvarı katmanıyla birlikte düşünmelisiniz.
Sıkça Sorulan Sorular#
cPanel IP Engelleyici ile engellediğim IP'ler anında mı devreye girer?#
Evet, bir IP'yi ekleyip "Ekle" düğmesine bastığınız anda kural .htaccess dosyasına yazılır ve o adresten gelen isteklere sunucu hemen 403 Forbidden yanıtı dönmeye başlar. Herhangi bir önbellek temizleme, servis yeniden başlatma ya da bekleme süresi yoktur; engel gerçek zamanlı olarak yürürlüğe girer. Aynı şekilde bir engeli kaldırdığınızda da kural anında silinir ve adres siteye yeniden erişebilir hale gelir.
Bir IP aralığını mı yoksa tek IP'yi mi engellemeliyim?#
Kural olarak her zaman mümkün olan en dar engeli tercih edin. Saldırı tek bir adresten geliyorsa yalnızca o tek IP'yi yasaklayın, çünkü büyük bloklar masum ziyaretçileri de kapsayabilir. Ancak whois sorgusuyla saldırının belirli bir bloktan geldiğini ve o bloktaki birden çok adresin sizi rahatsız ettiğini net biçimde görüyorsanız, tek tek uğraşmak yerine ilgili CIDR bloğunu engellemek daha verimlidir. Blok ne kadar büyürse yan hasar riski o kadar artar, bunu dengede tutmak size kalmış.
Yanlışlıkla kendi IP adresimi engellersem ne olur?#
Kendi adresinizi ya da içinde bulunduğunuz bloğu engellerseniz siteye, bazı durumlarda cPanel'e erişiminizi kaybedebilirsiniz. Bu durumda panik yapmadan farklı bir ağ, örneğin mobil bağlantınız üzerinden ya da sağlayıcınızın kontrol panelinden cPanel'e girip yanlış kuralı silebilirsiniz. En kötü ihtimalle dosya yöneticisiyle .htaccess içindeki hatalı deny satırını elle temizleyebilirsiniz. Bu yüzden değişiklik yapmadan önce mevcut IP adresinizi not almak ve dosyanın yedeğini almak önemlidir.
cPanel IP Engelleyici SSH ve FTP saldırılarını da durdurur mu?#
Hayır, bu araç yalnızca Apache üzerinden geçen web (HTTP ve HTTPS) trafiğini engeller çünkü tamamen .htaccess tabanlı çalışır. SSH, FTP, posta ya da veritabanı gibi diğer servislere yönelen saldırılara hiçbir etkisi yoktur. Bu tür saldırılar için sunucu düzeyinde bir güvenlik duvarına, örneğin nftables veya iptables kurallarına ve tercihen Fail2ban gibi otomatik bir koruma katmanına ihtiyacınız vardır.
Çok sayıda IP engellemek sitemi yavaşlatır mı?#
Az sayıda kuralın gözle görülür bir etkisi olmaz, ancak .htaccess dosyasına yüzlerce ya da binlerce deny satırı biriktirmek performansı düşürebilir. Bunun nedeni Apache'nin her istekte bu dosyayı okuyup kuralları teker teker değerlendirmesidir. Bu ölçeğe geldiğinizde artık .htaccess değil, çekirdek katmanında çalışan bir güvenlik duvarı ya da Fail2ban gibi bir araç kullanmanız gerekir; bunlar kuralları çok daha verimli işler ve web sunucusunu hiç yormaz.
Engellediğim bir IP değişirse yasağım işe yaramaz mı?#
Çoğu ev ve mobil bağlantı dinamik IP kullandığı için, bugün engellediğiniz bir adres yarın başka bir kullanıcıya atanmış olabilir. Bu, tek tek IP engellemenin doğasında olan bir sınırdır ve saldırganların IP değiştirerek engeli aşabileceği anlamına gelir. Bu yüzden IP Engelleyici'yi ani ve tekil müdahaleler için kullanın; süreklilik gerektiren durumlarda ise başarısız denemeleri otomatik izleyip dinamik olarak yasaklayan Fail2ban gibi bir çözümü tercih edin.
Kapanış#
cPanel IP Engelleyici, doğru kullanıldığında elinizin altındaki en pratik ilk müdahale araçlarından biridir; erişim kayıtlarından tespit ettiğiniz bir saldırganı saniyeler içinde susturur, gereksiz spam ve tarama trafiğini site kapısında keser. Onu güçlü kılan sadeliğidir, ama aynı sadelik sınırlarını da belirler: yalnızca web trafiğini kapsar, ölçeklenmez ve tepkiseldir. Bu yüzden onu tek başına bir güvenlik stratejisi değil, katmanlı savunmanızın en hızlı reflekslerinden biri olarak görün. Gerçek kalıcılık, IP Engelleyici'yi sunucu düzeyinde bir güvenlik duvarı ve otomatik koruma araçlarıyla birleştirdiğinizde ortaya çıkar.
Sitenizi daha sağlam bir zemine taşımak istiyorsanız, güvenlik araçları hazır gelen web hosting ve WordPress hosting paketlerimize göz atabilir; tam kontrol isteyen ileri kullanıcılar için ise kendi güvenlik duvarınızı özgürce yönetebileceğiniz VDS ve sanal sunucu çözümlerimizi inceleyebilirsiniz. Güvenliğin yönetimini uzmanlara bırakmak isterseniz sunucu yönetimi, WAF ve DDoS koruma hizmetlerimiz Clou.TR güvencesiyle yanınızda. Doğru araçları doğru katmanlarda kullandığınızda, kötü niyetli ziyaretçiler sitenize ulaşamadan geri döner.