Daha Güvenli Bir Drupal 7 İçin Yapılması Gerekenler

Drupal varsayılan olarak diğer pek çok sisteme göre oldukça güvenli. Açık kaynak bir projeyi kullanırken güvenliği sağlamanın birinci adımı elbette güncellemeleri takip etmek ve anında uygulamak. Ancak bunun dışında saldırganlara karşı alınabilecek başka önlemler de var. Sitelerimizin güvenliği için, onların işlerini olabildiğince zorlaştırmalıyız.

Peki Drupal 7 için yapabileceğimiz ne gibi güvenlik çalışmaları var?

1- Sunucu Başlık Bilgilerini Gözden Geçirmek, X-Generator ve X-Powered Bilgilerini Kaldırmak

Bir saldırganın yapacağı ilk iş sizin kullandığınız alt yapıyı tespit etmeye çalışmak olacaktır. Eğer sunucu tarafında gerekli önlemler alınmadıysa, bir sitenin Drupal 7 kullandığı kolaylıkla öğrenilebilir. Bir siteye Http çağrısı yapıldığında sunucu şu bilgileri de istemciye, yani olası saldırgana verir:

Server: Apache/2.2.17 (CentOS)
X-Powered-By: PHP/5.3.5
X-Generator: Drupal 7 (drupal.org)

Bunu engellemek için , Apache kullanıyorsanız httpd.conf'a şu satırları eklemeniz gerekir:

ServerSignature off
ServerTokens Prod

Bu Server bilgisini kaldıracaktır. Diğer iki önemli bilgiyi de VirtualHost tanımınızın içerisinden şu parametrelerle kaldırabilirsiniz:

Header unset X-Generator
Header unset X-Powered-By

Bunlar sunucu üzerinde çeşitli değişiklik haklarınız varsa yapabileceğiniz işlemler. Eğer paylaşımlı bir hosting kullanıyorsanız bunları yapamazsınız. Drupal 7'de ayrıca istenmeyecek bir özellik olarak meta tagların arasına bir generator etiketi ekleniyor. Yani Drupal 7 bir siteye sağ tıklayıp kaynak kodlarına baktığınızda <meta name="Generator" content="Drupal 7 (drupal.org)" /> satırını görebilirsiniz. Bunu temanızın template.php dosyasından kolayca engelleyebilirsiniz. Aşağıdaki kodları template.php dosyanıza eklerseniz, bu bilgi artık görünmeyecektir.

function TEMAADI_html_head_alter(&$head_elements) {
unset($head_elements['system_meta_generator']);
}

Ekleme işleminden sonra performans ayarlarından cache'i temizlemeniz gerekir.

2- Dizin Indexlerini Kaldırın

Yine httpd.conf dosyasında tüm siteleriniz için yapabileceğiniz bir ayar var.

<Directory "/var/www/html">
Options -Indexes FollowSymLinks

Benzer işlemi tek bir site için htaccess dosyanızda da yapabilirsiniz.

3- İçeriklere Eklenen Çalıştırılabilir Dosyaları Engelleyin

Drupal'da içeriklere dosya ekleme özelliği var. Eğer bu özellik sitenizde aktifse ve kötü niyetli kullanıcılarınız varsa, örneğin bir php dosya yükleyip bunu çalıştırabilirler. Yine Virtual Host tanımınıza yapacağınız bir ekleme ile, Drupal'ın varsayılan files dizini altına yüklenen dosyaların çalıştırılmasını engelleyebilirsiniz. Eklemeniz gereken kod şu:

<Directory "/var/www/html/drupal/sites/default/files">
AllowOverride None
AddHandler default .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI -Includes
</Directory>

Listedeki çalıştırılabilir dosya uzantılarına ekleme yapabilirsiniz.

Yorumlar

Facebook Yorumları
Tekno Dergi Yorumları

Yeni yorum ekle

İlgili Yazılar

Drupal bir cms(içerik yönetim sistemi)’dir.Drupal kullanarak çok kullanıcılı bir portal , bir forum , kendinize özel yada komünite bir blog veya hepsini içinde bulunduran bir site yapabilirsiniz.Drupal’in türkçe desteği de vardır.Çok geniş modül de

Daha önce küçük küçük drupal ipuçları vereceğimi söylemiş ve şuradaki yazıdan başlamıştım.Şimdi çoğu kişi için baş belası olan temiz adresler'i (clean urls) aktif ederken kaşılaşabileceğiniz bazı sorunlar ve çözümlerini söyleyeceğim.

Öncelikle normal olarak admin / settings / clean urls sayfasına gidip temiz url'lleri aktif etmeyi deneyin.Eğer aktif olursa zaten problem yok , eğer olmazsa .htaccess dosyanızda yer alan aşağıdaki Rewrite parametrelerinin başlarındaki # işaretini kaldırın:

# Rewrite current-style URLs of the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

 

Drupal'a geçmek için geç değil. Mevcut sitenizi Joomla, Wordpress, vBulletin ya da phpBB ile kurmuş olabilirsiniz. Ancak Drupal için hazırlanmış, belirtilen bu sistemlerdeki içerikleri Drupal'a aktarmanızı sağlayan modüller var.

Web dünyasındaki elimiz ayağımız olan Drupal'ın 6.5 ve 5.11 sürümleri çıktı. 6.x ve 5.x Drupal kurulumuna sahip olanlar yeni sürümleri şuradan indirip güncelleştirme işlemlerini yapmalılar.

Drupal ile hazırladığınız bir içerik siteniz varsa, kullanıcının okuduğu içeriğe benzer, alakalı içeriği bir yerlerde göstermek isteyebilirsiniz. Drupal'da bunun için bazı modüller mevcut. İşte o modüller: