WordPress Gelişmiş Güvenlik Önlemleri

Tarih: 22 Nisan 2010 | Kategori: Güncel | Yazar: | 22 Yorum

Önceki WordPress Güvenlik yazımda siz değerli okuyucularıma .htaccess ile Wp-login.php’yi şifrelemekten bahsetmiştim.  Bu sayede WordPress açıklarından sisteminizde admin olmaya çalışanlar için ek bir güvenlik olarak kullandık. Şimdi ise sizlere ek güvenlik önlemlerimizden bahsedeceğim.

.htaccess üzerinden yapacağımız bu güvenlik ayarlarını dikkatli yapmanızı tavsiye ederim. Özelliklede .htaccess dosyanızın bir yedeğini aldıktan sonra işlemleri yaparsanız hata yaptığınızda düzeltebilirsiniz.   Wp-login.php ‘yi şifrelemeyi biraz uzun olduğu için ayrı bir yazımda belirtmiştim. Şimdi ki güvenlik önlemlerimizi kısaca ve net olarak anlatmak istiyorum.

1.  Wp-Config.php dosyasını korumaya almak.

Normalde Wp-config.php dosyanız Chmod olarak koruma altındadır ve dışarıdan erişime kapalıdır. Fakat bazı güvenlik riskleri veya aynı makinadaki başka bir hesap üzerinden Wp-Config dosyasına erişim sağlanabildiğinide görüyoruz. Bu tip hack durumlarına karşı Wp-config dosyamızı .htaccess ile korumaya alabilir ve erişimi tamamiyle kesebilirsiniz. .htaccess dosyasına aşağıdaki kodları ekliyoruz.

# Wp-Config.php dosyasını korumak by teakolik
<files wp-config.php>
order allow,deny
deny from all
</files>

2.  Server imzasını kaldırmak.

Özelliklede Php hostinglerde Apache bir hata oluştuğunda yada bazı komutlar girildiğinde karşı tarafa Apache hata sayfası olarak yada bilgi sayfası olarak versiyon numaralarını ve diğer bilgilerini gönderir.  Bu tip durumlar aslında bir açıklık değildir. Fakat hackerler apache gibi sistemlerin güvenlik açıklıklarını sürekli takip ettikleri için bu tip bilgileri ele geçirdiklerinde sisteminizi daha rahat bir şekilde hack edebilirler.  Ellerinde ne kadar az bilgi olursa o kadar güvende sayılırsınız.

Ör. Apache/22.11.55 (555) PHP/4.4.44 Server at 2.3.4.5 Port 80  Mesela Apache’nin 22.11.55 sürümünde bir güvenlik açığı varsa bu bilgiyi ele geçiren bir hacker sisteminize daha rahat sızabilir.  Bu tip bilgileri kapatmak için yine .htaccess dosyamızın içine aşağıdaki kodları ekliyoruz.

# Server imzasını kaldırmak by TEAkolik
ServerSignature Off

3. Dizin listelemeyi kaldırmak.

Dizin listeleme olayı işin epeyli gıcık bir tarafı.  İlk bakışta insana bir problem yokmuş gibi gelebilir.  Apache eğer bir klasör içerisinde index.htm, index.html, index.php gibi giriş dosyaları yoksa direk olarak o dizin içerisindeki dosyaların tamamını listeleyebilir.  Genelde WordPress kullanan arkadaşların resimleri upload ettikleri uploads klasörü ile plugin klasörleri bu tarz bir listelemeye açıktır.  Bu listeleme sayesinde kötü niyetli bir hacker sisteminizdeki klasör ve dosyaları görebilir bu dosyaları download edebilir.  Yada farklı atraksiyonlar çevirerek sisteminizi hack etmeye çalışırlar.  En güzel yöntem dizin listelemeyi kapatmaktır. Bazı arkadaşlar bu tip başıboş klasörlere boş bir index.php atarak da engel olmaya çalışırlar.  Yine .htaccess dosyamızı açıp şu kodları ekliyoruz.

# Dizin listelemeyi kapatmak. by TEAkolik
Options All -Indexes

4. Hata sayfalarını sabitlemek.

Sunucunuza gelen bazı isteler sunucu tarafında hata mesajları ile karşılanır.  Mesela hiç olmayan yada kaldırılmış bir sayfanıza bir istek geldiği zaman 404 hata kodu ekrana gelir.  Bunun farklı versiyonları vardır ve bu hata sayfaları standartta Apache tarafından oluşturulmuş hata kodlarına göre çeşitlilik arz eder.  Bizim için önemli olan yukarıda da belirttiğim gibi Hacklerlerin ellerine bilgi vermemek.  Sizin hakkınızda ve sistem hakkında ne kadar az bilgi edinirlerse o kadar güvendesiniz demektir.   Bu tarz hata sayfalarını kapatarak sisteminizi bir nebze daha güvenli hale getirebilirsiniz.  Bunlardan bir taneside 404 hata sayfası şablonlarıdır.  Ör: (http://www.teakolik.com/404.php)  kendinize özel bir hata sayfası oluşturabilir yada temanız içerisinde bulunan 404 hata sayfasına bu tip istekleri yönlendirebilirsiniz.  Aşağıdaki kodları .htaccess dosyamıza eklediğimizde sistem tarafından üretilen hata kodlarında temanızın 404.php dosyasına yönlendirilerek  karşı tarafa istediğiniz bir şekilde hata sayfası çıkartabilirsiniz.  Yada farklı atraksiyonlar çevirmek mümkün  http://www.teakolik.com/kaybol.php  gibi :)

# Hata sayfalarını sabitlemek. by TEAkolik
ErrorDocument 404 /wp-content/themes/TEMANIZINADI/404.php
ErrorDocument 403 /wp-content/themes/TEMANIZINADI/404.php
ErrorDocument 500 /wp-content/themes/TEMANIZINADI/404.php

Kolay gelsin…

Pin It
Etiketler: , , , , , , , , , , , , , , ,
Yönetici Notu

Lütfen yapacağınız yorumlarda kişi ve kurumlara hakaret etmeden, kişilik haklarına zarar vermeden görüşlerinizi bildiriniz. Oluşabilecek zararlarda ve gözden kaçabilecek durumlarda tüm sorumluluk yorumu yapan kişiye aittir. Gizlilik sayfamızda bu bilgiler açıkça belirtilmiştir.

22 Yorum Yapıldı:

  1. Volkan

    Evet önemli bilgiler.

    Bende katkı olsun diye şunu ekleyeyim:

    <IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{REQUEST_METHOD} POSTRewriteCond %{REQUEST_URI} .wp-comments-post\.php*RewriteCond %{HTTP_REFERER} !.*wolkanca.com.* [OR]RewriteCond %{HTTP_USER_AGENT} ^$RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]</IfModule>

  2. Volkan

    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
    RewriteCond %{HTTP_REFERER} !.*siten.com.* [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]

    böyle değişsin.

  3. TEAkolik

    @Volkan
    Teşekkür ederim @Volkan bu sayede spam yorumlara karşı sistemimizi korumaya almış oluruz. Özelliklede spam yorum yapan botlar :)

  4. Serdar

    Merhaba teakolik hocam.Acaba buraya bu kodların hepsinin ekle olacağı .htaccess dosyasının içeriğini ekleyebilir misiniz? Sorunsuz olması açısından diyorum.Anladığım kadarıyla WordPress’in kendi ile ilgili bir sıkıntı yok sıkıntı daha çok sunucu kaynaklı oluyor.Wordpress’in açıklarını takip ettiğim zamanlarda en kritik açıkların admin şifresini bypass etmek üzerine olduğunu gördüm.Wordpress admin kullanıcısını değiştirirsek/kaldırırsak bu tür açıklardan korunmuş oluyoruz.Bu yeterli midir milw0rm gibi sitelere gönderilen exploitlerden kurtulmak için?

  5. TEAkolik

    @Serdar
    Selamlar sadece bu kodları mevcut .htaccess dosyanın içine kopyalaman yeterli.

    Malesef admin kullanıcısını değiştirmek yetmiyor. Bu yüzden bunları yayınladım.

  6. Kemal ONUR

    Kuzen çok sağol, önemli bilgiler bunlar. Bendeki sorun hallolsa ben de apıcam ama bir türlü tamamlayamadık şunları :( ayrıca @Valkan, sana da teşekkürler;)

  7. Serdar

    Teşekkürler hocam bilgilendirme için.

  8. Abdullah

    Sağolun hocam güzel anlatmışsınız , bir problem teşkil etmezse sitemde sayfanın da linki yer alacak şekilde yazınızı alıntılamak istiyorum.

  9. Antikvarus

    Выводы можно сделать из любого умозаключения, только порой так лень ;)

  10. TEAkolik

    Tabiki kullanabilirsiniz. Saygılarımla…

Yorum Gönder