Htaccess Dosyası ile Tüm Web Güvenlik Açıklarını Kapatmak
22 Mayıs 2016 Yorum 0 1397 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 148 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

Web Programlama 0 Yorum

PHP Kontrol Yapıları Üçlü Operatör Kullanımı Ternary

Php’de kontrol işlemleri bazen kısa yapmak isteyebiliriz,Koşulları tek satırda işler halde gerçekleştirmek için php ternary yapmamız gerekir.Kısaca if else mantığıdır.Şimdi örnekle açıklamaya çalışayım. Uzun kontrol yapısı   Şimdi kısa Kullanım

Sunucu Yönetimi 0 Yorum

IIS Output Cache Önbellekleme Kullanımı ile Site Hızlandırma

IIS Output Cache Önbellekleme Kullanımı ile Site Hızlandırma yöntemi ile sitelerinizi çok hızlı açılır duruma getirebilirsiniz. Ancak bu yöntem anlık xml güncellemesi yapan eticaret sitelerinde önbellekleme yaptığı için xml verilerini

PHP ve MYSQL 11 Yorum

PHP Curl Facebook Video Url Almak (Parse URL)

PHP curl ile facebook videolarının indirme linkini almak icin yazdıgım parse url kodları peki bu ne işe yarayacak diyebilirsiniz bu betik yanında curl dosya indirme fonksiyonu kullanıp videoları bilgisayarınıza yada

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.