Halil Öztürkci
Transkript
Halil Öztürkci
“Empower Your Business” AZURE’DA GÜVENLİK ADEO IT Consulting Services Halil ÖZTÜRKCİ Microsoft MVP CISSP, GPEN, GCFA, GREM, CEH, CHFI ADEO Bilişim Danışmanlık Hizmetleri halil.ozturkci@adeo.com.tr BEN KİMİM? Adli Bilişim Uzmanı Beyaz Şapkalı Hacker Adli Bilişim Derneği & USMED Microsoft MVP, Enterprise Security ADEO Kurucu Ortak&Güvenlik Birimi Yöneticisi Güvenlik TV Yapımcısı ve Sunucusu SANS Mentor (www.sans.org) CISSP, GPEN, GCFA, CHFI, CEH... www.halilozturkci.com halilozturkci AZURE NEDİR? Microsoft'un bulut platformudur: Daha hızlı ilerlemenize Daha fazla şey yapmanıza Paradan tasarruf etmenize yardımcı olan Tümleşik hizmetler (bilgi işlem, depolama, veri, ağ ve uygulama gibi) içeren büyüyen bir koleksiyondur. Üç türde hizmet sunulur; Infrastructure as a Service (IaaS) Platform as a Service (PaaS) Software as a Service (SaaS). SIZMA TESTİ Microsoft, Azure güvenlik denetimlerini ve süreçlerini iyileştirmek için düzenli olarak sızma testleri yapmaktadır. Güvenlik değerlendirmesinin de müşterilerin uygulama geliştirme ve dağıtma çalışmalarının önemli bir parçası olduğunu biliyoruz. Bu nedenle, müşterilerin Azure'de barındırılan uygulamaları üzerinde yetkili sızma testleri gerçekleştirmeleri için bir ilke belirledik. Bu tür bir test gerçek bir saldırıdan farksız olabileceğinden, müşterilerin sızma testini önceden Azure Müşteri Desteği'nden onay aldıktan sonra yapmaları önemlidir. Sızma testi, hüküm ve koşullarımıza uygun olarak yapılmalıdır. Sızma testi talepleri en az 7 gün önceden bildirimde bulunularak gönderilmelidir. AZURE GÜVENLİĞİNİ NASIL TEST ETTİK? TEST ORTAMI DVWA – Damn Vulnerable Web Application Bu güvenlik testi, Damn Vulnerable Web Application kullanılarak gerçekleştirilmiştir. Test sırasında Azure – Ubuntu Server 12.04 LTS kullanılmıştır. Kullanılan diğer bileşenler; Apache Server version: Apache/2.2.22 (Ubuntu) – x64 PHP: PHP/5.3.10-1ubuntu3.15 MySQL: 5.5.40-0ubuntu0.12.04.1 SALDIRI ÖRNEKLERİ SQL INJECTION -1 DVWA Uygulaması – SQL Injection modülüne %' or '0'='0' # kodu girilerek SQL injection zafiyetinin varlığı görüntülenmiştir. Sunucu gönderilen SQL Injection’a yanıt olarak Kullanıcı Adı ve Kullanıcı Soyadı bilgilerini geri döndürmüş, SQL Injection başarıyla tamamlanmıştır. SALDIRI ÖRNEKLERİ SQL INJECTION -2 DVWA Uygulaması – SQL Injection modülüne %' or 0=0 union select null, version() # kodu girilerek SQL injection zafiyetinin varlığı görüntülenmiştir. Sunucu gönderilen SQL Injection’a yanıt olarak Kullanıcı Adı ve Kullanıcı Soyadı bilgilerini geri döndürmüş, SQL Injection başarıyla tamamlanmıştır. SALDIRI ÖRNEKLERİ SQL INJECTION -3 DVWA Uygulaması – SQL Injection modülüne %' and 1=0 union select null, table_name from information_schema.tables # kodu girilerek information_schema’dan tablo bilgileri elde edilmiştir. SALDIRI ÖRNEKLERİ SQL INJECTION -4 DVWA Uygulaması – SQL Injection modülüne %' and 1=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users # kodu girilerek users tablosundan kullanıcı adı ve şifre bilgileri elde edilmiştir. SALDIRI ÖRNEKLERİ Cross Site Scripting - Reflected (XSS) -1 DVWA Uygulaması – XSS Reflected modülüne <SCRipt>alert('XSS değil de açıklık olması kötü abi')</scrIPT> kodu girilerek sayfada XSS oluşmasını sağladık. SALDIRI ÖRNEKLERİ Cross Site Scripting - Reflected (XSS) -2 DVWA Uygulaması – XSS Reflected modülüne <script>alert(document.cookie)</script> kodu girilerek sayfada XSS zafiyeti ile kullanıya ait cookie bilgileri elde edildi. SALDIRI ÖRNEKLERİ Cross Site Scripting – Stored (XSS) DVWA Uygulaması – XSS Stored modülüne <script>alert(document.cookie)</script> kodu girilerek sayfada XSS zafiyeti ile kullanıya ait cookie bilgileri elde edildi. Strored XSS olduğundan dolayı sayfayı ziyaret eden tüm kullanıcıların cookie bilgileri elde edilmiştir. SALDIRI ÖRNEKLERİ Remote File Inclusion (RFI) DVWA Uygulaması – File Inclusion modülüne PHP Shell eklenerek, sunucunun yönetimi ele geçirilmiş ve /etc/passwd dizini okunmuştur. SALDIRI ÖRNEKLERİ Command Execution DVWA Uygulaması – Command Execution modülüne 10.0.21.5; cat /etc/passwd komutu ile /etc/passwd dizini okunmuştur. Web Application Firewall -‐ WAF WAF Azure Web Application Firewall kurulduktan sonra, gönderilen istekler Barracuda üzerinden web uygulamasına iletilmiş ve zararlı istekler başarılı bir şekilde engellenmiştir. Web Application Firewall -‐ WAF SQL INJECTION - 1 DVWA Uygulaması – SQL Injection modülüne %' or '0'='0' # kodu girilerek SQL injection zafiyet kontrol edilmiştir. Zafiyet Barracuda WAF tarafından başarılı bir şekilde engellenmiştir. Web Application Firewall -‐ WAF SQL INJECTION - 2 DVWA Uygulaması – SQL Injection modülüne %' and 1=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users # kodu girilerek kullanıcı bilgileri alınmaya çalışılmıştır. Açıklık Barracuda WAF tarafından başarılı bir şekilde engellenmiştir. Web Application Firewall -‐ WAF Cross Site Scripting (XSS) DVWA Uygulaması – XSS Reflected modülüne <script>alert(document.cookie)</script> kodu girilerek XSS zafiyeti yeniden test edilmiştir. Açıklık Barracuda WAF tarafından başarılı bir şekilde engellenmiştir. Web Application Firewall -‐ WAF Sonuç? SHARED RESPONSIBILITY REDUCE SECURITY COSTS + MAINTAIN FLEXIBILITY, ACCESS, & CONTROL On-‐Premises IaaS PaaS SaaS Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking Customer Microsoft IAAS CUSTOMER RESPONSIBILITIES • • • • Application Security & SDL Access Control Data Protection O/S Baselines, Patching, AV, Vulnerability Scanning, Penetration Testing • Logging, Monitoring, Incident Response • ISMS Programmatic Controls • Certifications, Accreditations & Audits PAAS CUSTOMER RESPONSIBILITIES Access Control Data Protection • • • Geolocation Data Classification and Handling Privacy and Data Regulatory Compliance Logging & Monitoring Access and Data Protection ISMS Programmatic Controls Certifications, Accreditations and Audits DDOS PROTECTION AND AZURE Distributed Denial of Service Protection (DDoS) is a layer of the Azure physical network that protects the Azure platform itself from large scale internet based attacks where attackers use multiple “bot” nodes in an attempt to overwhelm an Internet service. Azure has a robust DDoS protection mesh on all inbound internet connectivity. This DDoS protection layer, has no user configurable attributes and is not accessible to customer. This protects Azure as a platform from large scale attacks, but will not directly protect individual customer application. Additional layers of resilience can be configured by the customer against a localized attack. For example; if customer A was attacked with a large scale DDoS attack on a public endpoint, Azure will block connections to that service. SONUÇ Hangi servis tipini seçtiğiniz size sunulan varsayılan güvenlik seçeneklerini belirler. Varsayılan olarak size sunulan özellikleri düzgün şekilde ayarladığınızdan emin olun. Mutlaka kendi güvenlik testinizi yapın veya yaptırın. Uygulamalarınızı Azure’a taşımadan önce mutlaka statik kaynak kod analizini yaptırın. Sunucularınızın ve uygulamalarınızın loglarını mutlaka belirli aralıklarla monitor edin. TEŞEKKÜRLER İLETİŞİM halil.ozturkci@adeo.com.tr www.adeo.com.tr www.halilozturkci.com www.twitter.com/halilozturkci 26