Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP-TR KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ Tahsin TÜRKÖZ
OWASP-TR 2 İçerik Giriş - Katmanlı güvenliğin tanımı Test ortamı tanıtımı Bir PHP açıklığı Saldırılar ve önlemler Sonuç
OWASP-TR 3 Tanım Katmanlı güvenlik (Defence in depth, elastic defence)Katmanlı güvenlik (Defence in depth, elastic defence) –Amerikan savunma bakanlığı kaynaklı –Peşpeşe güvenlik mekanizmalarının uygulanması –Saldırıyı engeleme yerine etkilerini azaltma ya da zayıflatma stratejisi –Ana fikir: Bir savunma mekanizması devre dışı kaldığında sistemi savunmasız bırakmama –Yöntem: Her katman ile saldırganın hareket alanını daha da kısıtlama –Örnekler: Fiziksel güvenlik, güvenlik duvarı, saldırı tespit sistemi, şifreleme
OWASP-TR 4 Test Ortamı Tanıtımı Linux Apache + PHP Web sunucu Saldırgan Yönetici
OWASP-TR 5 PHP Açıklığı Uzaktan Kod Çalıştırma (RFI) Problem: Uzaktan dosya indirmeye ve çalıştırmaya izin veren web uygulama çatıları Girdi denetimi zayıf uygulamalar Etkilenen platformlar: PHP (4.0.4 sonrası ve 5.x) Diğer uygulama çatıları (Java,.NET gibi)
OWASP-TR 6 Uzaktan Kod Çalıştırma (RFI) Örnek SUNUCU TARAFIINTERNET /index.php?lang=tr <?php … ?> sonuç index.php <?php $language = $_REQUEST[‘lang’]; include($language.”php”); …... ?> tr.php
OWASP-TR 7 Uzaktan Kod Çalıştırma (RFI) Örnek /index.php?lang= <?php … ?> sonuç index.php <?php $language = $_REQUEST[‘lang’]; include($language.”php”); … ?> SUNUCU TARAFIINTERNET
OWASP-TR 8 Saldırı – Önlem Döngü Yapısı Saldırı Karşı Önlem Çıkarılacak Dersler
OWASP-TR 9 Döngü #1 Saldırganın bakış açısı PHPShell yeterli mi? Saldırganın ihtiyaçları Kompleks işlemlerin yürütülebileceği bir bağlantı arabirimi Sunucunun arkasındaki sistemlere erişim Yetki seviyesi yüksek bir kullanıcı hesabı Kayıt dosyalarının temizlenmesi Bağlantıları ele verebilecek komutların değiştirilme Çözüm: Rootkit / Trojan enjeksiyonu
OWASP-TR 10 Tunnel yapısı
OWASP-TR 11 Rootkit / Trojan /root/.bashrc /etc/bash_login /root/.bash_logout /etc/bash_logout /etc/tunnel /etc/bashrc /etc/bash_logout /etc/tunnel netstat last B planı: chmod
OWASP-TR 12 /etc/bash_logout Kayıt dosyalarının yedeğini alır. Sistem yönetici yetkilerine sahip enjoy kullanıcısını oluşturur. SSH anahtarlarını root kullanıcısının ev dizinine kopyalar. Saldırganın bilgisayarına doğru SSH tünelini açar. Kayıt dosyalarını geri kopyalar.
OWASP-TR 13 /etc/bash_login Kayıt dosyalarının yedeğini alır. enjoy kullanıcının ve saldırgan bilgisayarı ile ilgili kayıtları siler. SSH tünelini ve varsa saldırgana ait aktif bağlantıları koparır. enjoy kullanıcısını siler. root kullanıcısının ev dizinindeki SSH anahtarlarını siler. Kayıt dosyalarını geri kopyalar.
OWASP-TR 14 Döngü #1 Karşı Önlem Yetkisiz kullanıcı (nobody) ile koşan apache Çıkarılacak Ders Minimum hak prensibi Dışa doğru açık olan bağlantı haklarının kısıtlanması
OWASP-TR 15 Döngü #2 Saldırı B planı olarak düşünülen SUID biti aktife edilmiş chmod komutunun kullanılması Karşı Önlem Sistemi tümüyle yeniden kurma Chroot ile hapishane yapısına geçme Çıkarılacak Ders Başarılı bir şekilde kırılmış bir sistem yeniden kurulmalıdır. Minimum hak prensibi için tek katman yetersiz kalabilir.
OWASP-TR 16 ChRoot
OWASP-TR 17 Döngü #3 Saldırı RFI açıklığı ile web tabanlı kabuk (shell) açarak; Web sayfası tahrifatı (defacement) Karşı Önlem Aktif bütünlük kontrolcüsü kullanımı - Tripwire Çıkarılacak Ders Tüm yönüyle sunucu sıkılaştırması (hardening) Minimum hak prensibi için iki katman yetersiz kalabilir.
OWASP-TR 18 Döngü #4 Saldırı RFI açıklığı ile web tabanlı kabuk (shell) açarak; Syscall kullanılarak Hizmet Dışı Bırakma saldırısı Kaynak kodu ifşası Karşı Önlem PHP kodunu düzeltme Çıkarılacak Ders Açıklığın kaynağını bulup, önlem alınması Katmanlı güvenlik anlayışının önemi
OWASP-TR 19 Sonuç Kurumsal bilgi sistemlerinde bütün açıklıkların farkında olmak ve zamanında gerekli önlemleri almak çok zordur. Katmanlı güvenlik ile farklı güvenlik mekanizmaları uygulayarak saldırıların etkileri azaltılabilir.
OWASP-TR 20 Faydalı Linkler & Sorular chroot howto.html apache güvenliği modsecurity PHP güvenliği
OWASP-TR 21 Faydalı Linkler Unix/rootkit/trojan SSH ile tünel Unix güvenliği