cPanel / WHM Sunucu Optimizasyon
Bugün cPanel / WHM kurulu olan bir serverda ilk yapmanız gerekenlerden bahsedeceğim.
HOSTNAME KONTROLÜ :
Panelden Networking Setup -> Hostname kısmına geliyoruz ve hostnamelerimizi düzenliyoruz.
Peki Nasıl Düzenliyoruz ?
- Öncelikle server.siteadı.com şeklindeki yazıdaki siteadı.com ‘un domain kontrol paneline giriyoruz ve sunucumuza verilen ip adreslerini domainin nameserver ekle kısmından ekliyoruz.
- Sonra WHM ‘den nameserver A kayıtlarını ekleyeceğiz. Server Configration -> Basic cPanel/WHM Setup ‘ye geliyoruz ve nameserver ayarını aratıyoruz.“Add an A entry for this NameServer” ‘a tıklayınız , bunu bütün NameServerlarınız için yapmalısınız.
Diğer Adım Güvenlik Önlemleri :
CPanel/WHM ‘ye geliyoruz Tweak Settings bölümüne girip Boxtrapper ‘ı bulup ve etkinsizleştiriyoruz.Boxtrapper, IP adresimizin SPAM olmasını sağlayabilir bundan dolayı SpamAssassin ‘i kullancağız..
Boxtrapper ‘ı kaldırıp ayarlarınızı kaydettikten sonra, Service Configration kısmından Exim Configration Editor kısmına giriyoruz ve alttaki “Advanced Editor” linkine tıklıyoruz. Bu açılan sayfada, ilk kutucuğa log_selector = +arguments +subject ‘i ekleyip kaydediyoruz,sonra cPanel’de Exim’i baştan başlatıp ayarlarınızı kaydedin. Bu sayede Exim daha performanslı çalışacaktır..
PHP Konfigürasyonu ( PHP Configuration ) :
Panelden Service Configration ‘a geliniz.PHP Configration Editor’e girip ve üstteki Switch to advanced modeseçeneğini seçiniz ve disable_functions kısmını bulup aşağıdaki kodu yapıştırınız.. ;
kopyalamak için satır başına 2 kez tıklamanız yeterlidir.temadan dolayı biraz zorluk yaşayabilirsiniz.Ama dediğim şekilde tamamını seçebilirsiniz.
1″shell_exec,exec,system,glob,cat,dl,openbasedi r,p open,proc_close,proc_get_status,proc_nice,proc_open,escapeshellcmd,escapeshellarg, show_source,posix_mkfifo,mysql_list_dbs,get_curren t_user,getmyuid,pconnect,link,symlink,pcntl_exec,i ni_alter,parse_ini_file,leak,apache_child_terminat e,posix_kill,posix_setpgid,posix_setsid,posix_setu id,proc_terminate,syslog,fpassthru,allow_url_fopen ,stream_select,socket_select,socket_create,socket_ create_listen,socket_create_pair,socket_listen,soc ket_accept,socket_bind,socket_strerror,pcntl_fork, pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,pcntl _wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcnt l_wstopsig,pcntl_wtermsig,openlog,apache_get_modul es,apache_get_version,apache_getenv,apache_note,ap ache_setenv,virtual,name”
Bu işlem bitince ;
enable_dl ayarını bulup “Off” konumuna getirip ayarlarınızı kaydediniz.Bu sayede sunucunuza shell vb. scriptlerin sokulmasını önlersiniz..
FTP GÜVENLİĞİ :
Service Configration ‘a gelelim burdan FTP Server Configration kısmına girelim ve Allow Anonymous Logins,Allow Anonymous Uploads, Allow Logins With Root Password kısımlarını NO seçip kaydediyoruz. Bu kısım güvenlik ile ilgili olan kısımdır. Fakat Anonymous (şifresiz) kullanıcılara açmak istiyorsanız YESolarak bırakınız.
NameServer Ayarları :
Varsayılan olarak Bind seçilidir büyük ihtimalle fakat ben Bind ‘i önermiyorum.. Sol panelden Nameserver selection bölümüne gelerek, Bind yerine tercih edebileceğimiz daha performanslı çalışan NSD ‘yi seçip kaydediniz.Bu kadarcık..
YARARLI cPANEL ADD-ON KURULUMLARI :
WHM ‘ye girip sol menüdeki cPanel bölümünden Manage Plugins bölümüne giriniz.
ve şu işlemleri yapınız ;
- cPanel Pro Activation – cPanel Inc. adresine girip sunucunuzun ip adresini yazıp Pro Eklentisini aktifleştiriniz. Sonra , Manage Plugins bölümünden pro, clamavconnector, modbandwidth, modsecurity ‘i seçerek alttaki Save butonuna tıklayınız.ImageMagick, GD Library vb. modüller bu sayede kurulacaktır.Bu işlem biraz sürebilir fakat bekleyiniz…
WHM/cPANEL APACHE DERLEME :
Merhaba ,
Şimdi de cPanel derlemesini göstereceğim fakat bu konuda fazla bilginiz yoksa lütfen yazdıklarımı harfiyen uygulayınız…
Gelelim derleme işlemlerine ;
- WHM ‘ye giriyoruz.
- Software kısmından Easy Apache (Apache Update) kısmına geliyorsunuz.
- Start customizing based on profile linkine tıklayıp Apache 2.2 seçip next step ‘e basınız
- Sonra PHP 5 seçip PHP 4 seçiliyse kaldıralım onu ve Next step deyip devam edelim
- PHP Seçeneklerinden en alttaki seçeneği seçiniz.Bu seçenek en güncel olanıdır.Şu an en son 5.2.17 sanırım. Next step deyiniz.
- Frontpage , Ioncube Loader for PHP,Mod SuPHP, Mod Bandwidth, Mod Security ve Zend Optimizer for PHP seçiniz.Kendiliğinden seçili olanları ise mutlaka kaldırınız..
- Alt tarafa geçtiğimizde ise Exhaustive Options List ‘e tıklayınız. Apache Build-In Moduleskısmından sadece aşağıdakiler seçili olmalıdır :
Asis, AuthnDefault, Env, Expires, Fileprotect, Frontpage, Headers, Mod SuPHP, Proxy, UniqueID.
- Sonra Other Modules kısmından aşağıda verdiklerimi seçip diğerlerini kaldırınız. :“IonCube Loader for PHP”, “Mod Bandwidth”, “Mod Security”, “Zend Optimizer for PHP”
- Sırada PHP Ayarları var…PHP Ayarları ‘na Geliyoruz ve sadece yazıklarımı seçili hale getiriyoruz:Bcmath, CGI, Calendar, Curl, CurlSSL, Discard Path, FTP, GD, Gettext, Iconv, Imap, Magic Quotes, Mbregex, Mysql, Mysql of the system, POSIX, Path Info Check, Pear, Sockets, TTF (Free Type), Zlib
- Prefrences ve diğer kısımlara dokunmayınız.
- Save and Build ‘a basıp derlemeyi başlatıyoruz.
ARA NOT :
- Derlemi işlemi bitmeden sunucunuza restart atmayın.Eğer PC ‘niz veya tarayıcınız kapanırsa dert etmeyin sunucuda hala derleme işlemi devam ediyordur.
- Derleme işlemi bittiğinde size cPanel ekranında bilgi verilecektir.
Derleme bittikten sonra ise ;
- Service Configuration bölümünden Apache Configration ‘a giriniz ve buradan PHP and SuExec Configuration bölümüne geçiniz.
- PHP 5 Handler olarak suphp seçiyoruz, PHP 4 Handler kullanmadığımızdan none olarak kalsın.Apache suEXEC ise On yapınız ve Do a dryrunkutucuğunu işaretleMEDENSave New Configuration diyiniz.
- EN SON AYARIMIZA GELDİK…
- Apache Configuration’a giriniz ve Memory Usage Restrictions ‘a tıklayıp Proceed deyiniz.
- Bu sayede sunucunun boş yere kasılmasını bir nebze olsa önlemiş oluyoruz.
Şimdi İse Güvenlik konusunda ek işlemlerimiz var ;
Sol menüdeki Security kısmından Security Center bölümüne giririniz.
cPHulk Brute Force Protection, PHP open_basedir Tweak, Apache mod_userdir Tweak, SMTP Tweak ve Shell Fork Bomb Protection
ayarlarını açık (ON) konuma getiriniz.
Compilers Tweak kısmında ise Disable Compilers ‘a tıklayınız.
SSH GÜVENLİĞİ ;
Sunucumuza ssh ile giriş yapıyoruz ve ekrana aşağıdaki komutu giriyoruz.(Bu komut ile sshd_config dosyasını editleyeceğiz.Bundan dolayı Pico ‘ya ihtiyacımız vardır.)
pico /etc/ssh/sshd_config
Protocol 2,1 ayarının başına # koyarak pasif hale getiriniz.
Protocol 2 ayarının başındaki # işaretini ise kaldırınız.
Bu dosyayı kaydedip çıkınız , sonra
service sshd restart
komutuyla SSH Server ’a reset atıyoruz.Evet an itibariyle yaptığımız ayarlar geçerlilik kazanmıştır.
tmpfs Güvenliği ;
LÜTFEN İŞLEM YAPMADAN ÖNCE AŞAĞIDAKİ DOSYAYI KOPYALAYINIZ ; (isteğe bağlı ama önerilir.)
/etc/fstab
tmpfs bölümünü güvenli hale getirebilmek için aşağıdaki komutu ekrana giriniz ;
pico /etc/fstab
bu komutla dosyayı düzenleyeceğiz.
ARA NOT :
- Bu dosya üzerinde yapılan yanlış bir işlem sonucu oluşacak hata sunucunun formatlanmasına dahi yol açabilir.
- Bunun için belirtilen işlemler harici işlemlerden sakınınız.
Şimdi ;
Düzenleyeceğimiz dosyayı yukarda belirttiğim komutla açtıktan sonra tmpfs satırını bulunuz ve yine aynı satırdakidefaults yazısının yanına şunları ekliyoruz ;
,noexec,nosuid
NOT : ” ,noexec,nosuid ” baştaki virgülü koymayı unutmayınız !!!
Son durumda satır aşağıdaki gibi olacaktır ;
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
EK BİLGİ : 0 -> sıfır rakamıdır.
Tekrar yaptıklarınızı kontrol ettikten sonra dosyayı rahatlıkla kontrol edebilirsiniz ama dikkat edin ki düzenleyici herhangi bir satırı alta veya herhangi bir yere atmış olmasın.
Ayarlarımızın etkin olabilmesi için aşağıdaki komutu ssh ekranına kopyalayıp yapıştırıyoruz ;
mount -o remount,noexec,nosuid /dev/shm
enter tuşuna basıp komutu çalıştırınız…
Sunucudaki Gereksiz Servislerin Kapatılması :
Sunucumuzdaki gereksiz servisleri kapatabilmek için aşağıda verdiğim komutları ssh üzerinden çalıştırınız.Bazılarında başarısız(failed) yazar ama aldırış etmeyin o an çalıştığından veya başka önemsiz sebeplerdendir.Buyrun komutlar ;
service cups stop
chkconfig cups off
service xfs stop
chkconfig xfs off
service atd stop
chkconfig atd off
service nfslock stop
chkconfig nfslock off
service canna stop
chkconfig canna off
service FreeWnn stop
chkconfig FreeWnn off
service cups-config-daemon stop
chkconfig cups-config-daemon off
service iiim stop
chkconfig iiim off
service mDNSResponder stop
chkconfig mDNSResponder off
service nifd stop
chkconfig nifd off
service rpcidmapd stop
chkconfig rpcidmapd off
service bluetooth stop
chkconfig bluetooth off
service anacron stop
chkconfig anacron off
service gpm stop
chkconfig gpm off
service saslauthd stop
chkconfig saslauthd off
service avahi-daemon stop
chkconfig avahi-daemon off
service avahi-dnsconfd stop
chkconfig avahi-dnsconfd off
service hidd stop
chkconfig hidd off
service pcscd stop
chkconfig pcscd off
service sbadm stop
chkconfig sbadm off
service webmin stop
chkconfig webmin off
service ossec stop
chkconfig ossec off
Sırasıyla çalıştırmaya özen gösteriniz…
Eveet… Gereksiz servisleri de deaktif etmiş olduk…
Gelelim Son İşlemimize ;
cPANEL GÜNCELLEMESİ ( cPanel UPDATE ):
Hemen aşağıda verdiğim komutu çalıştırıyorsunuz ve işlemin bitmesini bekliyorsunuz.Bittiğinden emin olmadan herhangi bir işlem yapmayınız… ;
/scripts/upcp
Bu işlemin bitmesini bekliyoruz, bittiğinden emin olmadan daha sonraki adımlara geçmiyoruz.
İşlem süresi 30 ile 120 dk. arasında değişebilir.
İşlemin bittiğine iyice emin olduktan sonra
/scripts/makecpphp
komutunu çalıştırınız.
Bu işlemi bitirdikten sonra aşağıdaki komutları sırasıyla uygulayınız ;
service cpanel restart
/scripts/rebuildhttpdconf
service httpd restart
İşlemleriniz tamamlanmıştır Artık TAŞŞŞ MI TAŞŞŞ bir sunucunuz bulunmaktadır.Anlatım sıramı ve bazı kısımlarıt-infection ile aynı yaptım, bazı bilgileri onun sayesinde paylaştım.Ve ondan bir bukle daha ;
İşinize yarayabilecek birkaç ücretsiz eklenti: