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.
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.
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>
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]
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=”http://blog.wolkanca.com”><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.
Wolkanca’dan Alıntıdır.

Cevap Gönder

E-posta adresiniz yorumunuzda yayınlanmayacaktır.