Htaccess Dosyası ile Tüm Web Güvenlik Açıklarını Kapatmak
22 Mayıs 2016 Yorum 0 1817 Görüntüleme

Htaccess Dosyası ile Tüm Web Güvenlik Açıklarını Kapatmak

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.

 

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]

Bu kurallarla Linux yerel dosya enjeksiyon(LFI) saldırısnı engelleyebilirsiniz.

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]

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.

Önceki Laravel Route Cache Kullanımı
Sonraki Sigarayı Bırakma Maceram Elektronik Sigara Likit ve Sarım İşleri

Yazar hakkında

keykubad
keykubad 212 Gönderiler

2012 yılında yeni kimliği ve yeni bilgilerle sizlere teknoloji,web programlama,tasarim,güvenlik,internet ve programlar hakkında detaylı bilgiler vermek amaçlı kurulmuş kişisel web sayfamdır.

Yazara ait tüm yazılar

Diğer yazılarımız

Güvenlik 0 Yorum

Linux Cpanel Apache Derlemek Videolu

Linux Cpanel kurulu sunucularda mutlaka apache derlenmeli yoksa zend , ioncube , GD gibi eklentiler eksik olur ve bu eklentilere gereksim duyacak siteler problem yaşayacaktır. Konu Sonunda sizlere nasıl derleyebileceginizi gosteren

Web Programlama 0 Yorum

Laravel 5 Basit Helper Sınıfı Ekleme

Kendi özgemiş projemde kullandığım ve blade template motoru echo metodu olan {{ }} taglarındaki türkçe karakter problemi için projemde kullanırken kendim keşfetmiştim basit ve etkili bir yoldur. Laravel ile ilgili

PHP ve MYSQL 0 Yorum

Laravel Yardımcı Sınıf Ekleme ve Google Analytics Verilerini Sitenize Ekleme

Laravel ile yapılmış projelerinizde kullanabilmeniz açısından sizlere yardımcı sınıf eklemeyi videolu olarak detaylı bir şekilde anlattım.Ek olarak dahil ettiğimiz sınıf Google Analytics sınıfı olup projenizdeki görüntüleme kısmıda ayarlanmıştır.Çok basit iki

0 Yorum

Herhangi bir yorum yapılmamış!

İlk yazan olabilirsin bu yazıyı yorumlamak istermisin?

Cevap bırakın

This site uses Akismet to reduce spam. Learn how your comment data is processed.