lostyazilim
tr.link

WordPress güvenliği için tavsiyeler [Detaylı]

8 Mesajlar 2.333 Okunma
acebozum
tr.link

Atakan Atakan Emekli. Kullanıcı
  • Üyelik 20.05.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek -
  • Konum Aydın
  • Ad Soyad A** U**
  • Mesajlar 6139
  • Beğeniler 2442 / 2410
  • Ticaret 12, (%100)



Özellikle WordPress tabanlı siteler, WordPress’in popülerliğinin ve yaygınlığının bir dezavantajı olarak, daha sık saldırı hedefi olabiliyorlar. Eğer sizin de bir WordPress siteniz varsa güvenlik için aşağıdaki önlemleri almanızda fayda var.

Sık Yedek Alın

Eskilerin “Hırsıza kilit dayanmaz” diye bir lafı vardır. Özellikle de internet gibi bir ortamda hangi önlemi alırsanız alın, bir risk taşıdığınızı unutmamanız lazım. O yüzden alınacak ilk önlem sık sık yedek almak olmalı. WordPress’te bu işi otomatik olarak yapmaya yarayan eklentiler mevcut. (ör: WP-DB-Backup)

Güncellemeleri Sıkı Takip Edin

WordPress, kendi sürümü ve ilgili eklentilerin güncellemelerini kolaylıkla takip edebilmeniz için pek çok imkan sunuyor. Yayınlanan güncellemeleri kurma işini aksatmayın. Çünkü her güncelleme genelde bazı güvenlik açıkları için de yamalar sunuyor.

Yönetici Kullanıcı Adını Değiştirin

WordPress, ilk kurulumda otomatik olarak yönetici hesabının kullanıcı adını “admin” olarak atıyor. Bu da özellikle doğrudan yönetim panelini ele geçirmek için yapılan kaba kuvvet saldırıları (Brute Force) için bir güvenlik tehdidi oluşturuyor. O yüzden yönetici kullanıcı adını ya database yönetim programı (phpmyadmin) üzerinden ya da yine bir eklenti kullanarak değiştirin.

Kuvvetli Bir Şifre Kullanın

Maalesef çoğumuz çok da kuvvetli olmayan, internetten hakkımızda toplanabilecek basit verilerle tahmin etmesi nispeten kolay şifreler kullanıyoruz. Hatta bu şifreleri genelde sitelere göre de farklılaştırmayıp pek çok yerde kullanıyoruz. Öncelikle, yönetim hesabı şifrenizin karakter zenginliğini ve uzunluğunu arttırıp şifrenizi daha kuvvetli yapın. Siteniz için kullandığınız şifreyi başka yerlerde kullanmayın. Veritabanı için ayrı bir kullanıcı adı tanımlayın ve farklı bir şifre kullanın.

Klasör ve Dosyalarınızın Erişim Yetkilerini Biraz Daha Kısıtlayın

WordPress sitenizin kalbi olan “wp-config.php” dosyasının erişim ayarlarını kontrol edin. İlk kurulumda bütün dosyalar için “everyone read” yetkisi veren chmod 644 veya 755 tanımlanır. “wp-config.php” için “everyone read”i kaldırın. Chmod 640 ya da 750 olmalı. Bunun dışında dosyanın bulunduğu “.htaccess” dosyasına aşağıdaki satırları ekleyerek korumayı daha da arttırabilirsiniz.


order allow,deny
deny from all


Bunun dışında bütün klasörleriniz için chmod 755, dosyalarınız için de chmod 644 olmalı.

“wp-admin” klasörünüz için (mümkünse) sunucu tarafında şifre tanımlayın. Bunun için bir “.htaccess” dosyası yaratmanız gerekecek. (Bunu nasıl yapacağınızı öğrenmek için WordPress sitesine bakabilirsiniz. Ya da sunucunuzun kontrol paneline erişebiliyorsanız, oradan da bu işlemini yapabilirsiniz.) Bu önlemin yaratacağı tek sıkıntı ajax kullanan eklentilerin wp-admin içindeki “ajax.php” dosyasına erişememesi olur. Eğer “wp-admin” klasörü içindeki “.htaccess” dosyasının en altına aşağıdaki satırları da eklerseniz bu sorunu da bertaraf etmiş olursunuz.


Order allow,deny
Allow from all
Satisfy any


Robot.txt Dosyasını Dikkatli Düzenleyin

Arama motorlarının sitenin alt klasörlerini de listelemesini engellemek için “robot.txt” dosyasına aşağıdaki satırları ekleyin:

User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-content/
Disallow: /wp-admin/
Disallow: /wp-includes/


Siteye Girişlerde SSL’i Etkinleştirin

WordPress uzunca bir süredir SSL ile kullanıcı/yönetici girişini destekliyor. Bu sayede giriş yaparken kullanıcı bilgileri internet üzerinden şifrelenerek gönderiliyor olacak. Eğer SSL sertifikanız varsa, WordPress’i de SSL’li yapmak için tek yapmanız gereken “wp-config.php” dosyasına aşağıdaki satırı eklemek:

# Sadece kullanıcı girişlerini SSL’li yapmak için:
define(‘FORCE_SSL_LOGIN’, true);

# Hem kullanıcı hem yönetici girişlerini SSL’li yapmak için:
define(‘FORCE_SSL_ADMIN’, true);


Güvenlik Eklentileri Kurun

WordPress eklenti havuzundan bulabileceğiniz bazı eklentiler şüpheli erişimleri tespit edip engelleme özelliğine sahip.

Ard arda gerçekleşen başarısız login girişimlerini bloke etmek için Login LockDown gibi bir eklenti kullanın. Bu eklenti aynı IP adresi üzerinden gerçekleştirilen başarısız girişimleri tanıyıp tüm erişimin belirli bir süre askıya alınmasını sağlıyor.

WordPress Firewall, WordPress Antivirus gibi eklentiler de belli başlı saldırı tiplerinin algılanıp önlenmesini sağlıyor. WordPress File Monitor ise WordPress kurulumunuzdaki dosyaları düzenli olarak tarayarak, değişiklikleri size haber veriyor.

Açıkçası, en çok tavsiye edeceğim eklenti yukarıdakilerden farklı. MuteScreamer eklentisi PHPIDS adlı PHP tabanlı saldırı tespit sistemini bazı ek özelliklerle WordPress’e entegre ediyor. Login LockDown ile birlikte sadece bu eklentiyi bile kullansanız yeterli olur bence.

Sitenizin WordPress ile Yapıldığını Söylemeyin

Tarayıcı üzerinden web sitenizin kaynak koduna baktığınızda meta etiketleri arasında aşağıdaki gibi bir satır görürsünüz.



Bu meta etiketi, Hacker’lara sitenizin hangi WordPress sürümünü kullandığını gösterir. Bu etiketi silmek için kullandığınız temanın “functions.php” dosyası içine aşağıdaki kodu yapıştırın.

remove_action(‘wp_head’,'wp_generator’);

Eğer Windows Live Writer kullanmıyorsanız aşağıdaki satır ile WLW aparatını da kaldırmanız faydalı olur.

remove_action(‘wp_head’, ‘wlwmanifest_link’);

Veritabanınızdaki Tablo Önadını Değiştirin

Pek çok “SQL Injection” saldırısının başarılı olmasının altında WordPress veritabanı mimarsinin biliniyor olması yatıyor. O yüzden kurulum esnasında ya da sonrasında veritabanı tablo adlarını değiştirin. Bunu yapan eklentiler mevcut ama açıkçası ben MySQL’den ve PHP’den anlayanlara elle (ne yaptığını bilerek) bu değişikliği yapmalarını tavsiye ederim.

Bu işlemi kabaca şöyle özetleyeyim:

Öncelikle veritabanınızın yedeğini alın ve tüm eklentileri etkisizleştirin.

“wp-config.php” dosyasındaki “$table_prefix” parameterisini değiştirin. “wp_” dışında gelişigüzel bir önad belirleyin. Yani:
$table_prefix=”yeni_onad_”

Daha sonra phpmyadmin üzerinden “RENAME TABLE … TO …” komutunu kullanarak bütün tabloların önadını değiştirin. Yani:
RENAME TABLE wp_commentmeta TO yeni_onad_commentmeta;

Son olarak birkaç tablodaki 1-2 parametreyi daha değiştirmeniz gerekecek.

“yeni_onad_options” tablosunu bulup içindeki “wp_user_roles” ifadesini “yeni_onad_user_roles” olarak değiştirin.

“yeni_onad_usermeta” tablosunu bulup içindeki “wp_user_level”, “wp_capabilities”, “wp_autosave_draft_ids” ifadelerini sırasıyla “yeni_onad_user_level”, “yeni_onad_capabilities”, “yeni_onad_autosave_draft_ids” olarak değiştirin.

Veritabanı Kullanıcısının Haklarını Kısıtlayın

Veritabanına ulaşan kullanıcının sadece “select, insert, delete, update, create, drop, alter” yetkilerinin olması yeterli. Diğer yetkileri budayın.

WordPress Kurulumunuzun Yapısını Değiştirin

“wp-content” klasörünüzün yerini ve ismini de değiştirmeniz mümkün. Her ne kadar bu değişiklik bazı eklentilerde (kötü tasarımdan ötürü) sorun yaratsa da faydası çok olduğu için denemeye değer. Bir miktar PHP bilginiz varsa, bunun yaratabileceği sorunları kendinizin gidermesi de mümkün.

“wp-config.php” dosyasını açıp “wp-content” dizininin yerinde ve isminde yaptığınız değişikliği yansıtacak şekilde aşağıdaki satırları ekleyin.

define(‘WP_CONTENT_FOLDERNAME’, ‘yeni-wp-content-dizini’);
define(‘WP_CONTENT_DIR’, ABSPATH . WP_CONTENT_FOLDERNAME );
define(‘WP_CONTENT_URL’, ‘http://alan-adi/’.WP_CONTENT_FOLDERNAME);
define(‘WP_PLUGIN_DIR’, WP_CONTENT_DIR .’/plugins’ );
define(‘WP_PLUGIN_URL’, WP_CONTENT_URL.’/plugins’);


Proxy Bağlantılarını Kısıtlayın

WordPress web siteniz pek çok farklı site ile iletişim içindedir. Bazen bunu kısıtlamak gerekli / faydalı olabilir. O zaman tek yapmanız gereken, “wp-config.php” dosyasına aşağıdaki satırları eklemek olacaktır.

define(‘WP_HTTP_BLOCK_EXTERNAL’, true); // dış sitelerden erişimi engelle
define(‘WP_ACCESSIBLE_HOSTS’, ‘api.wordpress.org’); // WordPress api sayfası hariç


Kaynak: Uğur Cem Yıldız
Batuhan Gerilim IstanbulHosting

kişi bu mesajı beğendi.

wmaraci
reklam

Gerilim Gerilim www.giyse.com Kullanıcı
  • Üyelik 27.08.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Bilgi İşlem
  • Konum Çanakkale
  • Ad Soyad B** Ö**
  • Mesajlar 1922
  • Beğeniler 496 / 496
  • Ticaret 20, (%100)
Çok faydalı teşekkürler.Uyguluyorum
 

 

Giyse.com - Giyim Moda, Ayakkabı, Çanta ve Aksesuar Online Alışveriş

Karizma Karizma WM Aracı Kullanıcı
  • Üyelik 04.08.2012
  • Yaş/Cinsiyet - / E
  • Meslek Öğrenci
  • Konum Muş
  • Ad Soyad ** **
  • Mesajlar 54
  • Beğeniler 0 / 3
  • Ticaret 0, (%0)
güzel yazı teşekkürler.
 

 

yazoo yazoo vienna Kullanıcı
  • Üyelik 17.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek
  • Konum Avusturya
  • Ad Soyad ** **
  • Mesajlar 10
  • Beğeniler 1 / 2
  • Ticaret 0, (%0)
güzel ve faydali bir yazi olmus fakat sanirim biraz aceleye gelmis bir yazi gibi...herseyden kisa kisa anlatim var.
 

 

yaşantısız yaşam...öyle böyle biri....
wmaraci
wmaraci

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
Tam arşivlik bir yazı olmuş. Elinize sağlık.

Ben de "Better WP Security" diye bir eklenti kullanıyorum. Burada yazanların bir kısmını tek tıklamayla hallediyor. :) Tek bir kötü tarafı var; Türkçe değil.

Edit: Blogumda ayrıntılı bir yazı yayınladım. İsteyen bakabilir. http://soulmy.net/better-wp-security-wordpress-guvenliginiz-icin-bir-eklenti-yeter
 

 

.

Gerilim Gerilim www.giyse.com Kullanıcı
  • Üyelik 27.08.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Bilgi İşlem
  • Konum Çanakkale
  • Ad Soyad B** Ö**
  • Mesajlar 1922
  • Beğeniler 496 / 496
  • Ticaret 20, (%100)
Merhaba.Bende robot.txt dosyası ftp'de görünmüyor.ancak site.com/robot.txt var :)
 

 

Giyse.com - Giyim Moda, Ayakkabı, Çanta ve Aksesuar Online Alışveriş

Atakan Atakan Emekli. Kullanıcı
  • Üyelik 20.05.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek -
  • Konum Aydın
  • Ad Soyad A** U**
  • Mesajlar 6139
  • Beğeniler 2442 / 2410
  • Ticaret 12, (%100)

Gerilim adlı üyeden alıntı

Merhaba.Bende robot.txt dosyası ftp'de görünmüyor.ancak site.com/robot.txt var :)


Bazı eklentiler var, onlar ekliyor diye hatırlıyorum :)
Gerilim

kişi bu mesajı beğendi.

Gerilim Gerilim www.giyse.com Kullanıcı
  • Üyelik 27.08.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Bilgi İşlem
  • Konum Çanakkale
  • Ad Soyad B** Ö**
  • Mesajlar 1922
  • Beğeniler 496 / 496
  • Ticaret 20, (%100)

Atakan adlı üyeden alıntı

Bazı eklentiler var, onlar ekliyor diye hatırlıyorum :)


Düzenliycektim bulamadım ondan dedim.Yoast var,Google XML Sitemaps var ekleyebilecek.

Ana dizine oluşturayım mı bende robot.txt?
Atakan

kişi bu mesajı beğendi.

Giyse.com - Giyim Moda, Ayakkabı, Çanta ve Aksesuar Online Alışveriş
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al