cPanel bir çok hosting işine aşina olan kişilerin en çok tercih edip kullandığı paneldir. Daha önemlisi ise bir çok hosting satın alan kişi cpanel olup olmadığını özellikle sorguluyor. Peki cPanel bu kadar gözde iken, yoğun çalışan sunucularda ya da paylaşımlı hosting için tercih edilen sunucularda ne tür ayarların yapılması gerekir. Güvenlik açıkları ile ilgili bir açığı olmadığı düşünülse de bunların cPanel ile gelen ayarları karıştırarak yapılması gerektiğini biliyor muyuz ?

Evet cPanel ayarları düzgün yapılıp kullanıldığı sürece boyut olarak ağır olmasına rağmen çok güzel ve stabil çalışan bir panel. Şimdi bu panel için ilk kurulum sonrası hangi ayarları yapmamız gerekiyor, ne gibi önlemler alabiliriz bunları inceleyip göreceğiz.

cPanel kurulduktan sonra ilk olarak güvenlik ayarlarını, sonrasında sistemsel ayarlarını, mail ayarlarını, sırasıyla pluginler ve web server modüllerini ayarlayacağız ( Apache derleyeceğiz. ). Bunlardan sonra koruma, güvenlik ve takip için bir kaç uygulama kuracağız. Anlayacağınız bu makale ile güzelce doymuş olacağız :)

Security Center


  1. Apache mod_userdir Tweak - Enable mod_userdir Protection yanındaki kutucuğu işaretliyoruz. Bu seçeneği aktifleştirerek kullanıcıya ait bir dosya isteği yapıldığında dizin kontrolü yapılmasını sağlayabilirsiniz. Home dizini dışından yapılan bir isteği engellemiş olursunuz.
  2. Compiler Access - Disable Compilers butonuna basarak butonda Enable Compilers yazmasını sağlayın. Compiler yetkisini kısıtlayarak, dışarıdan erişim sağlayan kullanıcının grup yetkisi root olsa dahi compiler çalıştırmasını engelleyebilirsiniz. Bu sayede bir güvenlik açığını da kapatmış olursunuz.
  3. Manage External Authentications - Configure tabına geçerek servisleri kontrol edin. Dışarıdan erişim sağlayabilecek tüm servisleri ( cPanel dahil ) disabled konumuna getirin.
  4. Password Strength Configuration - Default Required Password Strength: alanını en az 70 olacak şekilde ayarlayın. Bu sayede şifre güvenlik seviyeniz yükseldiği için kullanıcılarınızın oluşturacağı şifrelerin güvenlik seviyesi yükselecek ve güvenli şifreler oluşturacaklardır.
  5. PHP open_basedir Tweak - Enable php open_basedir Protection yanındaki kutucuğu işaretleyerek sunucudaki bir hesaba atılan shell, exploid vb.. scriptlerin hesaba ait dizinin üstüne çıkmasını engellemiş olursunuz. Yani müşterilerinize ait sitelerden birisi hacklenirse diğerlerini kurtarma şansınız olacaktır.
  6. Shell Fork Bomb Protection - Enable Protection butonuna basarak butonda Disable Protection yazmasını sağlayın. Bu sayede atılan shell dosyaları ile ilgili güvenlik önleminide almış olursunuz.
  7. SSH Password Authorization Tweak - Bu kısım için tercihinizi kullanabilirsiniz. Disable Password Auth butonuna bastıktan sonra, ssh ile bağlantı yaptığınızda şifrenizi doğru girseniz dahi ssh a bağlantı yapamayacaksınız. Bunun yerine uyarısını "" alacaksınız.
  8. Traceroute Enable/Disable - Disable butonuna bastıktan sonra Permissions CHMOD 700 olacak. Bu sayede bu kısımda da yazma izinleri ile ilgili güvenlik önlemini almış olduk.



Tweak Settings



Domains

  1. Allow Remote Domains - Bu seçenekte addon domain ekleme özelliği pasif ( Off ) olarak işaretlidir. Tercihinize göre ya da gerektiği zamanlarda aktif ( On ) konumuna getirebilir, addon domain ekleyebilirsiniz.
  2. Enable SPF on domains for newly created accounts - Yeni hosting hesabı oluştururken zone templates kısmında tanımlı olan spf tanımlarını yeni açılan hesabın dns kayıtlarına otomatik olarak ekletmenizi sağlar. Bu ayarı açmanız çıkan maillerin bazı mail servisi sağlayıcıları tarafından yapılan kontrolleri geçmesini sağlayacaktır. Bu sebepten açmanızı öneriyorum.
  3. Proxy subdomains - Hosting hesaplarının subdomain ile bağlantı sağladığı servislere ( webmail., cpanel., mail. gibi... ) erişimi sağlamaktadır. Bu seçeneği pasif ( Off ) hale getirmeniz bu servislere olan erişimi kesecektir.
  4. Thunderbird and Outlook autodiscover and autoconfig support (enables proxy subdomain and SRV record creation) - Bu seçeneği aktif ( On ) hale getirerek, gelen posta sunucusu için sadece IMAP kullanılmasını sağlayabilir, uygulamalar ile yapılan bağlantılardan kaynaklı mail kayıplarının önüne geçebilirsiniz.

Mail

  1. Max hourly emails per domain - Her domainden gönderilen maillerin saatlik limitini ayarlayarak gereksiz mail çıkışı sebebiyle ip adresinizin spam listelerine düşmesini engelleyebilirsiniz. Bu alana limit olarak "50" girmeniz uygun olacaktır.
  2. Initial default/catch-all forwarder destination - Bu seçenek varsayılan olarak açtığınız hosting hesabına ait bir mail hesabı oluşturulmadığı zaman ya da oluşturulmayan bir mail hesabına ve domaine ait herhangi bir kullanıcı ya da sallama ( deneme@domain.com, sadsa@domain.com ) olarak gönderilen bir mail adresine gelen maillerin ana mail kutusuna yönlendirilmesini sağlar. Ancak domain sürekli olarak spam alırsa bu mail kutusu şişerek sunucunun yavaşlamasına sebep olacaktır. Bu nedenle oluşturulmayan bir mail adresine gelen mailleri engellemek ve RED ( Reject ) döndürmek için "Fail" seçiyoruz.
  3. Mail authentication via domain owner password - Bu seçeneği aktif ( On ) konuma getirerek alan adı üzerinden kimlik doğrulaması yapabilirsiniz.
  4. Enable Apache SpamAssassin™ Spam Box delivery for messages marked as spam (user configurable) - Bu seçeneği aktif ( On ) konumuna getirerek, kullanıcılarıngelen spam mailler için kendi ayarlarını yapmasını sağlayabilirsiniz.

PHP

  1. cPanel PHP max execution time (Minimum: 90) - Çalıştıracağınız bir PHP scriptinin en fazla çalışma süresini buradan ayarlayabilirsiniz. 90 saniye az gelirse bunu 9999 gibi rakamlar yerine işinizi göreceğiniz maximum değere getirmeniz faydanıza olacaktır. Bu ayar cPanelin kullanacağı php scriptleri için geçerlidir. ( Örn: cronjob ile bir php çalıştıracaksanız ve süre yetersiz geliyorsa bu kısımdan ayarlarınızı yapabilirsiniz. )
  2. cPanel PHP max POST size (Minimum: 55; Maximum: 2,047) - cPanel scriptleri ile post edebileceğiniz limittir. ( Örn: phpMyAdmin ile gönderebileceğiniz en yüksek limit 55Mb olarak gelmektedir. )
  3. cPanel PHP max upload size (Minimum: 50; Maximum: 2,047) - cPanel scriptlerine ait en yüksek dosya yükleme limitidir. ( Örn: phpMyAdmin üzerinden yükleyebileceğiniz en yüksek dosya boyutu 50Mb olarak gelmektedir. )
  4. cPanel PHP loader - cPanel normal olarak buradaki yükleyicilere ihtiyaç duymaz. Ancak indireceğiniz ya da kuracağınız farklı plug-in ve uygulamalar bu yükleyicileri isteyebiliyor. Bu sebepten istek doğrultusunda açabilirsiniz. ( Ben ioncube, sourceguardian, zend yani üçünü de açıyorum. Benim kullandığım pluginler için gerekiyor. )



Ek: Büyük sql dosyalarınız için bu ayarları değiştirmek yerine "MySQL Büyük Veritabanı Yükleme İşlemleri ( SSH )" başlıklı makalemi incelemenizi öneririm.



Security

  1. Blank referrer safety check - Bu seçenek varsayılan olarak pasif ( Off ) geliyor. Bu seçeneği kesinlikle aktif ( On ) konumunda tutmanızı öneririm. Off konumunda CSRF açığınıda bu şekilde kapatıyoruz. Ancak buradaki bir nokta ise whmcs gibi otomasyon kullanan kişilerin faturalama ve askıya alma gibi işlemlerinde sorun yaşaması oluyor. Burada tanımlı olan bir url ile isteğin referans gösterilerek yönlendirilmesi gerekiyor.
  2. Referrer safety check - Neredeyse üstteki kontrol ile aynı şekilde çalışıyor. Farkı url ile gelen alan adı, port ve ip adreslerinin kontrollerini de yapıyor.



SQL

  1. Include databases in disk usage calculations - Bu seçeneği aktif ( On ) konuma getirerek, her hosting hesabının kendisine ait veri tabanı için kendisine tanımladığınız paket limitleri dahilindeki alandan kullanmasını sağlayabilirsiniz.
  2. Use INFORMATION_SCHEMA to acquire MySQL disk usage - Mysql ile birlikte veri tabanınıza ait şemaları gösteren tablodur. Her hosting hesabı için ayrı ayrı oluşur. Bu seçeneği kapatarak, uygulamanızda bulunan sql açıkları sebebiyle veri tabanınızda bulunan bilgilerinize şemalar ile ulaşılmasını engelleyebilirsiniz.



System

  1. Apache non-SSL IP/port - 0.0.0.0:80 yerine 0.0.0.0:1234 gibi 4 haneli farklı port girebilirsiniz. Girdiğiniz portun farklı bir servis portu ile çakışmaması gerek. ( Örn. SMTP: 587, POP: 110, IMAP: 143, FTP:21 gibi... )
  2. Use cPanel® jailshell by default - On
  3. Reset Password for cPanel accounts - Off
  4. Reset Password for Subaccounts - Off

Exim Configuration Manager

...