Web Hosting & cPanel

    WHM Güvenlik Merkezi ve cPHulk Brute Force Koruması

    cPHulk brute force koruması, giriş sınırı ve WHM güvenlik araçlarıyla sunucuyu sıkılaştırmayı anlatan rehber.

    12 dk okuma Güncellendi: 10 Temmuz 2026

    WHM (Web Host Manager) üzerinde bir sunucu yönetiyorsanız, o makinenin dışa açık en zayıf noktası neredeyse her zaman giriş ekranlarıdır. cPanel'in 2083, WHM'in 2087, Webmail'in 2096 portları, SSH'ın 22'si ve FTP'nin 21'i, internete açıldığı ilk saniyeden itibaren otomatik parola deneme botlarının hedefidir. Bu botlar sizi tanımaz, sizi seçmez; halka açık her IP aralığını gün boyu tarar ve saniyede onlarca kullanıcı adı-parola çiftini dener. Sağlam bir parolanız olsa bile, sınırsız deneme hakkı tanıyan bir sunucu er ya da geç bu baskının altında zorlanır. İşte tam bu noktada WHM'in kendi bünyesinde gelen güvenlik araçları devreye girer.

    Bu rehberde, WHM Güvenlik Merkezi'ni (Security Center) ve onun kalbindeki cPHulk Brute Force Protection aracını kıdemli bir sistem yöneticisinin gözünden ele alıyorum. Başarısız giriş eşiklerini nasıl belirleyeceğinizi, hesap kilitleme sürelerini nasıl ayarlayacağınızı, beyaz ve kara liste yönetimini, e-posta bildirimlerini ve kendinizi yanlışlıkla dışarıda bırakmadan bu koruma katmanını nasıl kuracağınızı adım adım göstereceğim. Ardından SSH parola girişini kapatmak, Shell Fork Bomb Protection ve iki faktörlü doğrulama gibi ek sertleştirme adımlarına değinerek, sunucunuzu katmanlı bir savunmayla nasıl sağlamlaştıracağınızı anlatacağım. Amaç tek bir sihirli düğme değil; üst üste binen ve birbirini destekleyen bir önlemler dizisidir.

    WHM Güvenlik Merkezi (Security Center) Nedir?#

    WHM arayüzünde soldaki menüden Security Center başlığına girdiğinizde, sunucunun güvenliğini merkezi olarak yönetebileceğiniz bir araç kümesiyle karşılaşırsınız. Buradaki her bir modül, sunucunun farklı bir saldırı yüzeyini kapatmaya odaklanır: kimlik doğrulama, kabuk (shell) erişimi, derleyici kullanımı, PHP açık dizinleri ve daha fazlası. Bu araçların tümü zaten cPanel/WHM lisansınızla birlikte gelir; ekstra bir eklenti satın almanıza gerek yoktur. Çoğu yönetici bu merkezi hiç açmadan sunucusunu işletir, oysa buradaki birkaç anahtarı doğru konuma getirmek saldırı riskinizi ciddi biçimde düşürür.

    Security Center içindeki başlıca bileşenleri bir tabloda özetleyelim, böylece hangi aracın neye yaradığını net görün:

    AraçNe İşe Yarar
    cPHulk Brute Force ProtectionBaşarısız giriş denemelerini izler, eşik aşıldığında IP veya hesabı kilitler
    Shell Fork Bomb ProtectionKabuk kullanıcılarının süreç ve bellek limitlerini uygular
    Compiler Accessgcc/cc gibi derleyicilerin ayrıcalıksız kullanıcılarca kullanımını engeller
    Two-Factor AuthenticationWHM ve cPanel girişlerine ikinci bir doğrulama katmanı ekler
    Manage Root's SSH Keysroot için SSH anahtarı oluşturur ve parolasız erişimi hazırlar
    Traceroute / Ping to AddressAğ tarafı sorunları teşhis etmek için basit araçlar
    Password Strength ConfigurationHesaplar için asgari parola gücü zorunluluğu belirler

    Bu rehberde ağırlığı brute force korumasına vereceğiz, çünkü pratikte en sık ihmal edilen ve en yüksek getiriyi sağlayan ayar odur. Genel bir sunucu sertleştirme bakış açısı için sunucu güvenliği temelleri rehberimizi de yanınızda bulundurmanızı öneririm; oradaki UFW, Fail2ban ve SSH anahtarı adımları burada anlattıklarımızın altını doldurur.

    cPHulk Brute Force Protection Nasıl Çalışır?#

    cPHulk, WHM'in yerleşik brute force koruma servisidir. Mantığı sadedir ama etkilidir: sunucu üzerindeki kimlik doğrulama servislerine (cPanel, WHM, Webmail, FTP, SSH, IMAP/POP3 gibi) gelen giriş denemelerini sürekli izler ve başarısız denemeleri bir veritabanında sayar. Belirlediğiniz zaman penceresi içinde bir IP adresi veya bir kullanıcı hesabı çok fazla kez başarısız olursa, cPHulk o kaynağı geçici olarak kilitler. Kilitlenen IP'den gelen sonraki giriş istekleri, doğru parola girilse bile reddedilir. Bu, botun deneme hızını sıfıra indirir ve saldırıyı işe yaramaz hale getirir.

    cPHulk iki farklı kilitleme mantığı kullanır ve bunların ayrımını anlamak önemlidir. IP tabanlı kilitleme, belirli bir IP adresinden gelen aşırı denemeleri hedefler. Kullanıcı (hesap) tabanlı kilitleme ise aynı kullanıcı adına farklı IP'lerden yapılan dağıtık denemeleri yakalar. Modern botnet saldırıları genellikle yüzlerce farklı IP'den tek bir hesabı zorlar; bu yüzden yalnızca IP tabanlı korumaya güvenmek yeterli olmaz. cPHulk'un her iki modu da aktif olduğunda dağıtık saldırılara karşı çok daha dayanıklı olursunuz.

    cPHulk'un durumunu ve yapılandırmasını komut satırından da kontrol edebilirsiniz. Servisin çalışıp çalışmadığını görmek için:

    whmapi1 get_cphulk_config | grep is_enabled
    /usr/local/cpanel/etc/init/startcphulkd
    

    Kilitli girişleri veya beyaz/kara liste kayıtlarını doğrudan cPHulk'un veritabanından sorgulamak isterseniz, aşağıdaki gibi bir SQL bakışı işinizi görür (üretimde dikkatli kullanın):

    SELECT ADDRESS, TYPE, EXPTIME
    FROM cphulkd.brutes
    ORDER BY EXPTIME DESC
    LIMIT 20;
    

    Burada TYPE alanı denemenin nereden geldiğini, EXPTIME ise kilidin ne zaman düşeceğini gösterir. Bu tabloyu okumak, gerçek bir saldırı sırasında neyin bloklandığını anlamak için değerlidir.

    cPHulk Ayarları — Eşikler, Kilitleme ve Bildirimler#

    cPHulk'u WHM arayüzünden Security Center > cPHulk Brute Force Protection yolundan açtığınızda karşınıza sekmeli bir yapılandırma paneli gelir. Aracı açan ana anahtarı "On" konumuna getirdikten sonra Configuration Settings sekmesindeki eşik değerlerini kendi trafiğinize göre ayarlamanız gerekir. Bu değerler korumanın ne kadar sıkı olacağını belirler; fazla gevşek bırakırsanız saldırıyı yavaşlatmaz, fazla sıkı yaparsanız meşru kullanıcılarınızı yanlışlıkla kilitlersiniz. Dengeyi bulmak işin sanatıdır.

    En kritik ayarları ve tipik başlangıç değerlerini bir tabloda toplayalım:

    AyarAnlamıÖnerilen Başlangıç
    Max Failures By AccountBir hesabın kilitlenmeden önceki başarısız deneme sayısı5
    Max Failures Per IPBir IP'nin kilitlenmeden önceki başarısız deneme sayısı5
    IP Address-based ProtectionIP tabanlı kilitlemeyi açarAktif
    Brute Force Protection PeriodDenemelerin sayıldığı zaman penceresi (dakika)5
    Account Lockout TimeHesap kilidinin süresi (dakika)15
    IP Lockout TimeIP kilidinin süresi (dakika)15

    Bu değerlerle birlikte cPHulk şöyle davranır: 5 dakikalık pencere içinde bir IP 5 kez başarısız olursa, o IP 15 dakika boyunca bloklanır. Süre dolduğunda kilit otomatik kalkar. Saldırgan botu tekrar denerse yeniden kilitlenir; bu döngü botun işini pratikte imkânsız hale getirir çünkü her 5 denemede 15 dakika beklemek zorunda kalır.

    Bildirimler de en az eşikler kadar önemlidir. cPHulk, bir kilit olayı gerçekleştiğinde size e-posta gönderebilir. Bunu Notifications sekmesinden açın; özellikle "root" veya bir yönetici hesabının kilitlenmesi durumunda anında haberdar olmak istersiniz, çünkü bu bazen ya gerçek bir hedefli saldırının ya da sizin kendi hatalı girişinizin işaretidir. Bildirimleri şu senaryolar için etkinleştirmenizi öneririm: bir hesabın kilitlenmesi, root girişinin bloklanması ve beyaz listedeki bir IP'nin kilitlenme girişimi. Uyarı yorgunluğuna düşmemek adına her başarısız denemeyi değil, yalnızca gerçek kilit olaylarını bildirecek şekilde yapılandırın.

    Ayarları uyguladıktan sonra mutlaka kendi ofis veya ev IP'nizden bir test yapın: kasıtlı olarak birkaç kez yanlış parola girip kilitlenmeyi gözlemleyin, ardından kilidin süresi dolunca ya da beyaz listeden düşürüp erişiminizin geri geldiğini doğrulayın. Bu testi yaparken tek bir yönetici IP'nizi önceden beyaz listeye almış olmanız, kendinizi tümden dışarıda bırakma riskini ortadan kaldırır.

    Whitelist ve Blacklist Yönetimi (Beyaz ve Kara Liste)#

    cPHulk'un en pratik özelliklerinden biri, IP tabanlı beyaz ve kara liste yönetimidir. Whitelist (beyaz liste), kilitleme kurallarından tamamen muaf tutulan güvenilir IP'lerin listesidir. Kendi sabit ofis IP'nizi, ekip arkadaşlarınızın IP'lerini veya izleme sunucularınızın adreslerini buraya eklerseniz, yoğun bir çalışma günü içinde birkaç kez yanlış parola girseniz bile asla kilitlenmezsiniz. Bu, "kendini sunucudan dışarı kilitleme" kâbusuna karşı en güçlü sigortadır.

    Blacklist (kara liste) ise tam tersidir: buraya eklenen IP veya IP aralıkları, hiç deneme yapmadan doğrudan reddedilir. Belirli bir ülkeden ya da bilinen kötücül bir aralıktan sürekli saldırı alıyorsanız, o bloğu topluca kara listeye alabilirsiniz. Her iki listeyi de tekil IP (203.0.113.45) veya CIDR aralığı (203.0.113.0/24) biçiminde tanımlayabilirsiniz. WHM arayüzündeki Whitelist Management ve Blacklist Management sekmeleri bu işlemi görselleştirir; ancak aynı işi komut satırından da yapabilirsiniz:

    # Bir IP'yi beyaz listeye ekle (kalıcı)
    whmapi1 create_cphulk_record type=white ip=203.0.113.45
    
    # Bir aralığı kara listeye ekle
    whmapi1 create_cphulk_record type=black ip=198.51.100.0/24
    
    # Beyaz listedeki tüm kayıtları görüntüle
    whmapi1 read_cphulk_records list_name=white
    

    Beyaz listeye eklerken sabit (statik) bir IP'niz olmasına dikkat edin. Ev internetiniz gibi zaman zaman değişen dinamik bir IP'yi beyaz listeye almak yanıltıcıdır; IP değişince koruma yine devreye girer ve yanlışlıkla kilitlenirsiniz. Reseller (bayi) bir sunucu işletiyorsanız, müşterilerinizin de kendi sabit IP'lerini kolayca yönetebilmesi için bu mantığı anlamanız önemlidir; bayilik yapısının nasıl kurulduğuna dair ayrıntı için reseller hosting nedir yazımıza göz atabilirsiniz. Sunucu genelinde daha geniş bir IP engelleme stratejisi için ise bir WAF veya DDoS koruma katmanı, cPHulk'un tek başına yapamayacağı hacimsel saldırıları da karşılar.

    SSH Parola Girişini Kapatma ve Anahtar Tabanlı Erişim#

    cPHulk, SSH dahil pek çok servisi korur; ancak SSH tarafında brute force sorununu kökünden çözmenin en temiz yolu, parola girişini tümüyle kapatıp yalnızca SSH anahtarına izin vermektir. Parola diye bir şey olmayınca, saldırganın deneyeceği bir parola da kalmaz; brute force denklemin dışına çıkar. WHM'de root için anahtar üretimini Security Center > Manage Root's SSH Keys ekranından yapabilir, ardından sshd yapılandırmasını sertleştirebilirsiniz.

    Önce kendi makinenizde bir anahtar çifti oluşturun ve genel anahtarı sunucuya kopyalayın:

    ssh-keygen -t ed25519 -C "yonetici@cloutr"
    ssh-copy-id -i ~/.ssh/id_ed25519.pub root@sunucu-ip
    

    Anahtarla bağlanabildiğinizi doğruladıktan sonra parola girişini kapatın. /etc/ssh/sshd_config içinde şu satırları düzenleyin:

    PasswordAuthentication no
    PermitRootLogin prohibit-password
    PubkeyAuthentication yes
    ChallengeResponseAuthentication no
    

    Değişikliği uygulamak için SSH servisini yeniden başlatın:

    systemctl restart sshd
    

    Burada altın kural şudur: parola girişini kapatmadan önce yeni bir terminal penceresinde anahtarla giriş yapabildiğinizi mutlaka test edin ve mevcut oturumunuzu kapatmayın. Yanlış bir yapılandırma sizi sunucudan kilitlerse, elinizde çalışan bir oturum varsa geri alabilirsiniz. Ayrıca SSH portunu varsayılan 22'den farklı bir değere taşımak, otomatik tarama gürültüsünün büyük kısmını keser; bu, güvenlik değil ama gürültü azaltma açısından değerlidir. Anahtar yönetimi ve SSH sertleştirmesinin daha derin bir anlatımı için tekrar sunucu güvenliği temelleri rehberine başvurabilirsiniz.

    Shell Fork Bomb Protection ve Compiler Access#

    Brute force ve giriş güvenliğinin ötesinde, sunucunuza shell (kabuk) erişimi olan kullanıcıların ne yapabileceğini de sınırlamanız gerekir. Bir kullanıcı hesabı ele geçirildiğinde veya kötü niyetli bir müşteri sunucuya sızdığında, ilk denenen şeylerden biri sistem kaynaklarını tüketerek hizmeti çökertmektir. Shell Fork Bomb Protection, kabuk erişimi olan kullanıcılara Linux'un ulimit mekanizması üzerinden süreç ve bellek sınırları uygular. Böylece tek bir kullanıcı, sonsuz süreç doğuran bir "fork bomb" ile tüm CPU ve belleği tüketip sunucuyu kilitleyemez.

    Bu korumayı Security Center > Shell Fork Bomb Protection ekranından tek tıkla açabilirsiniz. Uyguladığı limitler, jailshell veya normal shell'e sahip kullanıcıları etkiler; root ve sistem hesapları bundan muaftır. Etkin olduğunda, kullanıcı oturumlarında uygulanan tipik sınırları komut satırından da görebilirsiniz:

    ulimit -a
    # aktif limitler arasında:
    # max user processes, virtual memory, open files
    

    Buna yakın öneme sahip bir diğer araç Compiler Access'tir. Sunucunuzda gcc, cc gibi derleyiciler ayrıcalıksız kullanıcılar tarafından çalıştırılabiliyorsa, bir saldırgan kaynak koddan yerel bir exploit derleyip ayrıcalık yükseltme (privilege escalation) deneyebilir. Çoğu paylaşımlı barındırma sunucusunda son kullanıcıların derleyiciye ihtiyacı yoktur. Security Center > Compiler Access ekranından derleyicileri "Disabled" yaparak bu saldırı yolunu kapatabilirsiniz. Gerçekten derleyiciye ihtiyaç duyan bir geliştirici olursa, onu ayrıcalıklı grup üzerinden hedefli biçimde açabilirsiniz; herkese açık bırakmak yerine istisna yönetmek doğru yaklaşımdır.

    İki Faktörlü Doğrulama (2FA) ile WHM ve cPanel'i Kilitleme#

    Tüm eşikleri ayarlasanız, tüm listeleri yönetseniz de, kimlik doğrulama güvenliğinin tacı iki faktörlü doğrulamadır (2FA). cPHulk saldırganın deneme hızını kısıtlar; 2FA ise doğru parolayı ele geçirse bile saldırganın giriş yapmasını engeller. Çünkü parolaya ek olarak, yalnızca sizin telefonunuzdaki uygulamanın ürettiği zamana bağlı bir kod (TOTP) istenir. Bu kodu bilmeden hiçbir parola tek başına yeterli olmaz.

    WHM'de 2FA'yı Security Center > Two-Factor Authentication ekranından sunucu genelinde etkinleştirin. Etkinleştirdikten sonra her yönetici ve isterseniz cPanel kullanıcıları kendi hesaplarında Google Authenticator, Authy veya benzeri bir TOTP uygulamasıyla eşleştirme yapar. Eşleştirme, uygulamanın taradığı bir QR koduyla saniyeler içinde tamamlanır. Bir yönetici hesabı için 2FA'yı zorunlu kıldığınızda, o hesaba parola sızsa bile saldırganın elinde ikinci faktör olmadığından giriş başarısız olur.

    Aşağıdaki tablo, bu üç kimlik doğrulama katmanının birbirini nasıl tamamladığını özetliyor:

    KatmanNeyi DurdururSınırı
    Güçlü parolaTahmin ve sözlük saldırılarıSızarsa tek başına yetersiz
    cPHulkOtomatik brute force denemeleriDoğru parolayı durdurmaz
    2FA (TOTP)Sızmış parolayla girişKullanıcının cihazına bağımlı

    Görüldüğü gibi hiçbir katman tek başına yeterli değildir; asıl güç üçünün üst üste binmesindedir. 2FA'yı özellikle WHM (root/reseller) erişimi için asla ihmal etmeyin, çünkü o panel ele geçirilirse sunucudaki tüm hesaplar risk altına girer. Panel erişim güvenliğini bir bütün olarak ele almak için yönetimli sunucu hizmetimiz kapsamında bu sertleştirmeleri sizin adınıza uygulayan bir ekiple çalışmayı da değerlendirebilirsiniz.

    Sıkça Sorulan Sorular#

    cPHulk'u açtım ama kendimi kilitledim, ne yapmalıyım?#

    Bu, en sık yaşanan senaryodur ve panik yapmanıza gerek yok. Sunucunuza SSH ile hâlâ erişebiliyorsanız, root olarak whmapi1 flush_cphulk_login_history komutunu çalıştırarak tüm kilit kayıtlarını temizleyebilirsiniz. SSH de kapalıysa, sağlayıcınızın sunduğu konsol veya kurtarma (rescue) modundan bağlanıp /usr/local/cpanel/scripts/restartsrv_cphulkd --stop ile servisi geçici durdurabilirsiniz. Kilidi açtıktan sonra ilk işiniz kendi sabit IP'nizi beyaz listeye eklemek olmalı; böylece bir daha aynı duruma düşmezsiniz.

    cPHulk ile Fail2ban aynı anda çalışabilir mi?#

    Teknik olarak ikisi birlikte çalışabilir, ancak farklı katmanlarda çalıştıkları için işlevleri örtüşebilir. cPHulk, cPanel/WHM servislerinin kimlik doğrulama katmanında çalışır ve kilitlemeyi uygulama seviyesinde yapar. Fail2ban ise log dosyalarını okuyup güvenlik duvarı (iptables/nftables) seviyesinde IP bloklar. Genellikle cPanel sunucularında cPHulk'u ana koruma olarak bırakıp Fail2ban'i yalnızca cPHulk'un kapsamadığı özel servisler için kullanmak en temiz yaklaşımdır; ikisini aynı servis için ayarlarsanız yönetimi karmaşıklaşır.

    Eşik değerlerini çok düşük tutmak meşru kullanıcıları etkiler mi?#

    Evet, eşikleri aşırı düşük tutmak yanlış pozitiflere yol açar. Örneğin "Max Failures Per IP" değerini 2'ye çekerseniz, parolasını iki kez yanlış hatırlayan meşru bir müşteri hemen kilitlenir ve size destek talebi açar. Pratikte 5 civarı bir eşik, çoğu ortamda saldırıyı durdururken meşru kullanıcıya makul bir hata payı tanır. Kilitleme süresini de çok uzun tutmayın; 15 dakika, bir botu caydırmaya yeter ama gerçek kullanıcıyı saatlerce bekletmez. Değerleri kendi trafiğinizi gözlemleyerek zamanla ince ayarlayın.

    cPHulk hangi servisleri koruyor, SSH dahil mi?#

    cPHulk varsayılan olarak cPanel, WHM, Webmail, FTP, SSH ve posta protokollerini (IMAP/POP3) izler. Yani sunucu üzerindeki başlıca giriş noktalarının hemen hepsi kapsam içindedir. Ancak koruma yalnızca kimlik doğrulama denemelerini sayar; hacimsel bir DDoS saldırısını veya uygulama seviyesindeki bir açığı durdurmaz. SSH için en sağlam çözüm, cPHulk'un üzerine parola girişini tamamen kapatıp anahtar tabanlı erişime geçmektir. Böylece o servis için brute force tümüyle anlamsız hale gelir.

    Beyaz listeye eklediğim IP değişirse ne olur?#

    Beyaz listedeki bir IP değiştiğinde, o eski kayıt artık sizi korumaz ve yeni IP'niz normal kilitleme kurallarına tabi olur. Bu yüzden beyaz listeye yalnızca sabit (statik) IP'ler eklemek gerekir. Dinamik bir ev internetiniz varsa, beyaz liste yerine bir VPN veya sabit IP'li bir atlama (bastion) sunucusu üzerinden bağlanmak daha güvenilir bir çözümdür. Eski ve geçersiz beyaz liste kayıtlarını düzenli aralıklarla temizlemek de iyi bir alışkanlıktır; aksi halde artık size ait olmayan bir IP'ye ayrıcalık tanımış olabilirsiniz.

    Kapanış#

    WHM Güvenlik Merkezi, çoğu yöneticinin varlığından bile haberdar olmadığı ama sunucunun kimlik doğrulama güvenliğini kökten değiştirebilecek bir araç kümesidir. cPHulk ile brute force denemelerini eşikleyip kilitlemek, kendi IP'nizi beyaz listeyle korumak, SSH parola girişini kapatıp anahtara geçmek, Shell Fork Bomb Protection ve Compiler Access'i sertleştirmek ve en tepeye 2FA'yı koymak; hepsi birlikte, tek tek hiçbirinin sağlayamayacağı bir dayanıklılık oluşturur. Unutmayın ki güvenlik bir düğme değil, üst üste binen katmanların bütünüdür ve en zayıf halkanız kadar güçlüsünüzdür.

    Bu sertleştirmeleri kendiniz uygulamak yerine hazır güvenli bir altyapıyla başlamak isterseniz, Clou.TR'nin cPanel/WHM tabanlı hosting paketlerini ve reseller hosting çözümlerini inceleyebilirsiniz. Tam kontrol istiyorsanız VDS veya sanal sunucu seçeneklerimize göz atın; kurulumdan sertleştirmeye tüm yükü bize bırakmak için ise uçtan uca sunucu yönetimi hizmetimizden yararlanabilir, ek bir savunma katmanı olarak WAF ve DDoS koruma ürünlerimizi de değerlendirebilirsiniz.

    WHMGüvenlik

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.