KurumsalKurumsalWeb Güvenliği AltyapısıWeb Güvenliği Altyapısı
Ar. Gör. Ar. Gör. Enis KaraarslanEnis KaraarslanEgeEge Üniv. Kampüs Ağ Yöneticisi, ULAK-CSIRT üyesi Üniv. Kampüs Ağ Yöneticisi, ULAK-CSIRT üyesi
ULAK-CSIRTULAK-CSIRThttp://csirt.ulakbim.gov.trhttp://csirt.ulakbim.gov.tr/ /
İÇERİKİÇERİK11. . Güvenlik Hakkında Temel BilgilerGüvenlik Hakkında Temel Bilgiler2. 2. Neden Web GüvenliğiNeden Web Güvenliği 3.3. Kurumsal Web Güvenliği Modeli Kurumsal Web Güvenliği Modeli
StandarStandarttları Oluşturma/Uygulamaları Oluşturma/Uygulama Güvenli KodlamaGüvenli Kodlama Eğitim / SınamaEğitim / Sınama Ağ / web sistem farkındalığıAğ / web sistem farkındalığı Saldırı SaptamaSaldırı Saptama Saldırı Saldırı EngellemeEngelleme KurtarmaKurtarma Koordinasyon MerkeziKoordinasyon Merkezi
İÇERİK (devam)İÇERİK (devam)
4. 4. Ağ ve Web Sistem Farkındalığı Ağ ve Web Sistem Farkındalığı
5. 5. UULAKLAK-C-CSIRTSIRT Web Güvenliği Grubu Web Güvenliği Grubu66. Sonuç. Sonuç
1. 1. Güvenlik Hakkında Güvenlik Hakkında Bazı Temel BilgilerBazı Temel Bilgiler
BİLGİ SİSTEMİ
Bilgi Sistemi ve GüvenlikBilgi Sistemi ve Güvenlik
SALDIRGAN
ZAYIFLIK
SALDIRI
KULLANICILAR
GÜVENLİKÖNLEMLERİ
Zayıflıkları çözmek ...Zayıflıkları çözmek ...
Zayıflık:Zayıflık: Her sistemde bilinen veya henüz Her sistemde bilinen veya henüz bilinmeyen güvenlik açıkları vardır.bilinmeyen güvenlik açıkları vardır.
Zayıflığın öğrenilmesinden sonra, o zayıflığı Zayıflığın öğrenilmesinden sonra, o zayıflığı kaldıracak önlemlerin (yama, ayar) kaldıracak önlemlerin (yama, ayar) uygulanması arasında geçen zaman uygulanması arasında geçen zaman önemlidir.önemlidir.
Bir zayıflık ve yaşananların kronolojik sıradaki Bir zayıflık ve yaşananların kronolojik sıradaki listesi ...listesi ...
Güvenlik bir ürün değil,Güvenlik bir ürün değil,bir süreçtir.bir süreçtir.
Security is a process, not a product.Security is a process, not a product.
Bruce Bruce SchneierSchneier
Temel Güvenlik ÖnlemleriTemel Güvenlik Önlemleri
Bilgi sistemlerinin güvenlik düşünülerek Bilgi sistemlerinin güvenlik düşünülerek tasarlanması ve uygulanması tasarlanması ve uygulanması (secure by design)(secure by design)
Zayıflıkların/saldırıların tespiti Zayıflıkların/saldırıların tespiti Mümkün olduğunca saldırıların Mümkün olduğunca saldırıların
engellenmesi,engellenmesi, Riskin azaltılmasıRiskin azaltılması Saldırganın işinin zorlaştırılmasıSaldırganın işinin zorlaştırılması
Güvenlik esasları ...Güvenlik esasları ...
Bir zincir, ancak en zayıf halkası kadar Bir zincir, ancak en zayıf halkası kadar güçlüdür.güçlüdür.
O zaman tek bir zincire güvenmemek O zaman tek bir zincire güvenmemek gerekir ...gerekir ...
Mümkün olduğunca farklı önlemler Mümkün olduğunca farklı önlemler alınmalıdır. alınmalıdır.
Çok Katmanlı GüvenlikÇok Katmanlı Güvenlik
Çok Katmanlı Güvenlik ÖrneğiÇok Katmanlı Güvenlik Örneği
Her alt katman da birçok katmandan oluşabilir.
Güvenlik ve kullanışlılık?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.
2. Neden Web Güvenliği ?2. Neden Web Güvenliği ?
Web Tabanlı Sistemler Web Tabanlı Sistemler
Web (sunucu) kullanımı artıyorWeb (sunucu) kullanımı artıyor bilgi sistemleri, ağ cihazları ... Vbbilgi sistemleri, ağ cihazları ... Vb Web uygulamalarının ve bu ortamdaki bilginin Web uygulamalarının ve bu ortamdaki bilginin
artmasıartması Kurumun dünyaya açılan penceresiKurumun dünyaya açılan penceresi
Hızlıca ve güvenlik düşünülmeden yapılan Hızlıca ve güvenlik düşünülmeden yapılan kurulumlarkurulumlar
Katmansal Web Güvenlik YapısıKatmansal Web Güvenlik Yapısı
Web UygulamasıWeb Uygulaması
En Yaygın Web Uygulama Zayıflık SınıflarıEn Yaygın Web Uygulama Zayıflık Sınıfları
3,03% 1,63%
13,86%13,89%
67,59%
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
S ite le rA rasıB etik
Yazm a
E njeksiyonTasarımHatası
B ilg iS ızıntısı
HttpC evapB ölm e
D iğer
Neden Web Güvenliği ?Neden Web Güvenliği ?
Web tabanlı saldırılar artmaktaWeb tabanlı saldırılar artmakta Zone-HZone-H – 400,000 (%36) artış (– 400,000 (%36) artış (20042004)) CSI-FBI – CSI-FBI – ““Computer Crime and Security Computer Crime and Security
SurveySurvey”” – Ankete katılanların %95’i, 2005 – Ankete katılanların %95’i, 2005 senesinde senesinde 1010 adetten fazla web sitesi saldırısı adetten fazla web sitesi saldırısı vakasıvakası yaşamışyaşamış
Neden Web Güvenliği? (devam)Neden Web Güvenliği? (devam)
Web güvenliği sağlanamadığında kayıplar:Web güvenliği sağlanamadığında kayıplar: Maddi kayıp (Özellikle e-ticaret ile para Maddi kayıp (Özellikle e-ticaret ile para
aktarımı, banka uygulamalarında),aktarımı, banka uygulamalarında), Güven kaybı,Güven kaybı, Şirket verilerinin kaybı ile yaşanabilecek ticari Şirket verilerinin kaybı ile yaşanabilecek ticari
risk,risk, Kişisel bilgilerin gizli kalma hakkının ihlali,Kişisel bilgilerin gizli kalma hakkının ihlali, Ağda oluşabilecek zayıf noktadan Ağda oluşabilecek zayıf noktadan
kaynaklanabilecek diğer saldırılar.kaynaklanabilecek diğer saldırılar.
Web Saldırı ÖrnekleriWeb 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?Güvenlik İhlalinden Sorumlu Kim?
Ağ / ağ güvenliği yöneticisi?Ağ / ağ güvenliği yöneticisi? Sunucu - veritabanı Yöneticisi?Sunucu - veritabanı Yöneticisi? ProgramcıProgramcı HiçbiriHiçbiri HepsiHepsi
Web Güvenliğinde Temel ProblemlerWeb 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 Eğer bu kadar kötü yazılım güvenliğinekötü yazılım güvenliğine sahip olmasaydık,sahip olmasaydık,
bu kadar bu kadar çok ağ güvenliğineçok ağ güvenliğine ihtiyacımız olmayacaktıihtiyacımız olmayacaktı
Bruce SchneierBruce Schneier
Bir savaşı yenmek Bir savaşı yenmek için, bireyin yöntemi için, bireyin yöntemi
bilmesi gerekirbilmesi gerekir
Sun TzuSun Tzu
Savaş SanatıSavaş Sanatı““The Art of War”The Art of War”
3. Kurumsal Web Güvenliği Modeli3. Kurumsal Web Güvenliği Modeli
Kurumsal Ağlarda Web SistemleriKurumsal Ağlarda Web Sistemleri
Üniversite ağları gibi büyük kurumsal Üniversite ağları gibi büyük kurumsal ağlarda, ağlarda, farklı ve çok sayıda web sistemleri, farklı ve çok sayıda web sistemleri, farklı ekipler bulunmaktadır. farklı ekipler bulunmaktadır.
Güvenliğini sağlamak için Güvenliğini sağlamak için Daha kapsamlı sistemler kullanılmalıDaha kapsamlı sistemler kullanılmalı Birbirleriyle etkileşimli çalışmalıBirbirleriyle etkileşimli çalışmalı
Kurumsal Web Güvenliği ModeliKurumsal Web Güvenliği Modeli StandartlaştırmaStandartlaştırma Güvenli KodlamaGüvenli Kodlama Sistem FarkındalığıSistem Farkındalığı Eğitim / Sınama Eğitim / Sınama Saldırı Saptama Saldırı Saptama Saldırı EngellemeSaldırı Engelleme KurtarmaKurtarma Eşgüdüm MerkeziEşgüdüm Merkezi
3.1. 3.1. StandarStandartlaştırmatlaştırma
Politika tabanlı: Politika tabanlı: Kullanım ve güvenlik politikalarıKullanım ve güvenlik politikalarıNeye izin verilir, neye izin verilmez. Neye izin verilir, neye izin verilmez.
Önerilen sistemin tanımlanmasıÖnerilen sistemin tanımlanmasıŞablonlar, iyi uygulama örnekleri, Şablonlar, iyi uygulama örnekleri,
Güvenli KodlamaGüvenli Kodlama BelgelemeBelgeleme
3.2. Güvenli Kodlama3.2. Güvenli Kodlama
Yazılım geliştirme yaşam döngüsü (SDLC) Yazılım geliştirme yaşam döngüsü (SDLC) içerisinde güvenli kodlama yapılmalı ve içerisinde güvenli kodlama yapılmalı ve zayıflık (vulnerability) testleri zayıflık (vulnerability) testleri gerçekleştirilmeligerçekleştirilmeli
Güvence (Assurance) Modelleri:Güvence (Assurance) Modelleri:Ex. OWASP Clasp, Microsoft SDLEx. OWASP Clasp, Microsoft SDL
OWASP Güvenli Kodlama Belgeleri:OWASP Güvenli Kodlama Belgeleri:http://www.owasp.orghttp://www.owasp.org
Yazılım Geliştirirken Temel EsaslarYazılım Geliştirirken Temel Esaslar
Kullanıcı Görev/Yetki tanımlamaKullanıcı Görev/Yetki tanımlama Farklı güvenlik düzeyleriFarklı güvenlik düzeyleri En az yetkiEn az yetki Güvenli varsayılan ayarlarGüvenli varsayılan ayarlar Kademeli savunmaKademeli savunma Önlemleri yalın tutmakÖnlemleri yalın tutmak Saldırı alanını azaltmakSaldırı alanını azaltmak Güvenli düşmekGüvenli düşmek
Güvenli Kodlama (devam)Güvenli Kodlama (devam)
Girdi /çıktı denetiminin önemiGirdi /çıktı denetiminin önemi Yazılım kütüphaneleri ve sınıfları güvenli Yazılım kütüphaneleri ve sınıfları güvenli
kodlama esaslarına göre geliştirilmeli,kodlama esaslarına göre geliştirilmeli, Güvenli kodlamayı destekleyen geliştirme Güvenli kodlamayı destekleyen geliştirme
ortamları (Ör: Strutus)ortamları (Ör: Strutus)
Güvenli Kodlama (devam)Güvenli Kodlama (devam)
Yeterince uygulanamamasının nedenleriYeterince uygulanamamasının nedenleri Projeyi bitiş zamanına yetiştirme,Projeyi bitiş zamanına yetiştirme, Programcıların güvenli kodlama süreçleri Programcıların güvenli kodlama süreçleri
hakkında yeterince bilgi sahip olmaması,hakkında yeterince bilgi sahip olmaması, Müşterinin, bu konudaki beklentisini / Müşterinin, bu konudaki beklentisini /
yaptırımını vurgulamaması.yaptırımını vurgulamaması.
Mümkün olduğunca çok önem verilmelidir.Mümkün olduğunca çok önem verilmelidir.
3.3. Eğitim3.3. Eğitim / / TestTest
Çalıştay ve Çalışma GruplarıÇalıştay ve Çalışma GruplarıGüvenli kodlama örnekleri ve saldırı senaryolarıGüvenli kodlama örnekleri ve saldırı senaryoları
Eğitim PortalıEğitim Portalı Kurumun projeleri ile ilgili iyi uygulama Kurumun projeleri ile ilgili iyi uygulama
örnekleriörnekleri Kılavuzlar, standartlarKılavuzlar, standartlar
EğitimEğitim / / Test (devam)Test (devam)
Test SunucusuTest Sunucusu Kaynak kod analiziKaynak kod analizi Kara kutu analizleri (kaynak koda ulaşmadan)Kara kutu analizleri (kaynak koda ulaşmadan)
3.4. Ağ / Web Sistem Farkındalığı3.4. Ağ / Web Sistem Farkındalığı
Sistemleri koruyabilmek için öncelikle Sistemleri koruyabilmek için öncelikle korunması gereken sistemleri korunması gereken sistemleri tanımak/tanımlamak gerekir.tanımak/tanımlamak gerekir.
Ayrı bir bölüm olarak birazdan ayrıntıları Ayrı bir bölüm olarak birazdan ayrıntıları verilecek ...verilecek ...
3.5. Saldırı Engelleme3.5. Saldırı Engelleme
Ağ Tabanlı Erişim DenetimiAğ Tabanlı Erişim DenetimiÖrn.Örn. Ağ güvenliği duvarıAğ güvenliği duvarı, , yönlendirici erişim yönlendirici erişim
listesilistesi Sunucu Yerel GüvenliğiSunucu Yerel Güvenliği
Örn.Örn. Mod Security Mod Security Web Uygulama Güvenlik Duvarı / Ters Web Uygulama Güvenlik Duvarı / Ters
VekilVekilÖrn. Örn. Mod Security – Mod RewriteMod Security – Mod Rewrite
Ters Vekil SunucuTers Vekil Sunucu
3.6. Saldırı Saptama3.6. Saldırı Saptama
Saldırı Saptama SistemleriSaldırı Saptama SistemleriÖrn.Örn. Snort Snort, Mod Security, Mod Security
Günlük (Günlük (LogLog)) Dosyası DenetimiDosyası Denetimi
Saldırgan Tuzağı Ağları Saldırgan Tuzağı Ağları (Honeynet, (Honeynet, HoneypotHoneypot) )
3.7. Kurtarma3.7. Kurtarma
Sistem saldırıya uğradığındaSistem saldırıya uğradığında Acil Durum Planı var mı?Acil Durum Planı var mı? Yedek sunucu ?Yedek sunucu ? Yedeklenen veriler ?Yedeklenen veriler ? Adli inceleme ihtiyacı ?Adli inceleme ihtiyacı ?
Kurtarma AşamalarıKurtarma Aşamaları
Sunucuya erişimin engellenmesiSunucuya erişimin engellenmesi Ayrıntılı incelemeAyrıntılı inceleme Saldırıların etkilerini temizlemeSaldırıların etkilerini temizleme Sistemi yeniden çalıştırmaSistemi yeniden çalıştırma Kullanıcıların durumdan haberdar edilmesiKullanıcıların durumdan haberdar edilmesi Saldırganın saptanmasıSaldırganın saptanması
3.8. Koordinasyon Merkezi3.8. Koordinasyon Merkezi
Çok katmanlı güvenlik yapısında güvenlik Çok katmanlı güvenlik yapısında güvenlik önlemlerinin aşağıdaki şekilde çalışmasını önlemlerinin aşağıdaki şekilde çalışmasını sağlayacak bir sunucudur (sistemdir): sağlayacak bir sunucudur (sistemdir): Birbirleriyle etkileşimli Birbirleriyle etkileşimli EtkinEtkin
4. Ağ / Web Sistem Farkındalığı4. Ağ / Web Sistem Farkındalığı
4. Ağ / Web Sistem Farkındalığı4. Ağ / Web Sistem Farkındalığı
Saldırganı tanımak (?)Saldırganı tanımak (?)
Kendini tanımak,Kendini tanımak,Değerleri, neyin korunması gerektiğinin Değerleri, neyin korunması gerektiğinin tanımlanmasıtanımlanması
Sistemleri saldırgandan daha iyi tanımak ... Sistemleri saldırgandan daha iyi tanımak ...
Ağ / Web Sistem Farkındalığı(devam)Ağ / Web Sistem Farkındalığı(devam)
Ağ FarkındalığıAğ Farkındalığı ağ üzerinde o an olmakta olanları bilme yeteneğiağ üzerinde o an olmakta olanları bilme yeteneği
WWeb eb Sistem FarkındalığıSistem Farkındalığı Web Altyapı FarkındalığıWeb Altyapı Farkındalığı Zayıflık TestleriZayıflık Testleri Sistem TakibiSistem Takibi
Web Sistem FarkındalığıWeb Sistem Farkındalığı Web Web Altyapı FarkındalığıAltyapı Farkındalığı
Sistemin güncel/anlık durumu hakkında bilgi toplamakSistemin güncel/anlık durumu hakkında bilgi toplamak
Zayıflık TestleriZayıflık TestleriGörünür/bilinir zayıflıkları öğrenmekGörünür/bilinir zayıflıkları öğrenmek
Sistemi takip etmekSistemi takip etmekSistemin şu anki durumunu izlemekSistemin şu anki durumunu izlemek
Toplanması Hedeflenen BilgilerToplanması Hedeflenen Bilgiler Web sunucusu üçüncü katman adresleri (IP Web sunucusu üçüncü katman adresleri (IP
adresleri),adresleri), Sunucu üzerindeki alan adları Sunucu üzerindeki alan adları
(Ör: internet.ege.edu.tr),(Ör: internet.ege.edu.tr), Web servisi verilen ağ kapıları (80, 8080 …vb),Web servisi verilen ağ kapıları (80, 8080 …vb), Sunucu üzerinde çalışan işletim sistemi (Linux, Sunucu üzerinde çalışan işletim sistemi (Linux,
Windows …vb),Windows …vb), Web sunucu yazılım türleri ve sürümleri (Apache Web sunucu yazılım türleri ve sürümleri (Apache
2.0, IIS 6.0…vb),2.0, IIS 6.0…vb),
Toplanması Hedeflenen Bilgiler (devam)Toplanması Hedeflenen Bilgiler (devam)
Web uygulamalarının geliştirildiği Web uygulamalarının geliştirildiği programlama dilleri türleri (cgi, php, programlama dilleri türleri (cgi, php, asp,.net, jsp …vb),asp,.net, jsp …vb),
Uygulama dosya adı,Uygulama dosya adı, Uygulama çalışma yolu (dizin yapısı),Uygulama çalışma yolu (dizin yapısı), Kullanılan değiştirgeler ve tipleri,Kullanılan değiştirgeler ve tipleri, Sistemlere ait saldırıya açıklık raporlarıdırSistemlere ait saldırıya açıklık raporlarıdır
Bilgi Toplama SistemleriBilgi Toplama Sistemleri
Ağ kapısı ve uygulama tarayıcılarıAğ kapısı ve uygulama tarayıcıları HTTP parmak izi alma sistemleri HTTP parmak izi alma sistemleri Ağ trafiği çözümleme sistemleri Ağ trafiği çözümleme sistemleri Saldırı saptama sistemleriSaldırı saptama sistemleri Zayıflık (saldırıya açıklık) çözümleme Zayıflık (saldırıya açıklık) çözümleme
sistemlerisistemleri Arama motorlarıArama motorları
5. Ulak-CSIRT Web Güvenlik Grubu5. Ulak-CSIRT Web Güvenlik Grubu
Eğitim ve bilinçlendirme Eğitim ve bilinçlendirme çalışmaları: çeşitli seminerler ve çalışmaları: çeşitli seminerler ve toplantılartoplantılar
Belgeleme ÇalışmalarıBelgeleme Çalışmaları OWASP İlk 10 Web Güvenlik OWASP İlk 10 Web Güvenlik
Açığı 2007 (tercüme)Açığı 2007 (tercüme) PHP Güvenlik Kitapçığı PHP Güvenlik Kitapçığı
(hazırlanmakta)(hazırlanmakta)
Ulak-CSIRT Web Güvenlik Grubu (devam)Ulak-CSIRT Web Güvenlik Grubu (devam)
Web Sistem farkındalığı ve Web Sistem farkındalığı ve eğitim konularına ağırlık eğitim konularına ağırlık verilmektedir. verilmektedir.
Merkezi Zayıflık tarama Merkezi Zayıflık tarama sistemi denemelerisistemi denemeleri
Açık kaynak kodlu yazılımlar Açık kaynak kodlu yazılımlar denenmektedir.denenmektedir.
6. SONUÇ6. SONUÇ Kurumsal web güvenliği için, Web Güvenliği Kurumsal web güvenliği için, Web Güvenliği
Modelindeki yöntemler uygulanmalıdırModelindeki yöntemler uygulanmalıdır Kuruma uyan yöntemler seçilmeliKuruma uyan yöntemler seçilmeli Mümkün olduğunca fazla yöntem devreye alınmalıMümkün olduğunca fazla yöntem devreye alınmalı Her yöntem sistemi daha karmaşık hale mi getirir?Her yöntem sistemi daha karmaşık hale mi getirir?
Temel hedefler aşağıdaki gibi olmalı:Temel hedefler aşağıdaki gibi olmalı: Web sistem farkındalığıWeb sistem farkındalığı Web sunucu yöneticilerini ve programcılarını Web sunucu yöneticilerini ve programcılarını
eğitmek/bilgilendirmekeğitmek/bilgilendirmek
SonuçSonuç ( (devamdevam)) Sistemler saldırı tespit sistemleri ile takip Sistemler saldırı tespit sistemleri ile takip
edilmelidiredilmelidir
Web sunucuları önüne web güvenlik duvarı Web sunucuları önüne web güvenlik duvarı konuşlanmalıdır.konuşlanmalıdır.
ULAK-CSIRT Web Güvenliği Çalışma Grubu ULAK-CSIRT Web Güvenliği Çalışma Grubu bünyesinde bilinçlendirme çalışmaları ve bünyesinde bilinçlendirme çalışmaları ve OWASP-TR ile işbirliği devam etmesi OWASP-TR ile işbirliği devam etmesi hedeflenmektedirhedeflenmektedir
SonuçSonuç ( (devamdevam)) Bu sunum ve “Kurumsal Web Güvenliği Altyapısı” Bu sunum ve “Kurumsal Web Güvenliği Altyapısı”
belgesi (yakında) belgesi (yakında) http://www.karaarslan.net/guvenlik.htmlhttp://www.karaarslan.net/guvenlik.html
Web Güvenliği Belgeleri:Web Güvenliği Belgeleri: http://www.webguvenligi.orghttp://www.webguvenligi.org http://websecurity.ege.edu.trhttp://websecurity.ege.edu.tr http://csirt.ulakbim.gov.tr/belgelerhttp://csirt.ulakbim.gov.tr/belgeler
Değişim zordur, açık fikirli olmalı ...Değişim zordur, açık fikirli olmalı ...
Önyargıları yok etmek, atom Önyargıları yok etmek, atom çekirdeğini parçalamaktan çekirdeğini parçalamaktan
daha zordur. daha zordur.
EinsteinEinstein
İlginiz için teşekkürler ...İlginiz için teşekkürler ...Sorularınızı bekliyorum ...Sorularınızı bekliyorum ...
İletişim:İletişim: [email protected]@[email protected]@karaarslan.net
ULAK-CSIRTULAK-CSIRThttp://csirt.ulakbim.gov.trhttp://csirt.ulakbim.gov.tr/eng/eng