Htaccess dosyasında rewrite kuralları ekleyerek web sunucusnuz için ek önlemler alabilirsiniz.Dosya tüm linux sunucularda mevcut olup bazen yazılımlarda hazır geldiği gibi bazen sizin oluşturmanız gerekebilir.Eğer wordpress,prestashop,opencart,joomla vs. gibi hazır yazılımlar kullanıyorsanız, veri güvenliğinizi sağlamak isyor ve 3. şahısların zararlı saldırılarına karşı güvenlik sağlamak için aşağıdaki işlemleri yaparak dosyanıza gerekli eklemeleri yapınız.
FTP bağlantısı sağlayıp dosyanıza LFI(Local File Include) saldırı korumaları için ekleyiniz.
.htaccess
Options +Followsymlinks
RewriteEngine On
RewriteCond %{REQUEST_URI} passwd
RewriteRule ^(.*)$ - [F,L]
RewriteEngine On
RewriteCond %{REQUEST_URI} shadow
RewriteRule ^(.*)$ - [F,L]
//bu örnek kuralları ekleyerek sunucunuzdaki krtik dosyalarınıza web üzerinden yetkisiz erişimleri engelleyebilirsiniz.
[php]RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http%3A%2F%2F [OR]
RewriteRule .* – [F][/php]
Bu kurallarla Linux yerel dosya enjeksiyon(LFI) saldırısnı engelleyebilirsiniz.
[php]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR]
RewriteCond %{QUERY_STRING} \=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC,OR]
RewriteCond %{QUERY_STRING} (\.\./|\.\.) [OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} https\: [NC,OR]
RewriteCond %{QUERY_STRING} \=\|w\| [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} (\< |%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (< |%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\< |%3C).*iframe.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (< |%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\([^)]*\) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|< |>).* [NC,OR]
RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR]
RewriteCond %{QUERY_STRING} (\./|\../|\…/)+(motd|etc|bin) [NC,OR]
RewriteCond %{QUERY_STRING} (localhost|loopback|127\.0\.0\.1) [NC,OR]
RewriteCond %{QUERY_STRING} (< |>|’|%0A|%0D|%27|%3C|%3E|%00) [NC,OR]
RewriteCond %{QUERY_STRING} concat[^\(]*\( [NC,OR]
RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} (;|< |>|’|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC,OR]
RewriteCond %{QUERY_STRING} (sp_executesql) [NC]
RewriteRule ^(.*)$ – [F,L]
[/php]
Bu eklediğimiz kurallarla mysql enjeksiyon ve remote file inclusion(RFI) saldırılarını engeleyebiliriz.
Bu kurallar haricinde kendinizde ek kural ve önlem kodlarını ekleyebilirsiniz.
selamlar
site sağlığı kısmında uyar alıyorum
düzeltmem için gerekli .htacess kodlarını da paylaşır mısınız?
teşekkürler
merhaba aldığınız uyarıya göre değişebilir. site sağlığı kısmında aldığınız uyarı detayına bakınız.