Web platformu açıklıkları 2 kategoride değerlendirilecek: Web sitesi admini yada developer tarafından doğrudan düzeltilebilecek şeyler; bir de yazılım üreticilerinin versiyon update'leri ve yamalar çıkararak çözmek durumunda olduğu şeyler. Bu başlık altında konfigürasyon bozuklukları nedeniyle oluşabilecek açıklıklardan söz edilmeyecek.
Saldırganların sızma girişimleri için ilk bakacakları yer web platformları olacaktır. Web platform, sunucu işletim sistemi üzerine yerleşen ve uygulamanın altında yer alan COTS (Common –ticari olmak zorunda olmayan- Off-The-Shelf) yazılımlardan oluşur.Point-And-Click Exploitation Using Metasploit
- Metasploit, açık kaynak bir exploitation aracı.
- Saldırılacak adresi de, saldırılacak açıklığı da bildiğimiz öngörülüyor.
- Exploit aracı, yani iş tamamlandığında karşıya trojan yerleştirme, konsol açma vs gibi bir sonuca ulaşılıyor.
- GUI ve web arayüzleri de var, ancak en etkili kullanımı konsolu aracılığıyla bu yazılımı kullanmak.
- CORE IMPACT (Core Security Technologies) ve CANVAS (Immunity) de bu tarzda bir araç.
- Hızlı bir referans olarak: http://www.webguvenligi.org/docs/metasploit&wmap.pdf
# msfconsole
msf> svn update è online güncellemeler
msf> use exploit/windows/... è tab tuşu ile komut tamamlama mevcut
msf (......)>show options è parametreler; hepsi değil
msf (......)>set [TAB] è tab tüm parametreleri listeler; gereklileri set et
msf (......)>set PAYLOAD windows/meterpreter/... è saldırı
msf (......)>show options
...
msf (......)>exploit è yada "run"
Web Platform Security Best Practices
Common Best Practices:
- Her iki yöne de agresif bir network erişim kontrolü uygula.
- Güvenlik yamalarını mutlaka uygula.
- Uygulama kaynak koduna gizli data koyma!
- Düzenli olarak networkte açıklık barındıran sunucu olup olmadığını tara.
- Bir saldırı altında olmanın nasıl birşey olduğunu bil. Networkü izlerken olası anormallikleri değerlenirebiliyor musun?
IIS Hardening
- Saldırganlara çok fazla bilgi veren detaylı hata mesajlarını kapat.
- Web klasörlerini, sistemin kurulu olduğu sürücüden başka bir sürücüye kur (sistem c:'de ise web klasörleri d:'de olsun mesela).
- Kullanılmayan uzantı eşleştirmelerini (.txt ó notepad.exe gibi) kaldır.
- IISLockdown ve ve URLScan kullan
- IISLockdown: IIS'e güvenlik konfigürasyonları uygulayan otomatik, template tabanlı bir araç.
- URLScan: IIS'e yapılan talepleri keserek kriterlere uymayanları reddeden template tabanlı bir araç. IIS için bir firewall gibi düşünülebilir.
- IISLockdown: IIS'e güvenlik konfigürasyonları uygulayan otomatik, template tabanlı bir araç.
- Web sunucu sürücüleri mutlaka NTFS olsun (FAT32 değil!) ve ACL (Access Control List) konusunda son derece tutucu ol.
- Sistem üzerindeki güçlü yetkileri (cmd.exe gibi) sil, kısıtla, taşı yada adını değiştir.
- Sunucu üzerindeki yazma ve execute ACL'lerinden "everyone" ve "guests" gruplarını kaldır.
Apache Hardening
- İhtiyaç duyulmayan modülleri disable et.
- ModSecurity (Ivan Ristic tarafından yazılan ve web uygulama firewall'u gibi çalışan bir modül) uygula.
- Chrooting. Güvenlikte ilk kurallardan biri derinlemesine defanstır. Bir saldırgan içeri sızdığında ilk bakacağı şey, /etc/passwd vb dosyalara erişmek ve sistem üzerinde kendi yetkilerini yükselltmek olacaktır. Bu tür atakları engellemenin bir yolu Apache sunucusunu karantina altında tutmaktır, buna chrooting deniyor. Apache, kendi kapalı dosya sistemi üzerinde kısıtlı haklarla çalışır; içeri sızmayı başaran saldırgan, bu "hücre" içinde sıkışıp kalacak ve gerçek dosya sistemine erişemeyecektir.
- SuExec uygula.
- CIS (CISecurity – Center of Internet Security)'deki Apache benchmarklarını kullan.
PHP Best Practices
- Dosya adı yada path'inin kullanıcıdan gelen bir input olmasını engelle.
- Eval() fonksiyonunu kullanıcıdan gelen input almadan ve ayrı olarak kullan.
- Register_globals'i kapat.
- Tüm kullanıcı girişleri için doğrulama yap.
- Php.ini dosyası içinde aşağıdaki konfigürasyonu yap:
- open_basedir è Belirlenen klasördeki dosyaların erişimlerini kısıtlar. "../../../../etc/passwd" artık bir yere gidemez.
- disable_functions èDerinlemesine defans için büyük yol. Kullanılmayan ve güvenlik açısından riskli fonksiyonları (eval(), passthru(), system() gibi) kapat.
- expose_php è Bu konfigürasyonu kapatmak, HTTP response headerlarında gösterilen PHP banner'i kaldırır.
- display_errors è Bir exception durumunda detaylı bilgi vermeyi engellemek için.
- safe_mode è Açılırsa çok kısıtlı dosya erişim izni.
- allow_url_fopen è Uzak dosyalar üzerindeki operasyon kabiliyetini disable etmek için.
- open_basedir è Belirlenen klasördeki dosyaların erişimlerini kısıtlar. "../../../../etc/passwd" artık bir yere gidemez.
Hiç yorum yok:
Yorum Gönder