Sunucu Güvenliği
cPanel/WHM Sunucu Güvenliği Kontrol Listesi: 17 Alanda Elle Denetim Rehberi
Çekirdek açıklarından SSH ayarlarına, PHP ve MySQL'den SSL sertifikalarına kadar bir cPanel/WHM sunucusunda kontrol etmeniz gereken 17 alan; her biri için neden önemli olduğu ve salt okunur kontrol komutu.
Güncellendi:
Bir cPanel/WHM sunucusunun güvenliği tek bir ayarla ölçülmez. Çekirdek sürümü, cPanel güncellemeleri, SSH yapılandırması, güvenlik duvarı, PHP ayarları, MySQL kullanıcıları, sertifikalar ve dosya izinleri birlikte bir tablo oluşturur. Bu yazıda bu tabloyu 17 alana bölüyoruz. Her alan için neyin neden önemli olduğunu, root olarak bağlandığınız bir oturumda hangi komutla kendiniz kontrol edebileceğinizi ve çıktıda neye bakmanız gerektiğini anlatıyoruz.
Sıralama rastgele değil. Sentinel'in denetim modüllerini çalıştırdığı öncelik sırasını izliyor: önce doğrudan istismar edilebilen açıklar ve güncellemeler, sonra erişim kontrolü, ardından web katmanı, en sonda da takip gerektiren konular. Elle denetim yaparken de bu sırayı izlemenizi öneririz; zaman kısıtlıysa listenin üst yarısı riskin büyük kısmını kapsar.
1. Çekirdek açığı: CVE-2026-31431 (CopyFail)
CopyFail, Linux çekirdeğinin çekirdek içi kripto arayüzünde (AF_ALG) bulunan bir yerel yetki yükseltme açığıdır. Paylaşımlı hostingde bunun anlamı şudur: güncellenmemiş bir WordPress eklentisi üzerinden sunucuda kod çalıştırabilen biri, bu açıkla root olabilir. Kontrol edilecek şey yüklü değil, çalışan çekirdektir. Yeni çekirdek kurulmuş ama sunucu yeniden başlatılmamışsa açık hâlâ geçerlidir.
bash
uname -r
rpm -q --changelog $(rpm -qf /boot/vmlinuz-$(uname -r)) | grep -m1 CVE-2026-31431İkinci komut çıktı vermiyorsa çalışan çekirdeğin paket geçmişinde bu CVE'nin düzeltmesi yok demektir. Dağıtımınızın güvenlik duyurusundaki yamalı sürümle uname -r çıktısını karşılaştırın.
2. cPanel açığı: CVE-2026-41940 (CRLF enjeksiyonu)
Bu açık cPanel'in kendisinde, kimlik doğrulamanın atlatılmasına yol açan bir CRLF enjeksiyonudur. Düzeltme cPanel sürümüyle gelir; bu yüzden kontrol iki adımdır: kurulu sürüm ve otomatik güncelleme ayarı. Güncellemeleri kapatılmış ya da eski bir sürüme sabitlenmiş sunucular bu tür açıkları en uzun süre taşıyanlardır.
bash
cat /usr/local/cpanel/version
grep -E '^(CPANEL|UPDATES)=' /etc/cpupdate.confUPDATES=never ya da CPANEL satırında sabitlenmiş eski bir sürüm görüyorsanız, bunun bilinçli bir karar olup olmadığını netleştirin. Sürüm numarasını cPanel'in güvenlik duyurusundaki düzeltilmiş sürümle karşılaştırın.
3. PHP açığı: CVE-2026-109618 (PHP2Shell)
PHP2Shell, PHP çekirdeğinde kimlik doğrulama gerektirmeyen bir uzaktan kod çalıştırma açığıdır ve mod_php, PHP-FPM, CGI ve LiteSpeed lsphp dahil tüm web çalışma biçimlerini etkiler. cPanel sunucularında genellikle birden fazla PHP sürümü yan yana kuruludur ve her biri ayrı ayrı değerlendirilmelidir. Resmi yaması olmayan eski dallar için bilinen istismar yolunu kapatan geçici önlem, session.upload_progress.enabled ayarını Off yapmaktır.
bash
rpm -qa 'ea-php*-php-cli' 'alt-php*-cli' | sort
for php in /opt/cpanel/ea-php*/root/usr/bin/php; do
echo "$php: $($php -r 'echo PHP_VERSION, " upload_progress=", ini_get("session.upload_progress.enabled");')"
doneKomut satırı PHP'si ile PHP-FPM aynı ini dosyalarını okusa da, havuz yapılandırmasında ayrıca değer atanmış olabilir. Emin olmak için bir test sitesinde phpinfo çıktısına da bakın ve işiniz bitince o dosyayı silin.
4. İşletim sistemi ve cPanel güncellemeleri
Bekleyen güvenlik güncellemelerinin sayısı, sunucunun genel bakım durumunun en iyi göstergesidir. AlmaLinux, Rocky Linux ve CloudLinux güvenlik güncellemelerini ayrıca işaretler, böylece yalnızca güvenlik amaçlı olanları sayabilirsiniz.
bash
yum check-update --security -q | awk 'NF>=3 && $1 ~ /\./' | wc -l
yum updateinfo list --security | head -20Sayı sıfırdan büyükse hangi paketlerin beklediğine bakın. Güncellemeyi uygulamayı bakım penceresine bırakmak makul; ancak çekirdek, OpenSSL, OpenSSH ve glibc gibi paketleri haftalarca bekletmeyin.
5. SSH sertleştirme
Dışarıdan erişilebilen her cPanel sunucusu, SSH portuna sürekli parola denemesi alır. Dört ayar bu riskin çoğunu kapatır: root için parolayla girişi kapatmak (PermitRootLogin prohibit-password), parola ile girişi tamamen kapatmak (PasswordAuthentication no), bağlantı başına deneme sayısını sınırlamak (MaxAuthTries 3) ve kullanılmayan X11 yönlendirmesini kapatmak (X11Forwarding no). Dosyayı değil, sshd'nin gerçekte kullandığı değeri okuyun; sshd_config.d altındaki dosyalar ana dosyadaki ayarı ezebilir.
bash
sshd -T | grep -Ei '^(permitrootlogin|passwordauthentication|maxauthtries|x11forwarding) 'Bu ayarları güvenli şekilde değiştirme prosedürünü, ikinci oturumu açık tutma ve sözdizimi testiyle birlikte ayrı bir yazıda adım adım anlattık.
6. Güvenlik duvarı ve dışa açık servisler
cPanel kurulumu varsayılan olarak etkin bir host güvenlik duvarıyla gelmez. Sunucuda CSF/LFD, Imunify360 ya da firewalld'den biri gerçekten filtreleme yapıyor olmalı. CSF kuruluysa TESTING modunun kapalı olduğundan emin olun: TESTING=1 iken CSF kuralları yükler ama belirli aralıklarla temizler, yani kalıcı koruma sağlamaz. İkinci kontrol, dışarıya açık dinleyen servislerdir. Redis (6379), MongoDB (27017), MySQL (3306), Memcached (11211), Elasticsearch (9200) ve TLS'siz Docker API (2375) internete açık olmamalıdır.
bash
csf -v 2>/dev/null; grep '^TESTING' /etc/csf/csf.conf 2>/dev/null
systemctl is-active lfd firewalld imunify360 2>/dev/null
ss -Hltnp | awk '$4 !~ /^(127\.|\[::1\])/ {print $4, $6}' | sort -uSon komut, yalnızca yerel adreste olmayan TCP dinleyicilerini listeler. Listede tanımadığınız bir port varsa hangi sürecin açtığına bakın ve gerçekten dışarıdan erişilmesi gerekip gerekmediğine karar verin.
7. cPHulk kaba kuvvet koruması
cPHulk, cPanel'in WHM, cPanel, webmail, FTP ve e-posta girişlerine yönelik kaba kuvvet denemelerini izleyen servisidir. Kapalıysa WHM giriş ekranı sınırsız parola denemesine açık kalır. Açıksa beyaz listeyi de gözden geçirin; eskiden kalmış geniş IP aralıkları korumayı fiilen devre dışı bırakabilir.
bash
systemctl is-active cphulkd
whmapi1 read_cphulk_records list_name=white8. ModSecurity ve OWASP kuralları
ModSecurity, Apache önünde çalışan bir web uygulaması güvenlik duvarıdır; tek başına kural içermez. Anlamlı koruma için hem modülün yüklü ve kural motorunun açık olması hem de bir kural setinin, tipik olarak OWASP CRS'nin etkin olması gerekir. Kural motoru DetectionOnly modundaysa saldırılar yalnızca kaydedilir, engellenmez.
bash
httpd -M 2>/dev/null | grep -i security
whmapi1 modsec_get_settings | grep -A3 SecRuleEngine
whmapi1 modsec_get_vendors | grep -E 'vendor_id|enabled'9. PHP güvenlik ayarları
Her PHP sürümünün kendi php.ini dosyası vardır ve bir sürümde doğru olan ayar diğerinde yanlış olabilir. Üç ayar siteleri kırmadan kapatılabilir: expose_php (PHP sürümünü yanıt başlığında yayınlar), display_errors (hata ayrıntılarını ziyaretçiye gösterir) ve allow_url_include (uzak dosyaların include edilmesine izin verir). allow_url_fopen ve disable_functions ise sitelerin ihtiyacı doğrulanmadan değiştirilmemelidir; bazı eklentiler ve yedekleme araçları bunlara dayanır.
bash
for php in /opt/cpanel/ea-php*/root/usr/bin/php; do
echo "== $php"
$php -r 'foreach (["expose_php","display_errors","allow_url_include","allow_url_fopen"] as $k) echo " $k=", var_export(ini_get($k), true), PHP_EOL;'
doneini_get, php.ini'den sonra okunan php.d altındaki dosyaları da hesaba katar; bu yüzden dosyayı grep ile okumaktan daha güvenilirdir. CloudLinux ve CageFS kullanıyorsanız kullanıcıların PHP seçicisinden kendi değerlerini atayabildiğini, sunucu düzeyindeki ayarın bu sayede ezilebileceğini unutmayın.
10. MySQL / MariaDB sertleştirme
Eski kurulumlardan kalan anonim kullanıcılar, herkesin erişebildiği test veritabanı, uzaktan bağlanabilen root hesabı ve tüm arayüzlerde dinleyen bir veritabanı sunucusu, en sık karşılaştığımız dört sorundur. cPanel sunucusunda root kullanıcısı genellikle /root/.my.cnf üzerinden parolasız bağlanabilir.
bash
mysql -NBe "SELECT User,Host FROM mysql.user WHERE User=''"
mysql -NBe "SHOW DATABASES LIKE 'test%'"
mysql -NBe "SELECT User,Host FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1')"
ss -Htln | grep ':3306 'İlk üç sorgunun boş dönmesi beklenir. Son komutta 0.0.0.0:3306 ya da [::]:3306 görüyorsanız veritabanı tüm arayüzlerde dinliyordur; uzaktan bağlantı gerçekten gerekmiyorsa bind-address 127.0.0.1 olmalıdır.
11. SSL/TLS yapılandırması
Bu alanda iki şeye bakıyoruz: AutoSSL'in bir sağlayıcıyla etkin olup olmadığı ve sunucunun hâlâ TLS 1.0 ya da 1.1 bağlantısı kabul edip etmediği. Yapılandırma dosyasını okumak yerine 443 portunda canlı denemek daha güvenilirdir.
bash
whmapi1 get_autossl_providers | grep -E 'module_name|enabled'
for v in tls1 tls1_1; do
echo -n "$v: "; OPENSSL_CONF=/dev/null timeout 8 openssl s_client -connect 127.0.0.1:443 -$v -cipher 'DEFAULT:@SECLEVEL=0' </dev/null 2>&1 | grep -m1 'Cipher is'
doneÇıktıda Cipher is (NONE) görüyorsanız o sürüm reddediliyor demektir; bir şifre adı görüyorsanız eski protokol hâlâ kabul ediliyordur.
12. Dosya izinleri ve SUID dosyalar
Herkese yazılabilir (world-writable) dosyalar, ele geçirilmiş bir hesabın başka dosyalara bulaşmasını kolaylaştırır. /tmp ve /var/tmp dizinlerinde sticky bit yoksa kullanıcılar birbirinin dosyasını silebilir. En kritik kontrol ise beklenmeyen SUID dosyalardır: root yetkisiyle çalışan, bir paket tarafından kurulmamış ya da sonradan değiştirilmiş bir ikili dosya, arka kapı belirtisi olabilir.
bash
find /home/*/public_html -maxdepth 8 -type f -perm -0002 2>/dev/null | wc -l
stat -c '%A %n' /tmp /var/tmp
find /tmp /var/tmp /dev/shm /home -xdev -type f -perm -4000 2>/dev/null
find /usr/bin /usr/sbin -xdev -type f -perm -4000 -exec rpm -qf {} \; 2>&1 | grep 'not owned'Sistem dizinindeki bir SUID dosyası bir pakete aitse, rpm -V paket_adı ile içeriğinin paketteki hâliyle aynı olup olmadığını doğrulayabilirsiniz. Çıktıda 5 harfi dosya özetinin değiştiği anlamına gelir.
13. Web sunucusu sertleştirme (Apache ve LiteSpeed)
ServerTokens ve ServerSignature ayarları, Apache'nin sürüm bilgisini yanıt başlıklarında ve hata sayfalarında yayınlayıp yayınlamadığını belirler. TraceEnable ise HTTP TRACE yöntemini kontrol eder. Bu ayarlar tek başına bir açık değildir; saldırganın sürüme özgü açıkları hedeflemesini kolaylaştıran bilgi sızıntısıdır. LiteSpeed kullanan sunucularda aynı bilgi Server başlığından okunur.
bash
grep -rhE '^\s*(ServerTokens|ServerSignature|TraceEnable)' /etc/apache2/conf/ /etc/apache2/conf.d/ 2>/dev/null
curl -skI https://127.0.0.1/ | grep -i '^server:'
curl -sk -X TRACE -o /dev/null -w 'TRACE: %{http_code}\n' https://127.0.0.1/cPanel'de bu değerleri WHM içindeki Apache Configuration, Global Configuration ekranından değiştirmek, dosyayı elle düzenlemekten daha güvenlidir; elle yapılan değişiklik bir sonraki yapılandırma yenilemesinde kaybolabilir.
14. Çekirdek ağ ve güvenlik parametreleri (sysctl)
Altı çekirdek parametresi temel ağ saldırılarına ve bilgi sızıntısına karşı koruma sağlar: SYN flood için tcp_syncookies, IP sahteciliği için rp_filter, smurf saldırısı için icmp_echo_ignore_broadcasts, ICMP yönlendirmeleri için accept_redirects, çekirdek kayıtlarını sınırlamak için dmesg_restrict ve SUID süreçlerin bellek dökümü bırakmasını engellemek için suid_dumpable.
bash
sysctl net.ipv4.tcp_syncookies net.ipv4.conf.all.rp_filter \
net.ipv4.icmp_echo_ignore_broadcasts net.ipv4.conf.all.accept_redirects \
kernel.dmesg_restrict fs.suid_dumpableBeklenen değerler sırasıyla 1, 1, 1, 0, 1 ve 0'dır. Kalıcı ayar için /etc/sysctl.d altındaki dosyaların okunma sırasına dikkat edin: ad sırasına göre sonra gelen dosya, öncekini ezer.
15. SSH yetkili anahtarlar (authorized_keys)
Parola girişini kapattıktan sonra sunucuya erişim, authorized_keys dosyalarındaki anahtarlara bağlıdır. Ayrılmış bir çalışanın, eski bir ajansın ya da bir saldırganın bıraktığı anahtar, sessiz ve kalıcı bir giriş yoludur. command=, no-pty ya da permitopen seçenekleri içeren anahtarlar meşru olabilir, ama tünel amaçlı arka kapılarda da sık görülür; her birinin kime ait olduğunu bilmelisiniz.
bash
ssh-keygen -lf /root/.ssh/authorized_keys
find /home -maxdepth 4 -name authorized_keys -type f 2>/dev/null
find /home /root -maxdepth 4 -name authorized_keys 2>/dev/null | xargs grep -l 'command=\|no-pty\|permitopen' 2>/dev/null16. SSL sertifikalarının bitiş tarihleri
AutoSSL etkin olsa bile sertifikalar sessizce süresini doldurabilir: alan adı başka bir sunucuya taşınmıştır, DNS kaydı değişmiştir ya da bir CAA kaydı doğrulamayı engelliyordur. Geliştirme sırasında ilk denediğimiz, 295 sitenin barındırıldığı gerçek bir cPanel sunucusunda tek denetimde 44 süresi dolmuş SSL sertifikası ve 13 PHP güvenlik ayarı sorunu çıktı. Sitelerin web sertifikalarının yanında cPanel, WHM, Exim ve Dovecot gibi servislerin sertifikalarını da kontrol edin.
bash
for c in /var/cpanel/ssl/apache_tls/*/combined; do
d=$(basename "$(dirname "$c")")
e=$(openssl x509 -enddate -noout -in "$c" | cut -d= -f2)
echo "$(( ($(date -d "$e" +%s) - $(date +%s)) / 86400 )) gün $d"
done | sort -n | head -20Negatif sayılar süresi dolmuş sertifikalardır. Nedenlerini ve servis sertifikalarının kontrolünü ayrı bir yazıda ele aldık.
17. Bekleyen yeniden başlatma
Çekirdek, glibc ya da OpenSSL güncellemesi kurulduktan sonra sunucu yeniden başlatılmadıkça eski kod çalışmaya devam eder. Birinci maddedeki çekirdek açığı için güncelleme kurmuş olmak yetmez; yeni çekirdekle açılmış olmak gerekir. Yeniden başlatma kesinti demektir, bu yüzden planlı yapılmalıdır, ama aylarca ertelenmemelidir.
bash
needs-restarting -r
uname -r; rpm -q kernel --last | head -1needs-restarting komutu yum-utils (EL9'da dnf-utils) paketiyle gelir. Yoksa çalışan çekirdek sürümünü en son kurulan çekirdekle elle karşılaştırın.
Özet tablo
Aşağıdaki tablo, 17 alanın tamamını tek bakışta görmeniz için hazırlandı. Komutların hepsi salt okumadır.
| Alan | Ne kontrol edilir | Elle kontrol komutu |
|---|---|---|
| CopyFail çekirdek açığı | Çalışan çekirdekte CVE-2026-31431 düzeltmesi var mı | uname -r; rpm -q --changelog $(rpm -qf /boot/vmlinuz-$(uname -r)) | grep CVE-2026-31431 |
| cPanel CRLF açığı | cPanel sürümü ve otomatik güncelleme ayarı | cat /usr/local/cpanel/version; grep UPDATES /etc/cpupdate.conf |
| PHP2Shell | Her PHP sürümü yamalı mı, session.upload_progress.enabled kapalı mı | /opt/cpanel/ea-phpXX/root/usr/bin/php -r 'echo ini_get("session.upload_progress.enabled");' |
| Güncellemeler | Bekleyen güvenlik güncellemesi sayısı | yum check-update --security -q |
| SSH | PermitRootLogin, PasswordAuthentication, MaxAuthTries, X11Forwarding | sshd -T | grep -Ei 'permitrootlogin|passwordauthentication|maxauthtries|x11forwarding' |
| Güvenlik duvarı | CSF/LFD, Imunify360 veya firewalld etkin mi, TESTING kapalı mı, hassas portlar açık mı | grep '^TESTING' /etc/csf/csf.conf; ss -Hltnp |
| cPHulk | Servis çalışıyor mu, beyaz liste makul mü | systemctl is-active cphulkd; whmapi1 read_cphulk_records list_name=white |
| ModSecurity | Modül yüklü mü, kural motoru açık mı, OWASP CRS etkin mi | httpd -M | grep security; whmapi1 modsec_get_vendors |
| PHP ayarları | expose_php, display_errors, allow_url_include kapalı mı | php -r 'echo ini_get("display_errors");' (her ea-php sürümü için) |
| MySQL | Anonim kullanıcı, test veritabanı, uzaktan root, dinleme adresi | mysql -NBe "SELECT User,Host FROM mysql.user WHERE User=''"; ss -Htln | grep :3306 |
| SSL/TLS | AutoSSL sağlayıcısı etkin mi, TLS 1.0/1.1 reddediliyor mu | whmapi1 get_autossl_providers; openssl s_client -connect 127.0.0.1:443 -tls1_1 |
| Dosya izinleri | World-writable dosyalar, /tmp sticky bit, beklenmeyen SUID | find /home/*/public_html -type f -perm -0002; find / -xdev -perm -4000 |
| Web sunucusu | ServerTokens, ServerSignature, TraceEnable, Server başlığı | curl -skI https://127.0.0.1/ | grep -i server |
| Çekirdek parametreleri | Altı sysctl değeri | sysctl net.ipv4.tcp_syncookies kernel.dmesg_restrict fs.suid_dumpable |
| SSH anahtarları | Root ve kullanıcı authorized_keys, kısıtlı anahtarlar | ssh-keygen -lf /root/.ssh/authorized_keys |
| Sertifika bitiş tarihleri | Süresi dolmuş ve yaklaşan site ve servis sertifikaları | openssl x509 -enddate -noout -in /var/cpanel/ssl/apache_tls/ALANADI/combined |
| Yeniden başlatma | Kurulan güncellemeler etkin mi | needs-restarting -r |
Bu listeyi ne sıklıkla uygulamalı
Bir kez temizlemek yetmez; sunucular zamanla geri kayar. Bir hesap taşıması world-writable dosyalar getirir, bir cPanel güncellemesi yeni bir PHP sürümü kurar ve o sürümün php.ini'si varsayılan değerlerle gelir, bir alan adının DNS'i değişir ve sertifikası yenilenmez. Bizim önerimiz bu listeyi en az ayda bir çalıştırmak, her seferinde sonucu bir öncekiyle karşılaştırmak ve önceki ay kapattığınız bir bulgu yeniden açılmışsa nedenini araştırmaktır.
Birden fazla sunucu yönetiyorsanız elle denetimin asıl maliyeti tek tek komutlar değil, sonuçları toplamak ve karşılaştırmaktır. Bir tabloya not almak bile, neyin değiştiğini görmenizi sağlar.
Bulguları düzeltirken de bir sıra izleyin. Önce doğrudan istismar edilebilen açıkları ve süresi dolmuş sertifikaları ele alın, sonra erişim kontrolünü (SSH, cPHulk, güvenlik duvarı), en son da bilgi sızıntısı türündeki ayarları. Her değişiklikten önce yedek alın, değişiklikten sonra aynı kontrol komutuyla sonucu doğrulayın ve bir kerede tek bir alanı değiştirin; bir şey bozulursa nedenini bulmak böylece çok daha kolay olur.
Sentinel bunu nasıl yapar
Sentinel, bu yazıdaki 17 alanı aynı sırayla, 17 modül halinde denetler. Sunucuya ajan kurulmaz; panelde sunucu adresini ve SSH bilgisini girersiniz, sunucunun SSH parmak izini onaylarsınız ve ilk denetimi başlatırsınız. Denetim sunucuda bir şey değiştirmez. Sonuçta her bulgu önem derecesiyle (Kritik, Yüksek, Orta, Düşük, Bilgi) listelenir ve sunucu için 100 üzerinden bir puan hesaplanır.
- Düzeltilebilir bulgularda önce "Önce göster" ile uygulanacak komutları sunucuya dokunmadan görürsünüz; "Düzelt" dediğinizde değiştirilecek dosyanın tarihli bir yedeği alınır, SHA-256 özeti öncesi ve sonrası kaydedilir ve modül yeniden ölçülür.
- Bazı alanlar bilinçli olarak otomatik düzeltilmez: SSH anahtarları ve yeniden başlatma yalnızca raporlanır, allow_url_fopen ve disable_functions yalnızca öneri olarak gösterilir.
- Her denetim bir öncekiyle karşılaştırılır; yeni çıkan, giderilen ve hâlâ açık olan bulgular ayrı listelenir.
- Tüm paketlerde her ayın 1'inde, Professional pakette ayrıca her pazartesi otomatik denetim yapılır; panelden istediğiniz zaman elle denetim başlatabilirsiniz.
TEKNOWEB ÇÖZÜMLERİ
Bu rehberle ilgili çözümler
Rehberdeki konuyu gerçek ürün ve hizmet seçenekleriyle birlikte değerlendirin.
Yorumlar ve sorular
Deneyimini paylaş, birlikte çözelim.
Yorumlar yükleniyor…
Okumaya devam edin
Tüm rehberlerSunucu Güvenliği
Sentinel güvenlik raporu nasıl okunur: puan, önem derecesi ve öncelik sırası
Sentinel'de ilk sunucunuzu ekledikten sonra panel ve PDF raporda gördüğünüz puanın nasıl hesaplandığı, önem ile durum farkı, bulgulara hangi sırayla bakacağınız ve onaylı düzeltmenin nasıl çalıştığı.
Sunucu Güvenliği
cPanel sunucusunda açık port denetimi: MySQL, Redis ve Docker dışarıya açık mı?
ss ile dinleyen servisleri çıkarın, MySQL, Redis, MongoDB ve Docker'ı yerel arayüze bağlayın, CSF kurallarını gözden geçirin ve güvenlik duvarı değişikliğini geri alma zamanlayıcısıyla güvenle yapın.
Sunucu Güvenliği
cPanel'de PHP güvenlik ayarları: her sürümde expose_php, display_errors ve fazlası
Çoklu ea-php ve alt-php sürümü olan cPanel sunucusunda expose_php, display_errors, allow_url_include ve disable_functions ayarlarının etkin değerini nasıl doğrularsınız, hangilerini güvenle kapatırsınız?