Kategoriler
Blog

WordPress için bir miktar güvenlik ipucu

WordPress bir önceki yazımda da belirttiğim gibi açık kaynak bir yazılım olması nedeni ile ve de çok fazla kullanılması sebebi ile üzerinde sürekli hain planlar yapılan bir blog yazılımı. Windows gibi, virüs yayacak kişi o virüsü Windows için yapar çünkü dünyada en çok windows kurulu bilgisayar vardır.

Korunmak için oldukça güzel yöntemler var bunların en etkilileri sunucu ile alakalı olduğu doğru fakat yine de elimiz armut toplamayacak merak etmeyin. Burada maksadımız deneyimsiz ve amatör arkadaşlarımızın işine yarayacak bilgileri sunmak.

wordpress guvenlik

Şimdi arkadaşlar öncelikle sizin sunucunuzda eğer Mod_security özelliği varsa mutlaka ama mutlaka bunu etkinleştiriniz, bunun var olup olmadığını hizmet aldığınız yerden öğrenebilirsiniz. Mod_security sayesinde bir dizi güvenlik seçeneklerini kullanabileceksiniz fakat bunların bazıları ileri düzey bilgiler olduğu için kafanızı karıştırmadan devam edeceğim.

Spam botlar. Bu arkadaşlar sitenizi sömürmek için tırnak içinde "g..veren" insanlar tarafından oluşturulmuş sanal ziyaretçilerdir, yani gerçek bir kullanıcı değiller ama sitenizin kaynaklarını kullanıyorlar. Bununla birlikte siteyi komple download etmeye uğraşan tipleri de yok değil. Bunlardan kesinlikle kurtulmalısınız, bunu yollarını aşağıda yazacağım.

WordPress sürekli spam yorumlar, spam üyelikler, spam iletişim istekleri vb. alıyorsa aşağıda yazacaklarımı uygulayın. Arama yaptığınızda hep klasik .htaccess kodları karşınıza çıkar fakat bu işleri yapan abilerin de arama yapıp onları görebileceğini biliyorsunuz bu yüzden onlar da sürekli yöntem değiştirebiliyorlar, en basitinden sizin engellediğiniz bir referrer(yönlendiren kaynak) bir harfini değiştirmeleri bile işlerine devam etmelerine yeter.

Sırasıyla gidelim.

wp-config.php dosyası hayati önem taşır, siteye ait veritabanı ismi, kullanıcısı, sunucusu ve parolası o dosyanın içindedir bu yüzden bunu koruyalım, şöyle: .htaccess dosyasına yazıyoruz;
<files wp-config.php>
Order deny,allow
deny from all
</files>

Şimdi spamlardan biraz kutulalım, bunları yaptıktan sonra spamlar gelmeye devam ediyorsa o gelen spamları yapan arkadaşlar gerçekten emek verip yapıyorlardır, kızmayın.

Her zaman kök dizinde bulunan wp-comments-post.php dosyasının ismini değiştiririm, tabii ki sonrasında bunu temanızın yorum kısmında yazanını da değiştirmeniz gerekir ve aşağıdaki kodlarda olanları da aynı isimle değiştirmelisiniz.

Uzatmak istemiyorum fazla aşağıdakiler de .htaccess dosyasına yazılacak;

RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|PROPFIND|OPTIONS|PUT)$ [NC]
RewriteRule .* - [F,NS,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*/wp-comments-post.php.* HTTP/ [NC]
RewriteRule .* - [F,NS,L]

RewriteCond %{THE_REQUEST} !^[A-Z]{3,9} .+ HTTP/(0.9|1.0|1.1) [NC]
RewriteRule .* - [F,NS,L]

RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).*
[NC]
RewriteCond %{HTTP_HOST} ^$
RewriteRule .* - [F,NS,L]

RewriteCond %{REQUEST_METHOD} =POST
RewriteCond %{HTTP_USER_AGENT} ^-?$
RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).*
[NC]
RewriteRule .* - [F,NS,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*/wp-comments-post.php.* HTTP/ [NC]
RewriteCond %{HTTP_REFERER} ^-?$
RewriteRule .* - [F,NS,L]

RewriteCond %{REQUEST_METHOD} =POST
RewriteCond %{HTTP_USER_AGENT} ^.*(opera|mozilla|firefox|msie|safari).*$ [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.+/trackback/? HTTP/ [NC]
RewriteRule .* - [F,NS,L]

<FilesMatch "wp-comments-post.php$">
SecFilterSignatureAction deny,nolog,status:403
SecFilterSelective ARG_url "casino|ringtone|lyrics"
SecFilterSelective ARG_comment_post_ID "^$"


SecFilterSelective ARGS "blockspam|blockspam|blockspam|blockspam|blockspam|blockspam|blockspam|blockspam

blockspam|blockspam|blockspam|blockspam|blockspam|blockspam|blockspam|blockspam|blockspam|blockspam 
nomorespam|nospam"
</FilesMatch>

Bu aşağıdakiler de işte o kötü bot denen elemanları engelleyecek;

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(aesop_com_spiderman|alexibot|backweb|bandit|batchftp|bigfoot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(black.?hole|blackwidow|blowfish|botalot|buddy|builtbottough|bullseye) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(cheesebot|cherrypicker|chinaclaw|collector|copier|copyrightcheck) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(cosmos|crescent|curl|custo|da|diibot|disco|dittospyder|dragonfly) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(drip|easydl|ebingbong|ecatch|eirgrabber|emailcollector|emailsiphon) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(emailwolf|erocrawler|exabot|eyenetie|filehound|flashget|flunky) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(frontpage|getright|getweb|go.?zilla|go-ahead-got-it|gotit|grabnet) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(grafula|harvest|hloader|hmview|httplib|httrack|humanlinks|ilsebot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(infonavirobot|infotekies|intelliseek|interget|iria|jennybot|jetcar) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(joc|justview|jyxobot|kenjin|keyword|larbin|leechftp|lexibot|lftp|libweb) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(likse|linkscan|linkwalker|lnspiderguy|lwp|magnet|mag-net|markwatch) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(mata.?hari|memo|microsoft.?url|midown.?tool|miixpc|mirror|missigua) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(mister.?pix|moget|mozilla.?newt|nameprotect|navroad|backdoorbot|nearsite) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(net.?vampire|netants|netcraft|netmechanic|netspider|nextgensearchbot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(attach|nicerspro|nimblecrawler|npbot|octopus|offline.?explorer) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(offline.?navigator|openfind|outfoxbot|pagegrabber|papa|pavuk) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(pcbrowser|php.?version.?tracker|pockey|propowerbot|prowebwalker) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(psbot|pump|queryn|recorder|realdownload|reaper|reget|true_robot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(repomonkey|rma|internetseer|sitesnagger|siphon|slysearch|smartdownload) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(snake|snapbot|snoopy|sogou|spacebison|spankbot|spanner|sqworm|superbot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(superhttp|surfbot|asterias|suzuran|szukacz|takeout|teleport) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(telesoft|the.?intraformant|thenomad|tighttwatbot|titan|urldispatcher) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(turingos|turnitinbot|urly.?warning|vacuum|vci|voideye|whacker) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(libwww-perl|widow|wisenutbot|wwwoffle|xaldon|xenu|zeus|zyborg|anonymouse) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^web(zip|emaile|enhancer|fetch|go.?is|auto|bandit|clip|copier|master|reaper|sauger|site.?quester|whack) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures).*$ [NC]
RewriteRule . - [F,L]
</IfModule>

Referrer(bir sitenin yönlendirmesi) göndermeyen yorum yapma girişimlerini engellemek için temanızın functions.php dosyasının içine şunu yazın;

add_action('check_comment_flood', 'check_referrer');
function check_referrer() {
if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == “”) {
wp_die( __('<br /> <br /><p><h3 align="center" style="color:red;">Tarayıcınızın
referrer özelliğini etkinleştirin, veya eğer bir spamciyseniz aşağıdakini alıp
defolun!</h3> <br />
<p align="center"><a href="https://wolkanca.com.tr"><img alt="nolur" border="0"
src="http://img181.imageshack.us/img181/7017/nolurmi2.gif" /></a></p>
') );
}
}

Üst üste yorum yapılmasını engellemek için şuradaki eklenti işinize yarayacak.

Yorum yapanların yazdıkları yorumların en az şu kadar karakterde olmalı diye yorumlara minimum en az karakter sınırı koymak için de şu eklenti işinizi görecek.

Şimdilik hepsi bu kadar bunların tümünü yaptığınızda WordPress sitenizde ciddi farkı hissedebilirsiniz.

Daha fazla kaynak bağlantı, bu bağlantılarda da bunlar harici çeşitli ipuçları var;
http://www.noupe.com/how-tos/wordpress-security-tips-and-hacks.html

11 Best Ways to Improve WordPress Security


http://weblogtoolscollection.com/archives/2009/01/03/maximum-wordpress-security/
http://wordpress.org/extend/plugins/wp-security-scan/

WOLKANCA

Volkan Yılmaz

Volkan Yılmaz #SEO, Digital Marketing, Growth Hacking #wolkanca volkan@volkanyilmaz.com.tr

“WordPress için bir miktar güvenlik ipucu” için 3 yanıt