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?
Kontrol paneli yönetim portları internetin her yerinden erişilebilir olduğunda sürekli deneme saldırılarına maruz kalır. Bu rehberde cPanel, WHM, Plesk ve DirectAdmin yönetim portlarını güvenlik duvarıyla yalnızca sizin IP adreslerinize açacağız. Debian/Ubuntu için ufw, RHEL tabanlı sistemler için firewalld örnekleri vereceğiz. Tahmini süre 20-30 dakikadır.
Kontrol paneli yönetim portlarını kısıtlamak, parola ne kadar güçlü olursa olsun saldırganın giriş sayfasına ulaşmasını engelleyen etkili bir katmandır. Yanlış uygulanırsa sizi sunucudan dışarıda bırakabileceği için adımları sırasıyla ve dikkatle izleyin.
Gereksinimler
- Root veya sudo yetkili SSH erişimi
- Sağlayıcının web konsolu veya KVM/IPMI erişimi (kilitlenme durumunda kurtarma için)
- Sabit bir yönetici IP adresi veya VPN çıkış IP’si
- Mevcut güvenlik duvarının hangi aracı kullandığının bilgisi
- Açık tutulacak ikinci bir SSH oturumu
Bilinen yönetim portları şunlardır:
- cPanel: 2083 (WHM için 2087, webmail için 2096)
- Plesk: 8443
- DirectAdmin: 2222
- Şifresiz (HTTP) karşılıklar: cPanel/WHM/webmail için 2082/2086/2095, Plesk için 8880; bunları da genel erişime açık bırakmayın
Adım adım yönetim portlarını kısıtlama
1. Mevcut durumu ve güvenlik duvarı aracını tespit edin
Sunucuda hangi güvenlik duvarı aracının etkin olduğunu belirleyin. Bazı paneller kendi güvenlik duvarı veya Fail2Ban kurallarını yönetir; aynı anda iki aracı yönetmek çakışma yaratır.
sudo ufw status verbose
sudo firewall-cmd --state
sudo ss -tulpn2. Kendi IP adresinizi öğrenin
Kısıtlama kuralını yazmadan önce bağlandığınız IP adresini doğrulayın. Ev ve mobil bağlantılarda IP adresi değişebilir; bu durumda VPN veya sabit IP tercih edin.
echo $SSH_CLIENT3. SSH için önce izin kuralını ekleyin
Kendinizi dışarıda bırakmamak için önce SSH erişimini mutlaka kendi IP’nize izinli hale getirin. Aşağıdaki örneklerde 203.0.113.10 belge amaçlı örnek bir IP adresidir; kendi IP’nizle değiştirin. SSH farklı bir portta çalışıyorsa örneklerdeki 22 yerine o portu yazın (sudo sshd -T | grep -i '^port').
4. Ubuntu/Debian için ufw ile kısıtlama
UYARI: ufw enable komutu SSH izni olmadan çalıştırılırsa bağlantınız kopar. Önce SSH kuralını ekleyin.
sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
sudo ufw allow from 203.0.113.10 to any port 8443 proto tcp
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enableWeb siteleri için 80 ve 443 açık kalmalıdır. cPanel kullanıyorsanız 2087 için de aynı kuralı yazın; müşteriler 2083 ve 2096 portlarına ihtiyaç duyuyorsa bu portlar genel erişime açık kalır. Posta ve FTP gibi hizmet portlarını (25, 465, 587, 993 vb.) ihtiyacınıza göre ayrıca açın; aksi halde bu hizmetler çalışmaz. Daha önce eklenmiş genel bir kural (ör. allow 22/tcp, allow OpenSSH veya allow 8443) varsa kısıtlama etkisiz kalır; yeni kuralla girişi test ettikten sonra bu genel kuralı ufw status numbered ve ufw delete NUMARA ile kaldırın.
5. AlmaLinux/Rocky için firewalld ile kısıtlama
firewalld’de yalnızca belirli kaynaktan erişim vermek için ayrı bir bölge (zone) tanımlayabilirsiniz. Bölgeye kaynak IP ekler ve yalnızca o bölgeye portu açarsınız. Portun genel bölgede (public) açık olmadığından emin olun.
sudo firewall-cmd --permanent --new-zone=yonetim
sudo firewall-cmd --permanent --zone=yonetim --add-source=203.0.113.10
sudo firewall-cmd --permanent --zone=yonetim --add-port=8443/tcp
sudo firewall-cmd --permanent --zone=yonetim --add-service=ssh
sudo firewall-cmd --permanent --zone=public --remove-port=8443/tcp
sudo firewall-cmd --reloadremove-port komutu, port daha önce açılmamışsa uyarı verebilir; bu normaldir. SSH hizmetini genel bölgede de açık tutuyorsanız onu ayrıca kısıtlamayı düşünebilirsiniz, ancak önce yönetim bölgesinden girişin çalıştığını test edin. Kaynağa bağlı bölge, o IP’den gelen tüm trafiği karşıladığı için yönetim IP’nizden web sitelerine ve posta servislerine erişimi de deneyin; erişilemiyorsa ilgili hizmetleri (ör. --add-service=http --add-service=https) bu bölgeye de ekleyin.
6. Panelin kendi güvenlik duvarıyla çakışmayı önleyin
cPanel/WHM, Plesk ve DirectAdmin ortamlarında panel veya eklentiler kendi kurallarını yazabilir. Bu durumda yukarıdaki sistem komutlarını uygulamak yerine panelin yönetim arayüzündeki güvenlik duvarı bölümünü kullanın ve aynı kuralı oradan girin. Hangi aracın etkin olduğu net değilse üretici belgesine bakın.
7. Dinamik IP için çözüm
IP adresiniz değişiyorsa en sağlıklı yöntem sabit çıkışlı bir VPN veya sıçrama (bastion) sunucusu kurmaktır. Geçici çözüm olarak sağlayıcı konsolundan kuralı güncelleyebilirsiniz.
Doğrulama
Kuralları listeleyin ve izinli ile izinsiz bir ağdan erişimi deneyin.
sudo ufw status numbered
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=yonetim --list-all
sudo firewall-cmd --zone=public --list-allBaşka bir ağdan (ör. mobil veri) panel portuna curl -k -m 5 https://SUNUCU_IP:8443 ile bağlanmayı deneyin; zaman aşımı almalısınız. İzinli IP’den ise panel giriş sayfası yanıt vermelidir.
Sık karşılaşılan sorunlar
- SSH bağlantım koptu: Sağlayıcının konsolundan güvenlik duvarını geçici olarak durdurun (
sudo ufw disableveyasudo systemctl stop firewalld), kuralı düzeltin ve yeniden etkinleştirin. - Müşteriler panele giremiyor: Müşteri portlarını (ör. cPanel 2083) da kısıtlamış olabilirsiniz; yalnızca yönetici portlarını (ör. 2087) kısıtlayın.
- Kurallar yeniden başlatmada kayboluyor: firewalld’de
--permanentbayrağını unutmuş olabilirsiniz. - Panel kuralları geri yazıyor: Panelin kendi güvenlik duvarı aracını kullanın veya diğer aracı devre dışı bırakın.
Güvenlik ve bakım notları
- Yönetim erişimi için mümkünse VPN kullanın.
- IP listesini düzenli gözden geçirin ve eski kayıtları silin.
- Kural değişikliklerini tarih ve gerekçeyle kayıt altında tutun.
- Güvenlik duvarı kuralını uygulamadan önce kurtarma yolunuzu (konsol erişimi) test edin.
- IPv6 kullanıyorsanız aynı kısıtlamayı IPv6 için de uygulayın.
- Kısıtlamayı iki adımlı doğrulama ve güçlü parola ile birlikte kullanın.
Sık sorulan sorular
Yönetim portunu başka bir porta taşımak yeterli mi?
Hayır, port değiştirmek yalnızca otomatik taramaları biraz azaltır. IP kısıtlaması gerçek bir erişim kontrolü sağlar.
Cloudflare arkasında kontrol paneli portlarını gizleyebilir miyim?
Çoğu zaman hayır; yönetim portları genellikle doğrudan sunucu IP’sine bağlanır. Bu nedenle sunucu IP’sinde güvenlik duvarı kısıtlaması yapmanız gerekir.
IP adresim değişirse ne yapmalıyım?
Sağlayıcı konsolu veya VPN üzerinden bağlanıp kuralı güncelleyin. Kilitlenmeye karşı konsol erişiminin çalıştığını önceden doğrulayın.
İlgili sözlük terimleri
Bu kategorideki diğer rehberler
- Kontrol panelleri arasında hesap taşıma (sunucudan sunucuya geçiş planı)Bir hosting hesabını eski sunucudan yenisine kesintisiz taşımak için envanter, TTL düşürme, rsync ile eşitleme, hosts ile test ve DNS geçişini adım adım anlatan geçiş planı.
- Kontrol panelinde brute force koruması (panel araçları, Fail2ban, güvenlik duvarı)Panel girişine, SSH ve e-postaya yönelik kaba kuvvet saldırılarını panelin yerleşik araçları, Fail2ban ve güvenlik duvarı kısıtlamalarıyla katmanlı biçimde nasıl durduracağınızı öğrenin.
- Kontrol panelinde SSL otomatik yenileme sorunları ve çözümleriPanelin otomatik SSL yenilemesi neden başarısız olur? DNS, 80. port, yönlendirme, CAA kaydı ve proxy kaynaklı sorunları komutlarla teşhis edip çözmeyi anlatan sistematik rehber.
- Kontrol panelinde yedekleme ve geri yükleme stratejisi (panelden bağımsız yaklaşım)cPanel, Plesk ve DirectAdmin için ortak bir yedekleme stratejisi: 3-2-1 kuralı, veritabanı dökümü, sunucu dışı depolama, restic ile sürümlü yedek ve düzenli geri yükleme testi.