WordPress Gelişmiş Güvenlik Önlemleri

Ö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…

“WordPress Gelişmiş Güvenlik Önlemleri” üzerine 27 yorum

  1. 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>

    Yanıtla
  2. 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.

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

    Yanıtla
  4. 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?

    Yanıtla
  5. @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.

    Yanıtla
  6. 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;)

    Yanıtla
  7. 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.

    Yanıtla
  8. Выводы можно сделать из любого умозаключения, только порой так лень 😉

    Yanıtla
  9. полет фантазии надо срочно остановить, а то улетит незнамо куда и не поймаешь :))

    Yanıtla
  10. как же все-таки не хватает врмени даже на то чтобы прочитать что-то интересное((

    Yanıtla
  11. полет фантазии надо срочно остановить, а то улетит незнамо куда и не поймаешь :))

    Yanıtla
  12. Siteme sürekli saldırı alıyorum. Bu benim için müthiş birşey.. Çok teşekkür ederim.. Yapacaklarım listesine ekledim..

    Yanıtla
  13. Долго, долго искал и вот оно… случайно наткнулся на Вашу изумительную статью

    Yanıtla
  14. Mükemmel bilgiler olmuş, ihtiyacımız olan bir yapılandırmaydı. Özellikle Dizin Listelemeyi kapatmak ve Server imzası konusunda. Dizin Listeleme yöntemiyle özel yaptığınız temanın dosyalarına rahatlıkla erişebiliyorlar ve kolayca dosyayı alabiliyor. Bilgilendirme için çok teşekkürler.

    Yanıtla
  15. Teakolik simdi sitesinizi buldum. Bence adamindibi .com u da alin ) cunki adamin dibisiniz ))) Teakolik faydali bilgiler fiskiriyor resmen ! SUPER !!!! DESTEK ICIN BENCE HER KES 1 KERE ADSENSE YE TIKLASIN

    Yanıtla

TEAkolik için bir yanıt yazın Yanıtı iptal et