Komutları üretim sunucusunda çalıştırmadan önce yedek alın ve mümkünse bir test ortamında deneyin. Yönetim erişiminizi (SSH, panel) kaybetmemek için ayar değişikliklerinde açık bir ikinci oturum bulundurun.
Bu rehberde ne yapacağız?
WHMCS müşteri verilerini, faturaları ve alan adı bilgilerini barındırdığı için saldırganların öncelikli hedeflerinden biridir. Bu rehberde WHMCS güvenlik sertleştirme adımlarını uygulayarak yönetici paneli, yapılandırma dosyası ve hassas dizinleri koruyacaksınız.
Rehber, WHMCS’yi kendi sunucusunda çalıştıran hosting sahiplerine yöneliktir. Tahmini süre 45-60 dakikadır. Sürüme özgü ayarların menü adları değişebildiğinden WHMCS’nin resmi belgesine de başvurun; burada genel ve kararlı ilkeler anlatılmıştır.
Gereksinimler
- WHMCS kurulu bir sunucuya SSH ve dosya erişimi
- WHMCS yönetici hesabı ve yönetici panelinde yetkili kullanıcı
- Veritabanı ve dosyaların tam yedeği; her değişiklikten önce alın
- Kurulumun nerede olduğunu bilmek (örneğin /var/www/whmcs veya hesabın public_html dizini)
Adım adım WHMCS güvenlik sertleştirme
1. WHMCS ve PHP sürümünü güncel tutun
Güvenlik açıklarının çoğu eski sürümlerde ortaya çıkar. WHMCS için desteklenen sürümleri ve gerekli PHP sürümünü resmi belgeden kontrol edin, önce test ortamında güncelleyin. Eklentileriniz (modül, tema) uyumlu olmalıdır.
2. Yapılandırma dosyasının izinlerini daraltın
configuration.php veritabanı bilgilerini ve şifreleme anahtarını içerir; yalnızca PHP’yi çalıştıran kullanıcı okuyabilmelidir. 400 izni, dosyanın sahibi PHP süreciyle aynı kullanıcıysa çalışır; PHP farklı bir kullanıcıyla (örneğin www-data) çalışıyorsa dosya okunamaz ve site açılmaz. Bu durumda sahibi siz, grubu PHP kullanıcısı olacak şekilde 440 kullanın.
cd /var/www/whmcs
sudo chmod 400 configuration.php
sudo ls -l configuration.phpGüncelleme sırasında dosyaya yazma gerekebilir; bu durumda geçici olarak izni açıp işlem sonrası tekrar kısıtlayın.
3. Yönetici dizinini yeniden adlandırın
Varsayılan admin dizin adı otomatik taramalarda kolay hedeftir. Dizini değiştirip WHMCS’ye yeni yolu bildirin. Yeni yolu configuration.php içinde tanımlamanız gerekir; ayrıntı için resmi belgeye bakın.
sudo mv /var/www/whmcs/admin /var/www/whmcs/yonetim-gizli$customadminpath = 'yonetim-gizli';4. Hassas dizinleri web kökünün dışına taşıyın
attachments, downloads, templates_c ve cron dizinlerinin web kökünün dışında olması hem veri ifşasını hem de çalıştırılabilir dosya riskini azaltır. Taşıdıktan sonra WHMCS yönetici panelindeki ve configuration.php içindeki dizin yollarını güncelleyin; adım adım yöntem için resmi belgeye bakın.
5. Yönetici hesaplarında iki adımlı doğrulamayı zorunlu kılın
Tüm yönetici hesapları için iki adımlı doğrulamayı etkinleştirin. Yönetici panelinde güvenlik ayarları altında ilgili bölüm bulunur; konum sürüme göre değişebilir. Ayrıca her personel için ayrı hesap açın ve ortak parola kullanmayın.
6. Yönetici erişimini IP ile kısıtlayın
Yönetim dizinini web sunucusu seviyesinde yalnızca ofis veya VPN IP’lerine açın. Apache kullanıyorsanız yönetim dizinine bir .htaccess koyabilirsiniz (IP adresini kendinize göre değiştirin).
Require ip 203.0.113.10Nginx için aynı mantık location bloğunda allow ve deny satırlarıyla uygulanır. Yanlış IP girerseniz kendinizi dışarıda bırakabilirsiniz; ikinci bir erişim yolu hazır tutun.
7. HTTPS zorunlu olsun ve hata çıktılarını gizleyin
Tüm WHMCS trafiği HTTPS üzerinden gelmelidir. PHP hata görüntülemesini kapalı tutun; hata mesajları dosya yollarını ifşa eder.
display_errors = Off
log_errors = On8. Cron ve yedekleri güvenli yapılandırın
WHMCS cron işi düzenli çalışmalıdır. Veritabanı yedeklerini ve configuration.php dosyasının bir kopyasını sunucu dışında şifreli saklayın. Yedek dosyalarını web kökünde bırakmayın.
Doğrulama
Ayarları kontrol edin.
sudo ls -l /var/www/whmcs/configuration.php
curl -I https://siteniz.example/admin/
curl -I https://siteniz.example/yonetim-gizli/Beklenen sonuç: eski admin yolunun 404 dönmesi, yeni yolun yalnızca izinli IP’den erişilebilmesi ve configuration.php dosyasının kısıtlı izinle görünmesidir. Yönetici girişinde iki adımlı doğrulama sorulduğunu da test edin.
Sık karşılaşılan sorunlar
- Admin dizinini değiştirdim, panel açılmıyor: Yeni yolun configuration.php içinde doğru tanımlandığını ve dizin adının birebir uyduğunu kontrol edin.
- Güncelleme izin hatası veriyor: configuration.php ve ilgili dizinlere geçici yazma izni verip işlem sonrası eski izne dönün.
- Cron çalışmıyor: Cron komutundaki PHP yolunu ve betik konumunu kontrol edin; hata günlüğünü okuyun.
- IP kısıtlaması kendi erişimimi kesti: Sunucudan dosya düzenleyip kuralı düzeltin; dinamik IP için VPN kullanın.
Güvenlik ve bakım notları
- WHMCS ve eklentilerini güvenlik duyurularını izleyerek güncel tutun.
- Kullanılmayan modülleri ve temaları kaldırın.
- Başarısız yönetici girişleri için bildirim ve günlük takibi yapın.
- Ödeme ağ geçidi anahtarlarını yalnızca gerekli kişilerin görebileceği şekilde saklayın.
- Veritabanı kullanıcısına yalnızca WHMCS veritabanı üzerinde yetki verin.
- Düzenli olarak geri yükleme testi yapın.
Sık sorulan sorular
Admin dizinini yeniden adlandırmak tek başına yeterli mi?
Hayır, bu yalnızca otomatik taramaları azaltır. İki adımlı doğrulama, IP kısıtı ve güncel sürüm asıl korumayı sağlar; dizin adı ek bir katmandır.
WHMCS’yi hangi sıklıkla güncellemeliyim?
Güvenlik yayınları çıktığında en kısa sürede, önce test ortamında denemeniz önerilir. Resmi duyuruları takip edin ve eklenti uyumluluğunu kontrol edin.
Müşteri verilerini korumak için başka ne yapmalıyım?
Veritabanı ve yedekleri şifreli saklayın, personel erişimini asgari yetkiyle sınırlayın ve kişisel verilerin korunması mevzuatına uygun bir saklama politikası belirleyin.
İlgili sözlük terimleri
Bu kategorideki diğer rehberler
- Bayi hosting için müşteri yedekleme politikası ve geri yükleme süreciBayi hosting müşterileri için yedekleme politikasını yazın: sıklık, saklama süresi, restic ile otomatik yedek, veritabanı dökümü ve müşteri talebiyle güvenli geri yükleme sürecini uygulayın.
- Bayi hostingde e-posta itibarı ve DMARC raporlarını okumaBayi hostingde e-posta itibarını SPF, DKIM ve DMARC ile koruyun; DMARC toplu raporlarını okuyup yetkisiz gönderimleri bulun ve politikayı none, quarantine, reject sırasıyla sıkılaştırın.
- Bayi hostingde abuse (kötüye kullanım) şikâyetlerini yönetme süreciBayi hostingde gelen abuse şikâyetlerini alma, sınıflandırma, kanıt toplama, müşteriye bildirme ve çözme sürecini; spam, phishing ve zararlı yazılım örnekleriyle adım adım uygulayın.
- Reseller hosting paket ve kaynak planlamaReseller hosting paketlerini aşırı satış riskini hesaplayarak planlayın: CPU, RAM, disk ve G/Ç limitlerini belirleyin, kaynak kullanımını izleyin ve eşik uyarıları kurun.