August 12, 2013

Wordpress Siteler için girişlerde proxyleri engellemek

Farklı bir saldırı türü olarakta karşımıza çıkan bu sinir bozucu proxyleri engelleyerek gerek sitemizin güvenliğini artırıp gerekse gerçek kullanıcılardan gelen hiti görmemiz mümkün. Googlede ufak bir kaç araştırma sonrasında .htaccess ile kolaylıkla engelleyebileceğimizi anladıktan sonra blogum da bu konuyu tekrardan yazmaya karar verdim. Proxy ile sahte Hit çekmeye çalışanlar yada Proxy Saldırıları ile canınızı sıkanlar oluyorsa işte bu ayarlar tam site göre olacaktır.

Öncelikle .htaccess düzenliyeceğiz eklememiz Gerekenler

RewriteEngine on
RewriteCond %{HTTP:VIA} !^$ [OR]
RewriteCond %{HTTP:FORWARDED} !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA} !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR} !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP} !^$
RewriteRule ^(.*)$ - [F]

# protect xmlrpc
<IfModule mod_alias.c>
RedirectMatch 403 /xmlrpc.php
</IfModule>

Yukarıda girmiş olduğumuz .htaccess komutları ile Proxylerin %98 ini engellemiş olduk isterseniz siteye proxy ile girenlere ufak bir mesaj göstermek istersenizde yapmanız gereken tek şey

Tema klasörü içerisindeki header.php nin ilk satırına

<?php if(@fsockopen($_SERVER['REMOTE_ADDR'], 80, $errstr, $errno, 1))
die("Proxy Girişleri Yasaklanmıştır."); ?>

Yukarıdaki satırları eklemek ve kayıt edip çıkmak sonrasında her hangi bir proxy ile girip girmediğini deneyebilirsiniz.