Dünya üzerinde en çok tercih edilen yazılım Wordpress. Bunun yanında birçok açığı da barındıran wordpress güvenliğini .htaccess üzerinden sağlayacağız.
public_html içerisine gelip .htaccess içerisine vereceğim kodları tek tek ekleyiniz, sunucu kabul etmeyebilir kaydedip sitenizi ana sayfanı kontrol ederek tekrar dediğim gibi tek tek ekleyiniz..
1- Çoğu kişi dosya izinlerine ve yetkilerine bakmaz/ önemsemez sunucudan veya admin panelinden sızmalarda bilgisayar korsanı istediği her şeyi gerçekleştirebilir. Vereceğim komutu filezilla veya hosting firmasının panelindeb dosyalara erişerek wp.config.php alt tarafına ekleyiniz.
define( ‘DISALLOW_FILE_EDIT’, true );
2- Bu kod ile .htaccess’i dosyasını korumaya alacağız. Artık dışardan .htaccess içerisine müdahale ve değiştirme olasılığını kapatmış olduk.
Order Allow,Deny
Deny from all
3- Bu kod ile her istekte çalıştırılacak fonksiyonlar vardır wp.load.php görmelerini engelleyerek burayı da kapatıyoruz.
order allow,deny
deny from all
4- Bu kod ile wp.config.php içerisini görmelerini engelleyeceksiniz. Neden önemli derseniz veritabanı bilgileriniz burada saklanır, veritabanı bir sitenin dinamik taşıdır.
Order Deny,Allow
Deny from all
5- Bu kodumuz ile sunucu üzerinden gelebilecek zararlı yazımları engelliyoruz.
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
6- Bazen index/of dizin listelenmesini görmüş olabilirsiniz. Görmeyenler için dizinler arasında sizin dosyalarınızı görebilirler ve bilgi alarak sitenizi hackleyebilirler. Buna çözüm olarak dizin listelemesini kapatacağız.
Options All -Indexes
7- Son zamanlardaki gelişmelere bakıldığında, hatta uzun bir süredir, ilgili uzantı (xmlrpc.php) saldırganlar tarafından kötü amaçlar doğrultusunda kullanılıyor. Yani ilgili dosyaya yüzlerce istek gönderilerek, bir nevi DDoS saldırıları gerçekleştirilmektedir. Xmlrpc güvenliğini almanız sizin için büyük artıdır. Özellikle wordpress sitelerine ddos çok sorun oluşturabilir. Wordpress açıklarından biri olduğu için dikkat etmemiz lazım. 1 kod ile 301 yapıyoruz ikinci kod ile xmlrpc.php korumaya alıyoruz.
RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]
Order allow,deny
Deny from all
8- Bu kod ile sunucu imzasını kaldırarak site güvenliğinizi bir nebze daha arttırabiliriz.
ServerSignature Off
9- Error.log dosyalarından bilgisayar korsanları site içerinizdeki girip çıktığınız linklere bakarak admin panelinize girip sitenizi hackleme şansları vardır. Çoğu worpdress açıktır ama biz şimdiden önlemizi alıp kapatalım.
Order deny,allow
Deny from all
10- Zararlı örümcükleri, botları engelliyebilirsiniz.
RewriteCond %{REQUEST_URI} !^/robots.txt
RewriteCond %{REQUEST_URI} !^/sitemap.xml
11- Virüs,bot,malware gibi şeyler için bu kodlar eklemeniz size artı sağlayacaktır.
RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR] RewriteCond %{HTTP_USER_AGENT} ^[bcdfghjklmnpqrstvwxz\ ]{8,}|^[0-9a-z]{15,}|^[0-9A-Za-z]{19,} [OR] RewriteCond %{HTTP_USER_AGENT} Extractor|almaden|anonymous|autoemailspider|blogsearchbot-martin|CherryPicker|Digger|DirectUpdate|Download\ Accelerator|echo\ extense|Collector|EmailWolf|flashget|frontpage|Go!Zilla|grub\ crawler|HTTPConnect|httplib|HttpProxy|HTTP\ agent|HTTrack|Indy\ Library|Jakarta\ Commons|libWeb|libwww|Microsoft\ Data|Microsoft\ URL|MJ12bot|Movable\ Type|NICErsPRO|NutchCVS|Nutscrape/|OmniExplorer|psycheclone|PussyCat|PycURL|python|QuepasaCreep|SiteMapper|Download|sucker|SurveyBot|Teleport\ Pro|Telesoft|TrackBack|Turing|TurnitinBot|vobsub|webbandit|WebCapture|webcollage|WebCopier|WebDAV|WebEmailExtractor|WebReaper|WEBsaver|WebStripper|WebZIP|widows|Wysigot|Zeus|Zeus.*Webster [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^
12- Wp-include dosyasını korumak için bu kodu ekleyebilirsiniz.
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
13- Dosya yetkileri çok önemlidir, İzinleri ayarlarsanız hareket etmelerini kısıtlamış olursunuz. Dosya izinleri
Ana dizin (WordPress dizini): 0755
wp-includes/: 0755
wp-admin/: 0755
wp-admin/js/: 0755
wp-content/: 0755
wp-content/themes/: 0755
wp-content/plugins/: 0755
wp-admin/index.php: 0644
.htaccess: 0644
wp-config.php: 0400
14- /wp-content/uploads/ ve /wp-includes/ içerisine yeni .htaccess oluşturun ve aşağıda verdiğim kodu ekleyin. Bu .php olan shelleri engelleyecektir.
deny from all