Htaccess Dosyası ile Tüm Web Güvenlik Açıklarını Kapatmak
22 Mayıs 2016 Yorum 0 1470 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 158 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 Sunucuda Bilgileri Gizleyerek Güvenlik Sağlamak

Sunucunuzun dışarıya bir takım ufak bilgileri aktarması sonucu bir takım saldırılara karşı ufak bir kapı açmış sayılırsınız. Bu tür ufak bilgiler bile kötü düşünceye sahip kullanıcıların sunucunuz üzerinde bir takım

PHP ve MYSQL 0 Yorum

Mysql Frag Finder Kullanımı Defrag İşlemi

Defrag nedir ne işe yarar ? Nasıl Defrag yapabilirim? Fragment ingilizcede parça anlamına gelir. Fragmentation ise parçalanmayı gösterir. Defrag de toplama anlamına gelir. Siz hdd ye bi veri yazarken bunlar

Sunucu Yönetimi 0 Yorum

Linux Tünelleme İle Yeni IP Adresi Eklemek

İşlemin geçerli olacağı Linux Sürümleri (Slackware, Centos, Debian, Ubuntu, Fedora, Redhat, etc) İşlemin yapılabilmesi için tun modülü aktif edilmelidir. Bu modülü aktif etmek için aşağıdaki komutu uygulayınız; modprobe tun İşlem

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.