Sezon Kampanyası:DEV İNDİRİM BAŞLADI!! 🎉 VDS, Ryzen VDS, Oyun Sunucusu hizmetlerinde %20 İNDİRİM başladı.. 💻🔥 Kupon Kodu: DS5Y4Y 🚀

cPanel Güvenlik Ayarları Yapılması Gerekenler

SELinux Yönetimi

Linux sunucularda güvenlik denildiğinde akla gelen en kritik katmanlardan biri SELinux (Security-Enhanced Linux)’tur. Çekirdek (kernel) seviyesinde çalışan bu modül, süreçlerin ve kullanıcıların sistem kaynaklarına erişimini “en az yetki” prensibiyle kısıtlar. Ancak bazen yapılandırma hatalarını çözmek veya belirli yazılımları çalıştırmak için SELinux modunu değiştirmemiz gerekebilir.

SELinux Mevcut Durumunu Kontrol Etme

İşlemlere başlamadan önce sunucunuzda SELinux’un aktif olup olmadığını kontrol etmelisiniz. Bunun için şu komutu kullanın:

sestatus

Eğer daha kısa ve öz bir yanıt isterseniz şu komutu da kullanabilirsiniz:

getenforce


SELinux Çalışma Modları Nelerdir?

  1. Enforcing: Varsayılan moddur. Güvenlik politikaları sıkı bir şekilde uygulanır ve ihlaller engellenir.

  2. Permissive: Güvenlik politikaları engelleme yapmaz ancak kural ihlalleri sisteme raporlanır. Hata ayıklama (debug) için idealdir.

  3. Disabled: SELinux tamamen kapalıdır; hiçbir politika yüklenmez ve uygulanmaz.


1. Geçici Olarak Mod Değiştirme (Anlık Çözüm)

Sunucuyu yeniden başlatmadan, o anlık sorunu çözmek veya test yapmak için modu değiştirebilirsiniz. Bu ayar sunucu yeniden başlatıldığında eski haline döner.

  • Permissive Moda Geçiş (Kısıtlamaları Esnetir): setenforce 0

  • Enforcing Moda Geçiş (Kısıtlamaları Tekrar Açar): setenforce 1


2. Kalıcı Olarak SELinux’u Kapatma veya Açma

Yapılan ayarın sunucu kapansa da değişmemesi için konfigürasyon dosyasını düzenlemeniz gerekir. Unutmayın: disabled moduna geçiş yaptıktan sonra değişikliğin aktif olması için sunucuyu mutlaka yeniden başlatmalısınız.

Adım Adım Kalıcı Yapılandırma:

  1. Yapılandırma dosyasını metin editörüyle açın: nano /etc/selinux/config

  2. Dosya içerisinde şu satırı bulun: SELINUX=enforcing

  3. İhtiyacınıza göre bu satırı güncelleyin:

    • Tamamen kapatmak için: SELINUX=disabled

    • Sadece raporlama yapması için: SELINUX=permissive

  4. Dosyayı kaydedip çıkın (CTRL+X, Y, ENTER).

  5. Sistemi yeniden başlatarak ayarları aktif edin: reboot


Önemli Not: Güvenlik uzmanları, SELinux’u tamamen kapatmak yerine genellikle permissive modda tutmayı veya soruna neden olan servise özel izinler (policy) tanımlamayı önerir. Sunucunuzu tamamen savunmasız bırakmamaya özen gösterin.

Saldırganın sistemden temizlenmesi kadar, tekrar sızmasını engelleyecek önlemlerin alınması da hayati önem taşır. Aşağıdaki adımlar, sunucunuzdaki potansiyel arka kapıları (backdoor) kapatmanıza yardımcı olacaktır.

SSH Portunu Tek Komutta Değiştirme

SSH portunu manuel düzenlemek yerine, sed komutuyla doğrudan terminalden saniyeler içinde değiştirebilirsiniz.

Uyarı: Port değiştirmeden önce yeni portu firewall (CSF/iptables) üzerinden açtığınızdan emin olun, aksi takdirde sunucu dışında kalabilirsiniz!

Tek Komutla Port Değişimi (Örn: 22’den 22940’a):

sed -i 's/#Port 22/Port 22940/g' /etc/ssh/sshd_config && sed -i 's/Port 22/Port 22940/g' /etc/ssh/sshd_config && systemctl restart sshd

Bu komut ne yapar?

  1. sshd_config dosyasındaki hem yorum satırı halindeki #Port 22‘yi hem de aktif Port 22 ifadesini bulur ve 22940 (veya belirlediğiniz port) ile değiştirir.

  2. Hemen ardından SSH servisini yeniden başlatarak değişikliği aktif eder.


Symlink Protection (Sembolik Bağlantı Koruması)

Symlink saldırıları, bir kullanıcının kendi dizinine oluşturduğu bir kısa yol (link) vasıtasıyla sunucudaki diğer kullanıcıların (örneğin /etc/passwd veya başka bir sitenin wp-config.php dosyası) dosyalarını okumasına neden olur.

1. WHM Üzerinden Aktif Etme/Kapatma (GUI)

Görsel arayüzü tercih edenler için en güvenli yol budur:

  • Yol: WHM > Service Configuration > Apache Configuration > Global Configuration

  • Ayar: Symlink Protection seçeneğini bulun.

  • Açmak İçin: On durumuna getirin ve sayfanın en altından kaydedip Apache’yi yeniden derleyin.

2. Komut Satırı ile Kontrol (CLI)

Eğer Apache konfigürasyonuna müdahale ederek manuel yönetmek isterseniz, ilgili dizindeki .htaccess veya VirtualHost dosyasına şu kuralları ekleyebilirsiniz:

  • Korumayı Aktif Etmek İçin (Önerilen):

    Options +FollowSymLinks -SymLinksIfOwnerMatch
    

    Bu komut, linkin sahibi ile hedef dosyanın sahibi aynı değilse erişimi engeller.

  • Korumayı Kapatmak İçin (Riskli):

    Options +FollowSymLinks
    

3. Kernel Seviyesinde Koruma (En Sağlamı)

Eğer sunucunuzda CloudLinux veya KernelCare yüklüyse, bu işlemi kernel seviyesinde yaparak performans kaybı yaşamadan tam koruma sağlayabilirsiniz.

Kalıcı olarak aktif etmek için:

sysctl -w fs.enforce_symlinksifowner=1

(Eğer kapatmak isterseniz değeri 0 yapmanız yeterlidir.)

1. Kritik PHP Fonksiyonlarının Devre Dışı Bırakılması

Web tabanlı saldırıların (shell scriptleri) büyük çoğunluğu, PHP’nin sistem komutlarını çalıştırma yeteneğini kullanır. Bu riski her PHP sürümü için ayrı ayrı “Multi-PHP INI Editor” üzerinden kapatmalısınız.

İşlem Adımları:

  • cPanel’e giriş yapın ve “Multi-PHP INI Editor” (Çoklu PHP INI Düzenleyicisi) kısmına gidin.

  • Düzenlemek istediğiniz PHP sürümünü seçin.

  • disable_functions satırını bulun ve aşağıdaki fonksiyon listesini aralarına virgül koyarak ekleyin:

disable_functions = "posix_getpwuid,mail,shell_exec,exec,system,cat,dl,openbasedir,popen,proc_close,proc_get_status,proc_nice,proc_open,show_source,posix_mkfifo,mysql_list_dbs,get_current_user,pconnect,link,symlink,pcntl_exec,expect_popen,ini_alter,leak,apache_child_terminate,posix_kill,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname,proc_terminate,syslog,passthru,socket_select,socket_create,socket_create_listen,socket_create_pair,socket_listen,socket_accept,socket_bind,socket_strerror,pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,openlog,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,virtual,name"

Bu kısıtlama, bir saldırgan sunucuya dosya yüklese bile o dosyanın işletim sistemi üzerinde komut çalıştırmasını engeller.


2. Apache CGI İşleyicilerinin Kapatılması

Saldırganlar genellikle .cgi veya .pl (Perl) uzantılı dosyalar üzerinden yetki yükseltmeye çalışır. Apache konfigürasyonunda bu işleyicileri pasif hale getirmek güvenliğinizi artıracaktır.

Yöntem A: Terminal (Nano) ile Düzenleme SSH üzerinden root olarak şu komutu çalıştırın: nano /usr/local/apache/conf/httpd.conf

  • CTRL + W tuşlarına basarak şu satırı aratın: AddHandler cgi-script

  • Varsayılan olarak şu şekilde görünecektir: AddHandler cgi-script .cgi .pl .plx .ppl .perl

  • Bu satırın başına # işareti koyarak pasif hale getirin: #AddHandler cgi-script .cgi .pl .plx .ppl .perl

  • CTRL + X ardından Y ve ENTER ile kaydedip çıkın.

Yöntem B: SFTP (FileZilla) ile Düzenleme Eğer terminal kullanmak istemiyorsanız, FileZilla ile root kullanıcısı olarak bağlanıp /usr/local/apache/conf/ dizinine gidin. httpd.conf dosyasını bilgisayarınıza indirip bir metin editörüyle aynı değişikliği yapabilir ve tekrar sunucuya yükleyebilirsiniz.


3. Kritik İkili Dosya (Binary) ve Yetki Ayarları

Sunucu üzerindeki bazı yorumlayıcıların yetkilerini kısıtlamak, saldırganın hareket alanını daraltır. Özellikle Perl yorumlayıcısının sadece root tarafından kullanılabilir olması kritik bir önlemdir.

Perl Yetki Kilitleme: Aşağıdaki komut dizisi, Perl dosyasının üzerindeki korumayı kaldırır, yetkilerini sadece root’a özel (700) yapar ve ardından dosyayı tekrar “değiştirilemez” (immutable) moduna alarak güvenliğe alır:

chattr -i /usr/bin/perl && chmod 700 /usr/bin/perl && chattr +i /usr/bin/perl

Önemli Not: Bazı kaynaklarda /bin/ln (sembolik link oluşturma) komutunun da yetkilerinin değiştirilmesi önerilse de, bu durum profesyonel bir saldırgan için engel değildir. Saldırgan kendi binary dosyasını sunucuya yükleyip çalıştırabilir. Bu nedenle odaklanmanız gereken nokta, saldırganın shell (kabuk) erişimini tamamen kesmektir.

Verunix internet hizmetleri

Verunix, web geliştiricileri ve müşterileri için hayatı kolaylaştıran, kullanımı kolay, hızlı ve güvenilir web barındırma hizmetleri sunar.

0850 309 3456
Adres
2357. Sokak Akkent Mah. Onuk Plaza Daire 9 Yenişehir/Mersin
Verunix Visa Verunix MasterCard Verunix SSL
Verunix.Com • 2026 Tüm Hakları Saklıdır.
Fiyatlarımıza KDV dahil değildir.