• En yeniler

    HTACCESS ile Web Site Güvenliği SQL inj. XSS vb.


    .htaccess Web güvenliğindeki Önemini Ve anlatımını Yapacam
    Başlangıç olarak .htaccess Nedir ? 

    .htaccess (hypertext access file) Genelde Sunucunun Ana dizininde olan
    Adı olmayan Ayarlar Uygulamalar Yapışan Dosyadır. Güvenlik ,Yetki, Düzenleme, Ayar, kısıtlama vb.
    işlemleri yapabiliyoruz.
    Daha Onlarca işlem Ama bu gün Biz Sadece Güvenliğin Bir kısmını Ele Alacağız .

    Güvenlik

    - Dizin Şifreleme





    Hedef site Saldırılarında çok büyük Engel Olarak Görüyorum bunu
    Mesala Sql injection Yaptık User bilgilerini Çektik Admine Login olacaz.
    koyulduk paneli Aramaya /user/admin/ yazdık Karşımıza Yukarıdaki Resim Gibi
    login Çıktı Artık bu konuda Deneme Yanılmadan başka Çaremiz Kalmaz ve bu
    önümüze kalın Bir duvar Gibi Engel olur.

    Nasıl Yapılır


    Bunun için 2 Adet Dosya Oluşturmamız Lazım.
    biri .htaccess
    diğeri .htpasswd

    Bunları Şifrelemek istediğimiz Dizinin içine Atacaz.

    .htaccess içeriği.

    AuthType Basic
    AuthName "Klasör Açıklaması"
    AuthUserFile /home/kullancıadınız/sifrelenecek_dizin/.htpasswd
    <Limit GET>
    require valid-user
    </Limit>

    AuthUserFile /home/kullancıadınız/sifrelenecekdizin/.htpasswd


    / den sonrasını kendinize Göre düzenlemeniz Gerekmektedir .

    "sifrelenecekdizin" yerine şifrelemek isteğiniz Sayfayı yazacaksınız
    örnek olarak "/admin/" , "/panel/" gibi

    .htpasswd oluşturma

    Bu dosyanın içeriğini kullancı Adı ve şifremizi Yazacaz Yalnız dili Ascı karekterlerden

    oluşturuldugundan dolayı vereceğim siteden kullancı adı ve şifre oluşturacağız.

    http://www.4webhelp.net/us/password.php

    "Name" bölümüne kullanıcı adınızı. "Password" ve "Password Again" bölümüne şifrenizi yazın.
    Daha sonta "encreypter" butonuna tıklayın.
    Çıkan kodu Kopyalıyıp oluşturdgumuz .htpasswd için yapıştırıyoruz.

    örnek:

    mesela ben kullanıcı adı :black pass:black
    yapacam şu şekilde bir kod çıkacak karşıma

    black:68hmGImVvL8iY

    ve bu kod değişkendir her yaptıgımızda farklı bir kod çıkacak.
    dizin şifreleme bu kadar 2 dosyayıda aynı klasörün için atmamız lazım


    - Web Scannerlardan korunma

    Bu konu çok önemli Biz bu sayede Acunetix sqlmap dirbuster gibi
    Scannerlardan korunmamızı saglıyor bunu yapamak için .htaccess dosyamızın ana dizinde olması
    lazım .


    Bunu kendinize göre Editleye bilirsiniz Çoğalta bilirsiniz

    kod:

    RewriteEngine On
    <IfModule mod_rewrite.c>
    RewriteCond %{HTTP_USER_AGENT} Acunetix [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} dirbuster [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} jbrofuzz [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} webshag [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} nikto [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} SF [OR]
    RewriteCond %{HTTP_USER_AGENT} sqlmap [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} fimap [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} nessus [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} whatweb [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} Openvas [NC,OR]
    RewriteCond %{HTTP:Acunetix-Product} ^WVS
    RewriteRule ^.* http://127.0.0.1/ [R=301,L]
    </IfModule>

    Yukarıdaki komutları kopyalayıp .htaccess dosyanıza yapıştırın.
    Yapmamız yeterlidir netten bakıp buldugum tarama araçları bunlar siz düzenliye bilirsiniz





    - sql injection Engelleme

    Günümüzün En önemli AÇıklarında Biride Sitemizde bulunan Sql Açıkları.
    Belki kod bilgimiz Yok Ve Açıgı kapatamıyoruz veya Öncede Güvenlik İçin
    yapmak istiyoruz bunu için .htaccess dosyamızın içerisine vereceğim kodu Katıyoruz
    ve engellemiş oluyoruz ana dizine koymanız gerekmektedir.


    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC,OR]
    RewriteCond %{HTTP_REFERER} ^(.*)(<|>|’|%0A|%0D|’|<|>|).* [NC,OR]
    RewriteCond %{REQUEST_URI} ^/(,|;|<|>|/{2,999}).* [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email| harvest|extract|grab|miner).* [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*(libwww|curl|wget|python|scan).* [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|’|%0A|%0D|’|<|>|).* [NC,OR]
    RewriteCond %{HTTP_COOKIE} ^.*(<|>|’|%0A|%0D|’|<|>|).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\\.0\\.0\\.1).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(<|>|’|%0A|%0D|’|<|>|).* [NC,OR]
    RewriteCond %{QUERY_STRING} [^a-z](|order|union|declare|char|set|cast|convert|delete |drop|exec|insert|met*|script|select|truncate|upda te)[^a-z] [NC]
    RewriteRule (.*) - [F]


    Yukarıdaki komutları kopyalayıp .htaccess dosyanıza yapıştırın.
    bu yeterlidir ve Kesin çözüm Değildir Bu Bypass Edilebilir bunu Daha sonraki
    makalelerimize Ekliye biliriz.



    - XSS engelleme

    Geleceğin En büyük açıklarından biri olan xss Bazen çık tehlikeli Sonuçlar

    doğurabiliyor.
    Bunu Kesin çözümü Açıgı kapatmak bir diğer yöntem ise .htaccess ile engelleme
    Bu yöntemle muhtemel Saldırılarıda 403 hatası verdirerek önüne Geçiyoruz .
    örnek olarak şunu engellemiş oluyoruz .


    yaz.php?id=<scr*pt>alert(’Black’)</script>
    yaptıgımız anda 403 hatası verecektir.




    kod:
    RewriteEngine On
    RewriteCond %{QUERY_STRING} base64_encode.*\\(.*\\) [OR]
    RewriteCond %{QUERY_STRING} (\\<|<).*script.*(\\>|>) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\\[|\\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\\[|\\%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ index.php|forum.php|yaz.php [F,L]


    Yukarıdaki komutları kopyalayıp .htaccess dosyanıza yapıştırın.
    Dosya isimlerini Kendinize Göre düzenleyin Lütfen



    ----------
    - Erişim kısıtlama 
    Erişim Kısıtlama ile isteğimiz Domainden gelenlere izin Veriğ Engelleye Biliriz
    kod:
    <Files ~ "^.(htaccess|htpasswd)$">
    deny from all
    </Files>
    order deny,allow
    allow from DisLanZe.Org
    deny from 192.168.1.1
    deny from Google
    deny from abd.govYukarıdaki komutları kopyalayıp .htaccess dosyanıza yapıştırın.

    Şeklinde



    allow from yazarak izin verip
    denny from yazarak engellye biliriz .
    ihtiyaca göre çoğaltıla bilir.

    .htaccess dosyasını olabildiğince küçük tutmaya çalışın.
    Çünkü her dosya isteğinde sunucu tarafından kontrol edilirler.
    Ve boyutun büyümesi yavaşlamaya neden olabilir.

    .htaccess dosyayı olağınca düzenli turmaya çalıçalım çünkü
    kural arttıkça sunucunun dosyayı tanıması zorlaşacaktır.
    öneri olarakta
    # kullanarak isimlendirip ayırın


    .htaccess Kullanımı okadar Genişki Tek makalede Anlatmak imkansız
    Güvenlik için bu makale buraya kadar dahada ekleme yapabilirim .
    bir Başka konuda Buluşmak üzere Selametle

    Hiç yorum yok

    Post Bottom Ad