590 likes | 893 Views
Kurumsal Web Güvenliği Altyapısı Ar. Gör. Enis Karaarslan Ege Üniv. Kampüs Ağ Yöneticisi, ULAK-CSIRT üyesi ULAK-CSIRT http://csirt.ulakbim.gov.tr /. İÇERİK. 1 . Güvenlik Hakkında Temel Bilgiler 2. Neden Web Güvenliği 3. Kurumsal Web Güvenliği Modeli Standar t ları Oluşturma/Uygulama
E N D
Kurumsal Web Güvenliği Altyapısı Ar. Gör. Enis Karaarslan Ege Üniv. Kampüs Ağ Yöneticisi, ULAK-CSIRT üyesi ULAK-CSIRT http://csirt.ulakbim.gov.tr/
İÇERİK 1. Güvenlik Hakkında Temel Bilgiler 2. Neden Web Güvenliği 3. Kurumsal Web Güvenliği Modeli • Standartları Oluşturma/Uygulama • Güvenli Kodlama • Eğitim / Sınama • Ağ / web sistem farkındalığı • Saldırı Saptama • Saldırı Engelleme • Kurtarma • Koordinasyon Merkezi
İÇERİK (devam) 4. Ağ ve Web Sistem Farkındalığı 5. ULAK-CSIRT Web Güvenliği Grubu 6. Sonuç
1. Güvenlik Hakkında Bazı Temel Bilgiler
SALDIRI SALDIRGAN GÜVENLİK ÖNLEMLERİ ZAYIFLIK BİLGİ SİSTEMİ KULLANICILAR Bilgi Sistemi ve Güvenlik
Zayıflıkları çözmek ... • Zayıflık: Her sistemde bilinen veya henüz bilinmeyen güvenlik açıkları vardır. • Zayıflığın öğrenilmesinden sonra, o zayıflığı kaldıracak önlemlerin (yama, ayar) uygulanması arasında geçen zaman önemlidir.
Bir zayıflık ve yaşananların kronolojik sıradaki listesi ...
Güvenlik bir ürün değil, bir süreçtir. Security is a process, not a product. Bruce Schneier
Temel Güvenlik Önlemleri • Bilgi sistemlerinin güvenlik düşünülerek tasarlanması ve uygulanması (secure by design) • Zayıflıkların/saldırıların tespiti • Mümkün olduğunca saldırıların engellenmesi, • Riskin azaltılması • Saldırganın işinin zorlaştırılması
Güvenlik esasları ... • Bir zincir, ancak en zayıf halkası kadar güçlüdür. • O zaman tek bir zincire güvenmemek gerekir ... • Mümkün olduğunca farklı önlemler alınmalıdır.
Çok Katmanlı Güvenlik Örneği Her alt katman da birçok katmandan oluşabilir.
Güvenlik ve kullanışlılık? Tabii ki karikatürdeki gibi olmamalıdır. Güvenlik önlemleri, sistemin kullanılmasını zor duruma getirmemelidir.
Web Tabanlı Sistemler • Web (sunucu) kullanımı artıyor • bilgi sistemleri, ağ cihazları ... Vb • Web uygulamalarının ve bu ortamdaki bilginin artması • Kurumun dünyaya açılan penceresi • Hızlıca ve güvenlik düşünülmeden yapılan kurulumlar
Neden Web Güvenliği ? • Web tabanlı saldırılar artmakta • Zone-H– 400,000 (%36) artış (2004) • CSI-FBI – “Computer Crime and Security Survey” – Ankete katılanların %95’i, 2005 senesinde 10 adetten fazla web sitesi saldırısı vakasıyaşamış
Neden Web Güvenliği? (devam) • Web güvenliği sağlanamadığında kayıplar: • Maddi kayıp (Özellikle e-ticaret ile para aktarımı, banka uygulamalarında), • Güven kaybı, • Şirket verilerinin kaybı ile yaşanabilecek ticari risk, • Kişisel bilgilerin gizli kalma hakkının ihlali, • Ağda oluşabilecek zayıf noktadan kaynaklanabilecek diğer saldırılar.
Web Saldırı Örnekleri • Sayfalar değiştirilir • Sayfalar değiştirilmez, siteden bilgiler çalınır ve yöneticilerin haberi olmaz. • Site kullanılarak kullanıcı bilgileri çalınmaya devam eder.
Güvenlik İhlalinden Sorumlu Kim? • Ağ / ağ güvenliği yöneticisi? • Sunucu - veritabanı Yöneticisi? • Programcı • Hiçbiri • Hepsi
Web Güvenliğinde Temel Problemler • Web güvenliğine yeterli önem ve dikkatin verilmemesi • Geleneksel yöntemlerin yetersizliği • Yetersiz web sunucu güvenliği • Güvenli kodlama “secure coding” yapılmaması
Eğer bu kadar kötü yazılım güvenliğine sahip olmasaydık, bu kadar çok ağ güvenliğine ihtiyacımız olmayacaktı Bruce Schneier
Bir savaşı yenmek için, bireyin yöntemi bilmesi gerekirSun TzuSavaş Sanatı“The Art of War”
Kurumsal Ağlarda Web Sistemleri • Üniversite ağları gibi büyük kurumsal ağlarda, • farklı ve çok sayıda web sistemleri, • farklı ekipler bulunmaktadır. • Güvenliğini sağlamak için • Daha kapsamlı sistemler kullanılmalı • Birbirleriyle etkileşimli çalışmalı
Kurumsal Web Güvenliği Modeli • Standartlaştırma • Güvenli Kodlama • Sistem Farkındalığı • Eğitim / Sınama • Saldırı Saptama • Saldırı Engelleme • Kurtarma • Eşgüdüm Merkezi
3.1. Standartlaştırma • Politika tabanlı: Kullanım ve güvenlik politikaları Neye izin verilir, neye izin verilmez. • Önerilen sistemin tanımlanması Şablonlar, iyi uygulama örnekleri, • Güvenli Kodlama • Belgeleme
3.2. Güvenli Kodlama • Yazılım geliştirme yaşam döngüsü (SDLC) içerisinde güvenli kodlama yapılmalı ve zayıflık (vulnerability) testleri gerçekleştirilmeli • Güvence (Assurance) Modelleri: Ex. OWASP Clasp, Microsoft SDL • OWASP Güvenli Kodlama Belgeleri: http://www.owasp.org
Yazılım Geliştirirken Temel Esaslar • Kullanıcı Görev/Yetki tanımlama • Farklı güvenlik düzeyleri • En az yetki • Güvenli varsayılan ayarlar • Kademeli savunma • Önlemleri yalın tutmak • Saldırı alanını azaltmak • Güvenli düşmek
Güvenli Kodlama (devam) • Girdi /çıktı denetiminin önemi • Yazılım kütüphaneleri ve sınıfları güvenli kodlama esaslarına göre geliştirilmeli, • Güvenli kodlamayı destekleyen geliştirme ortamları (Ör: Strutus)
Güvenli Kodlama (devam) Yeterince uygulanamamasının nedenleri • Projeyi bitiş zamanına yetiştirme, • Programcıların güvenli kodlama süreçleri hakkında yeterince bilgi sahip olmaması, • Müşterinin, bu konudaki beklentisini / yaptırımını vurgulamaması. Mümkün olduğunca çok önem verilmelidir.
3.3. Eğitim / Test • Çalıştay ve Çalışma Grupları Güvenli kodlama örnekleri ve saldırı senaryoları • Eğitim Portalı • Kurumun projeleri ile ilgili iyi uygulama örnekleri • Kılavuzlar, standartlar
Eğitim / Test (devam) • Test Sunucusu • Kaynak kod analizi • Kara kutu analizleri (kaynak koda ulaşmadan)
3.4. Ağ / Web Sistem Farkındalığı • Sistemleri koruyabilmek için öncelikle korunması gereken sistemleri tanımak/tanımlamak gerekir. • Ayrı bir bölüm olarak birazdan ayrıntıları verilecek ...
3.5. Saldırı Engelleme • Ağ Tabanlı Erişim Denetimi Örn.Ağ güvenliği duvarı, yönlendirici erişim listesi • Sunucu Yerel Güvenliği Örn. Mod Security • Web Uygulama Güvenlik Duvarı / Ters Vekil Örn. Mod Security – Mod Rewrite
3.6. Saldırı Saptama • Saldırı Saptama Sistemleri Örn. Snort, Mod Security • Günlük (Log)Dosyası Denetimi • Saldırgan Tuzağı Ağları (Honeynet, Honeypot)
3.7. Kurtarma • Sistem saldırıya uğradığında • Acil Durum Planı var mı? • Yedek sunucu ? • Yedeklenen veriler ? • Adli inceleme ihtiyacı ?
Kurtarma Aşamaları • Sunucuya erişimin engellenmesi • Ayrıntılı inceleme • Saldırıların etkilerini temizleme • Sistemi yeniden çalıştırma • Kullanıcıların durumdan haberdar edilmesi • Saldırganın saptanması
3.8. Koordinasyon Merkezi • Çok katmanlı güvenlik yapısında güvenlik önlemlerinin aşağıdaki şekilde çalışmasını sağlayacak bir sunucudur (sistemdir): • Birbirleriyle etkileşimli • Etkin
4. Ağ / Web Sistem Farkındalığı • Saldırganı tanımak (?) • Kendini tanımak, Değerleri, neyin korunması gerektiğinin tanımlanması • Sistemleri saldırgandan daha iyi tanımak ...
Ağ / Web Sistem Farkındalığı(devam) • Ağ Farkındalığı ağ üzerinde o an olmakta olanları bilme yeteneği • Web Sistem Farkındalığı • Web Altyapı Farkındalığı • Zayıflık Testleri • Sistem Takibi
Web Sistem Farkındalığı • Web Altyapı Farkındalığı Sistemin güncel/anlık durumu hakkında bilgi toplamak • Zayıflık Testleri Görünür/bilinir zayıflıkları öğrenmek • Sistemi takip etmek Sistemin şu anki durumunu izlemek
Toplanması Hedeflenen Bilgiler • Web sunucusu üçüncü katman adresleri (IP adresleri), • Sunucu üzerindeki alan adları (Ör: internet.ege.edu.tr), • Web servisi verilen ağ kapıları (80, 8080 …vb), • Sunucu üzerinde çalışan işletim sistemi (Linux, Windows …vb), • Web sunucu yazılım türleri ve sürümleri (Apache 2.0, IIS 6.0…vb),