bilgiz.org

Kurumsal web güvenliĞİ yapisi

  • Anahtar Kelimeler
  • Keywords
  • 2. KURUMSAL WEB GÜVENLİĞİ MODELİ
  • 2.3. Sistem Farkındalığı
  • 3. KISALTMALAR Kısaltma Açıklama IDS Saldırı Saptama Sistemi WUGD Web Uygulama Güvenlik Duvarı 4. SONUÇ



  • Tarih01.10.2017
    Büyüklüğü70.87 Kb.

    Indir 70.87 Kb.

    Akademik Bilişim 2008

    Çanakkale Onsekiz Mart Üniversitesi, Çanakkale, 30 Ocak - 01 Şubat 2007




    KURUMSAL WEB GÜVENLİĞİ YAPISI
    Enis KARAARSLAN* , Tuğkan TUĞLULAR** ve Halil ŞENGONCA***
    (*) Ege Üniversitesi, Bilgi İletişim ve Teknolojileri Araştırma Merkezi, İZMİR

    (**) İYTE, Bilgisayar Mühendisliği Bölümü, İZMİR

    (***) Ege Üniversitesi, Bilgisayar Mühendisliği Bölümü, İZMİR

    enis.karaarslan@ege.edu.tr, tugkantuglular@iyte.edu.tr, halil.sengonca@ege.edu.tr




    ÖZET



    Web altyapısına artan sayıda saldırı girişimi yaşanmaktadır, bu nedenle web ve web uygulaması güvenliği her geçen gün daha hayati hale gelmektedir. Nüfuz veya saldırı yaşanmadan saldırıları saptayacak ve saldırıya açıklıkları engelleyecek güvenlik düzeneklerine ihtiyaç duyulmaktadır. Bu çalışmada, güvenliği daha iyi sağlamak için değişik tekniklerin birlikte çalıştığı bir Kurumsal Web Güvenlik Altyapısı modeli tanımlanmıştır. Bu modelde, ağ farkındalığı ve eğitim konularına yoğunlaşılmıştır.
    Anahtar Kelimeler: web güvenliği, web uygulama güvenliği, ağ farkındalığı, web sistem farkındalığı, çok katmanlı güvenlik.

    ENTERPRISE WIDE WEB SECURITY INFRASTRUCTURE

    ABSTRACT
    There is increasing number of intrusion attempts to the web infrastructure, so web and web application security are becoming more vital everyday. There is need for security measures, which will detect and prevent vulnerabilities before intrusion and attack occur. In this work, an Enterprise-wide Web Security Infrastructure model where different techniques work cooperatively to achieve better security is defined. Network awareness and training are focused on.
    Keywords: web security, web application security, network awareness, web system awareness, multi layer security.


    1. GİRİŞ

    Üniversite ağları gibi büyük kurumsal ağlarda, farklı web sistemleri, bunları yöneten ve üzerindeki yazılımları hazırlayan farklı ekipler bulunmaktadır. Bu sistemlerin güvenliğini sağlamak için daha kapsamlı sistemlere gereksinim duyulmaktadır.

    Güvenlik önlemleri, hiçbir zaman mükemmel değildir ve her güvenlik önleminin bazı zayıflıkları bulunabilmektedir. “Bir zincir ancak en zayıf halkası kadar güçlüdür.” sözünün de belirttiği üzere, güvenliğin sağlanması için zayıf noktalardan doğacak sorunların mümkün olduğu kadar çözülmesi gerekmektedir. Bu da birbirini tamamlayan ve birlikte etkileşimli çalışan güvenlik sistemleri ile mümkündür. Bu tür bir yapıya çok katmanlı güvenlik ve kademeli savunma (defense in depth) denilmektedir. Sel suyunu engelleyen ardışık bentler gibi; her katman, bir sonraki katmana geçilmeden önce sorunun bir kısmını çözmüş olacaktır [19].

    Güvenlik için gereken süreçleri tanımlarken, farklı ve birbirini tamamlayan işlevlere ait çok katmanlı güvenlik sistemlerinden söz edilmektedir. Katman yapısını, kurulacak güvenlik sistemlerinin özelliğine göre farklılaştırmak ve her katmanda alt katmanlar kullanmak mümkündür. Genel olarak üç katmandan oluşan bir yapıdan söz etmek mümkündür. Bu genel model Şekil 1'de gösterilmiştir. Katmanlar aşağıdaki gibidir [18], [19]:



    1. İlk katman- Engelleme: Saldırı olasılıklarını azaltmakla sorumlu olan ilk katmandır.

    2. İkinci katman - Saptama: Saldırıları saptama ve uygun alarmları oluşturma bu katmanda gerçekleşecektir.

    3. Üçüncü katman – Kurtarma: Saldırının etkilerini temizleme ve sistemi yeniden çalışır hale getirme bu katmanda gerçekleşecektir.




    Şekil 1: Çok Katmanlı Güvenlik Modeli


    Web güvenliğini sağlamak için çok katmanlı güvenlik modeli kullanılmalıdır. Alt sistemlerin birbirleriyle etkileşimli çalışması sağlanmalıdır.

    Bu bildiride, oluşturulan kurumsal web güvenliği modeli tanıtılacaktır. Bu modelde anlatılan birimler, üniversite ağlarında web güvenliği konusunda gözlemlenen gereksinimleri karşılamayı hedeflemektedir. Her ne kadar web güvenliğine özelleşmiş bir model olsa da, farklı ağ iletişim kuralları için de bu tür bir bütünleşik sisteme olan gereksinim günümüz kurumsal ağlarında her geçen gün artmaktadır.


    2. KURUMSAL WEB GÜVENLİĞİ MODELİ

    Kurumsal web güvenliği modeli, birbirleriyle etkileşimli çalışan çeşitli değişik güvenlik yöntemlerinden oluşmaktadır. Bu model Şekil 2'de gösterilmiştir. Model aşağıdaki birimlerden oluşmaktadır [5]:



    1. Standartlaştırma

    2. Güvenli Kodlama

    3. Sistem Farkındalığı

    4. Eğitim / Sınama

    5. Saldırı Saptama

    6. Saldırı Engelleme

    7. Kurtarma

    8. Eşgüdüm Merkezi



    Şekil 2 Kurumsal Web Güvenliği Modeli



    2.1. Standartlaştırma

    Daha istikrarlı ve daha güvenli bir web bilgi sistemi için standartların ve kuralların kullanım ve güvenlik politikalarında tanımlanması ve uygulanması gerekmektedir. SANS Güvenlik Politikaları Projesi sayfasından (http://www.sans.org/resources/policies/) ayrıntılı bilgi edinmek mümkündür. Kampüs ağlarında güvenlik politikalarının uygulanması [6]'da incelenmiştir. Bu konuda örnekler [4], [14] incelenmeli ve kurumun ihtiyaç ve yapısına göre güvenlik politikaları düzenlenmelidir. Kurumsal olarak tanımlanabilecek web güvenliği standartlarına örnek olarak aşağıdakiler verilebilir:



    1. Web Sunucu düzlem (işletim sistemi, web sunucu yazılımı, yazılım geliştirme ortamı...vb.) kısıtlamaları, saldırıya açıklık çözümleme yöntemleri, yama yönetimi ve yedekleme yordamlarının tanımlanması,

    2. Daha iyi yönetim ve güvenliğin sağlanması için web sunucuların sayısı mümkün olduğunca azaltılmalıdır. Merkezi bir web sunucusu kullanmak ve kuruma ait birimlerin sadece bu sunucuyu kullanmasını sağlamak iyi bir uygulama olarak karşımıza çıkmaktadır.

    3. Web sitelerinde, güvenlik ve kişisel gizlilik politikaları verilmelidir. Dünya çapında kamu web sitelerinin sadece %29'unda kişisel gizlilik politikasının bulunduğu ve sadece %21'inde güvenlik politikası açıklamalarının bulunduğu saptanmıştır [15].

    4. Web uygulamaları geliştirilirken güvenli kodlama esaslarına uyulması,

    5. Saldırıya açıklık sınamasının yazılım geliştirme yaşam döngüsü (YDYD) içinde de gerçekleştirilmesinin sağlanması [1],

    6. Web uygulamalarına ait belgelemelerin javadoc1, phpdoc2 gibi uygun araçlarla yapılması,

    7. Kurumsal web sayfalarının belirli bir yapıya ve şablona uymasının sağlanmasıdır. E-dönüşüm Türkiye Projesi kapsamında hazırlanan kılavuzla [13], kamu kurumlarının İnternet sitelerinde asgari düzeyde içerik ve tasarım uyumunun sağlaması için gerekenler anlatılmıştır. Bu belge, web sitelerinin yapısal gereksinimleri anlatmakla beraber, güvenliğin sağlanması konusunda yapılması gerekenlere ilişkin bir bilgi içermemektedir. Güvenlik gereksinimlerini ve yöntemlerini anlatan bir belgeye ihtiyaç duyulmaktadır.

    8. Kurumlar, Web İçerik Yönetim Sitemlerini ve portal yazılımlarını mümkünse kendileri geliştirmelidir. Böylece daha esnek ve daha güvenli sistemlerin kurulması sağlanacaktır. Kurum bunun yerine, özel bir içerik yönetim sistemini seçip bu sistemin yamalarını düzenli olarak izlemeyi de tercih edebilir. Tercih edilen sistemlere özgü güvenlik ayarlarının yapıldığından ve gerekli güncellemelerin yerine getirildiğinden emin olunmalıdır.

    9. Web sayfası yüklenirken kasti veya teknik nedenlerden dolayı web yazılımlarında oluşan hatalarda, kullanıcıya kurumun şablon hata sayfası gönderilmelidir. Böylece saldırganların sistemle ilgili hassas bilgiler edinmesi engellenmiş olacaktır.

    10. Ağ yönetim grubu, standartlara uyulmaması durumunda web servisine erişimini kapatma hakkına sahip olmalıdır.



    2.2. Güvenli Kodlama
    Web uygulamaları geliştirilirken tasarım sürecinden itibaren güvenli kodlama esaslarına uyulmalıdır. OWASP'ın Güvenli Kodlama İlkeleri belgesi [8], Güvenli Web Uygulamaları Geliştirme Kılavuzu [9] belgesi kurum içi eğitimlerde kullanılmalı ve yazılım geliştiricilerin bu esaslara uyup uymadıkları denetlenmelidir. Yazılım geliştirme yaşam döngüsünün ilk aşamalarından itibaren güvenlik süreçlerini eklemek için yapısal bir yaklaşım sunan CLASP Projesi3 incelenebilir. Microsoft'un yazılım geliştirme süreci için oluşturulan, güvenilir bilişim güvenlik geliştirme yaşam döngüsü [7]'de verilmiştir.
    Yazılım geliştirirken uyulması gereken temel ilkeleri aşağıdaki gibi özetlemek mümkündür [8]:


    • Görev tanımlama: Kullanıcıların görevleri ve yetkileri tanımlanmalıdır. Her kullanıcıya veya kullanıcı grubuna farklı güvenlik düzeyleri tanımlanmalıdır,

    • Farklı güvenlik düzeyleri: Yazılımın ve işlenen verinin önemine göre farklı güvenlik düzeyleri ve önlemleri kullanılmalıdır.

    • En az yetki: Kullanıcıya ve alt sistemlere mümkün olan en az yetkinin verilmesi,

    • Güvenli varsayılan ayarlar: Güvenliği mümkün olan en yüksek düzeyde tutmak, kullanıcının isterse güvenlik düzeyini ayarlamasına izin vermek,

    • Kademeli savunma: Bir denetimin yeterli olması durumunda bile, birden fazla denetimi uygulayarak daha güvenli ortamların sağlanması,

    • Önlemleri yalın tutmak: Alınan önlemlerin karmaşık olması, her zaman daha güvenli olacağı anlamına gelmez. Yazılımcının nasıl çalıştığını anladığı ve sorun olduğunda çözüm sürecinde kolaylıkla çözebileceği yalınlıkta sistemler daha başarılı olabilmektedir.

    • Saldırı alanını azaltmak: Yapılan denetlemeler ve kısıtlamalarla olabilecek saldırı etkisini ve alanını azaltmak,

    • Güvenli düşmek: Yazılımın hata vermesi durumunda, güvenlik açığına yol açmadan sonlanmasıdır.

    Kurumlar ortak projelerde kullanmak üzere, kendilerine ait yazılım kütüphanelerini ve sınıflarını güvenli kodlama esaslarına uyarak geliştirmelidir. Bu yazılım kodlarının bütün yazılım projelerinde kullanılması sağlanmalıdır. Bu kodları kullanarak geliştirilen projeler daha güvenli temeller üzerine inşa edilmiş olacaktır.

    • Yazılımcıları güvenli kodlama esaslarına göre yazılım geliştirmeye zorlayan Struts4 gibi yazılım geliştirme çerçeve sistemlerinin kullanılması sağlanmalıdır.

    2.3. Sistem Farkındalığı

    Ağ ve güvenlik yöneticileri, ağ üzerinde nelerin yaşanmakta olduğunu bilmelidir. Bu, ağ üzerinde korunması gereken aygıtları, onların şu anki durumunu, tehditleri ve saldırıya açık noktaları bilmeyi içerir. Sistem farkındalığı olarak adlandırdığımız bu sistem, aşağıdaki düzeneklerden oluşmalıdır:



    • Web Bilgi Sistemi Fakındalığı

    • Saldırıya Açıklık Çözümlemesi

    • Web Sunucu İzleme


    Web Bilgi Sistemi Farkındalığı:

    Web Bilgi Sistemi Farkındalığı ile hedeflenen, kurumsal web sunucuları ve üzerlerinde çalışan web uygulamalarına ilişkin ayrıntılı bilgilerin saptanması ve belirlenmesidir. 3.6’da ayrıntılı olarak ele alındığı üzere, etkin ve edilgen tekniklerin birbirleriyle etkileşimli kullanıldığı ve web sunucu altyapısına ilişkin güncel bilgilerin edinildiği bir yapı önerilmiştir. Bu sisteme, kurumun gereksinimlerine göre özelleştirilmiş bir arama motorunun eklenmesi ile kurumun bilgi sistemindeki web içeriği endekslenebilecektir.


    Saldırıya Açıklık Çözümlemesi:

    Web sistemleri ve üzerlerinde çalışan web uygulamalarına ait güvenlik açıkları, zayıflık çözümleme sistemleri kullanılarak saptanabilmektedir. Web uygulamalarının saldırıya açıklık çözümlemeleri için kullanılan iki tür saldırıya açıklık sınama yönteminden söz etmek mümkündür:



    • Açık Kutu Sınaması: Web yazılımının kaynak kodu üzerinde yapılan sınamadır. Yazılım koduna erişimin mümkün olduğu durumlarda mutlaka kullanılması, sınamanın mümkünse yazılım geliştirme yaşam döngüsü (YGYD) içerisine eklenmesi önerilmektedir. Bu yöntemle birçok olası saldırıya açıklıkların bulunması sağlanabilecektir. OWASP’ın “WebScarab5”, Firefox'un “Web Developer Toolbar”, “Greasemonkey” ve “XSS Assistant” bu sınama için kullanılabilecek programlara örnek olarak verilebilir [12]. Saldırıya açıklık çözümlemesinin YGYD'ye eklenmesine ilişkin [1]'de ayrıntılı bir çalışma yapılmıştır.

    • Kapalı Kutu Sınaması: Kapalı kutu sınaması; web sistemine dışarıdan sınama sürecinin yapılmasının gerektiğinde ve/veya web yazılımı koduna erişim mümkün olmadığında tercih edilen bir saldırıya açıklık sınamasıdır. Kapalı kutu sınaması, sadece saldırıya açıklıkların bir kısmını saptayabilmektedir. Bu sınamanın daha etkin olması için çözülmesi gereken sorunlar bulunmaktadır [2], [3]. Nikto, Wapiti, Paros Proxy6, Burpsuite7 bu sınama için kullanılabilecek programlara örnek olarak verilebilir. Daha ayrıntılı güvenlik sınama araç listesi [10]'da verilmiştir.

    Web sistemleri dönemsel olarak sınama araçları ile taranmalı ve sınamaya ilişkin rapor teknik sorumlulara ulaştırılmalıdır. Bu raporlar saldırı yaşanmadan önce teknik personelin saldırıya açık noktalarda gerekli önlemleri almalarını sağlayacaktır. Saldırıya açıklık sınama sistemleri, Web Bilgi Sistemi Farkındalığı ve SSS ile işbirliği içerisinde çalışmalıdır.
    Web Sunucu İzleme:

    Kurumsal web sunucuları, olağan dışı etkinliklere karşı sürekli olarak izlenmelidir. Bunun için kullanılan en etkin yöntem, basit ağ yönetim protokolü (SNMP) aracılarının kullanılmasıdır. Web sunucularına ait ağ trafiği, işlemci gücü, bellek kullanımı ve süreç istatistikleri gibi bilgiler SNMP aracıları tarafından toplanmalı; çözümleme süreçleri ile daha ayrıntılı incelemeler yapılmalıdır.


    2.4. Eğitim / Sınama

    Kurumsal ağların, web güvenliği altyapıları için kılavuzları ve standartları bulunması gerekmektedir. Web uygulama geliştiricileri ve web sunucu yöneticilerinin var olan güvenlik tehditleri ve bu tehditlere karşı alınması gereken önlemler hakkında bilgilendirilmeleri gerekmektedir. Eğitim ve sınama için aşağıdaki düzenekler kullanılabilir:



    • Çalıştay ve Çalışma Grupları

    • Eğitim Portalı

    • Sınama Sunucuları


    Çalıştay ve Çalışma Grupları:

    Kurumdaki uygulama geliştiricileri ve web sunucu yöneticilerini bilgilendirmek amacıyla toplantılar, çalıştaylar yapılmalıdır. Uygulama geliştiricilerle yapılan toplantılarda güvenli kodlamanın önemini göstermek hedeflenmelidir. Web uygulamalarına girdi denetimi ve çıktı süzmesinin önemi vurgulanmalıdır. Bu toplantılar sonucunda çalışma gruplarının oluşturulması ve bu çalışma gruplarına kuruma özgü yazılımlar için girdi/çıktı denetimi yapan yazılım kütüphanelerini geliştirmek gibi görevler verilmesi sağlanmalıdır. Aynı zamanda içeri sızma sınamaları kullanılarak saldırganların web uygulaması açıklarını kullanarak neler yapabileceğini göstermek de durumun ciddiyetinin vurgulanmasında yardımcı olacaktır.


    Eğitim Portalı:

    Eğitim portalı, teknik sorumluların kurum iç ağından ulaşarak web güvenliği konusunda bilgilere ulaşabileceği bir bilgi ortamıdır. Bu bilgi ortamında sunulabilecek içeriğe örnek olarak aşağıdakiler verilebilir:



    • Kurumda uyulması gereken web güvenliği standartları,

    • İyi güvenli kodlama uygulama örnekleri,

    • Yapılması ve yapılmaması gerekenlerin örneklerle anlatılması,

    • Web sunucu yapılanış ayarları.


    Sınama Sunucuları:

    Kuruma özgü web uygulamaları, sunucu güvenliği sağlanmış bir web sunucu üzerine konulmalı ve güvenlik uzmanlarının bu uygulamalardaki güvenlik açıklıklarını bulmaları sağlanmalıdır. Kaynak kod çözümleme ve kara kutu sınama yöntemleri kullanılabilir. Web sunucular ve veritabanlarında saldırıya açıklık sınamaları yapmakla ilgili ayrıntılı bilgi [16]'da verilmiştir.


    2.5. Saldırı Saptama

    Bilgisayar ağındaki olağan dışı etkinliklerin saptanması için çeşitli düzenekler kullanılmalıdır. Saldırı saptama için aşağıdaki düzenekler kullanılabilir:



    • Saldırı Saptama Sistemleri

    • Günlük Denetimi

    • Saldırgan Tuzağı


    Saldırı Saptama Sistemleri:

    Saldırı Saptama Sistemleri (SSS), saldırıların saptaması ve olağan dışı etkinliklerin saptanması için kurulan sistemlerdir. Bir veya daha fazla ağ tabanlı SSS, kritik ağ kesimlerinde konuşlandırılabilir. SSS’in etkin çalışması, güncel ağ ve sistem bilgisine sahip olması ile mümkündür. Bu da SSS’in ağ farkındalığı sistemi ile etkileşimli çalışmasını gerektirmektedir. SSS’in yapılanış ve kuralları web güvenliği için özerkleştirilmelidir. Bunun yanı sıra, sunucuların yerel güvenliği için sunucu tabanlı SSS’ler konuşlandırılabilir. Saldırganların sistemde yapabilecekleri değişikliklerin takibi açısından, Tripwire8 ve benzeri programlarla kritik sistem dosyalarımda yaşanan değişimler izlenmelidir [11].
    Günlük Denetimi:

    Sunucu günlükleri (log), sunucu makineleri üzerindeki web sunucu yazılımı (örneğin apache) ve web uygulama güvenlik duvarı (örneğin Mod Security) gibi çeşitli sistemlerin günlük içeriklerini içermektedir. Bu günlüklerin çözümlenmek üzere eşgüdüm merkezi olarak adlandırılan bir ortak merkezde toplanması önerilmektedir. Web sunucu yazılımına ait erişim ve hata günlüklerinin ayrıntılı olarak çözümlenmesi, olağan erişimler dışındaki davranışların saptanmasını sağlayacağından, saldırı girişimlerine ilişkin bilgi sağlayacaktır.


    Saldırgan Tuzağı:

    Saldırgan tuzağı (honeypot), sisteme saldırı yapacak kişiler için kurulan tuzak sistemlerdir. Bu sistemler, saldırı saptama sistemleri tarafından yakalanamayan yeni zayıflıkların öğrenilmesi ve saldırganların saldırı anındaki davranışlarına ilişkin bilgi toplamak için kurulmaktadır. Kuruma özgü web uygulamaları sahte verilerle bu saldırgan tuzakları üzerinde konuşlandırılabilir. Saldırgan tuzakları, saldırgan etkinliklerine karşı sürekli olarak izlenmelidir. Böyle bir sistemin uygulama ayrıntıları [11] çalışmasında verilmiştir.

    Birden fazla saldırgan tuzağının oluşturduğu ağa, saldırgan tuzağı ağı(honeynet) denir. Genellikle saldırgan tuzaklarını izleyerek ayrıntılı istatistik ve günlük toplamak amacıyla da bu tür ağlar kurulmaktadır. Bu konuda Honeynet9 projesinin ayrıntılı çalışmaları bulunmaktadır.
    2.6. Saldırı Engelleme

    Engelleme ve risk azaltıcı sistemler, mümkün olduğunca kullanılmalıdır. Sistem aşağıdaki düzeneklerden oluşmaktadır:



    • Erişim Denetimi

    • Sunucu Yerel Güvenliği

    • Web Uygulama Güvenlik Duvarı / Ters Vekil


    Erişim Denetimi:

    Kurum, web sunucularını kullanım amaçlarına ve içerdikleri bilgilerin/servislerin gizliliğine göre dış ağlara açık (public) veya dış ağlara kapalı olarak sınıflandırabilir. Kurum, bazı web sunucuların ve üzerlerinde çalışan servislerin sadece kurum ağından erişilebilmesini ve dış dünyaya kapalı olmasını hedefleyebilir. Bu kuruma özel sunuculara erişim, kurumun kendi iç ağı (intranet) veya kurumun birlikte çalıştığı ortak kurumları da içeren bir harici ağ (extranet) ile sınırlandırılabilir. Bunun yanı sıra, aygıtları yönetmek amaçlı olarak web sunuculara yapılan uzaktan erişimler denetlenmeli ve kısıtlanmalıdır. Bütün bu denetimler ağ üzerinde, ağ tabanlı güvenlik duvarındaki yapılandırmayla ve/veya yönlendirici aygıtlarında devreye alınacak erişim listeleri ile gerçekleştirilebilir. Dışarıdan erişime açık sunucular için yapılması önerilen önlemler aşağıdaki gibidir:



    • Dış ağlara açık sunucuların sayısı mümkün olduğunca az tutulmalı,

    • Dış ağlara açık sunucular tercihen ayrı bir sanal yerel ağda (VLAN) veya ağ güvenlik duvarına bağlı ayrı bir ağ kesimi olan “yarı güvenli ağ” (Demilitarized Zone) olarak da adlandırılan YGA'da bulundurulmalı,

    • Veritabanı servisinin, tercihen web hizmeti veren sunucudan ayrı bir sunucu üzerinden verilmelidir. Web hizmeti veren sunucu üzerinde veritabanı servisi çalıştırıldığı durumda, veritabanı servislerinin çalıştığı ağ kapısına erişim kısıtlanmalıdır [12].

    Kuruma özel, dış ağlara kapalı sunucular için yapılması önerilen ek önlemler aşağıdaki gibidir:

    • Bu sunuculara erişimde gelişmiş kimlik doğrulama düzenekleri kullanılmalıdır.

    • Bu sunuculara erişim izni sadece belirli ağ kesimlerine verilmelidir. Bu önlemin güvenliği arttırdığı aşikardır, yalnız saldırganların bu izin verilen ağ kesimlerinden bir kullanıcı makinesini ele geçirebileceği ve ele geçirilen makine üzerinden bu özel sunuculara erişmeye çalışabileceği unutulmamalı ve diğer güvenlik önlemlerini almaya devam edilmelidir.

    Sunucu Yerel Güvenliği:

    Web sunucularının bulunduğu makinenin işletim sisteminin ve üzerinde çalışan sistemlerin güvenliği sağlanmalıdır. Web sunucusu üzerinde alınabilecek önlemler aşağıda özetlenmiştir:



    • İşletim sistemi ve üzerinde çalışan yazılımların güvenlik güncellemelerinin düzenli olarak yapılması ve yazılımların gerekli yamalarının uygulanması [12],

    • Sunucu üzerinde mümkün olduğunca az servisin çalıştırılması,

    • Kurumda ağ tabanlı sistemler üzerinde erişim kısıtlamaları uygulanmakta olsa da, uzaktan erişim kısıtlamalarının sunucuda ayrı olarak tanımlanması,

    • Web sunucu yazılımı ve veritabanları için gerekli güvenlik ayarlarının yapılması [12],

    • Web uygulama güvenlik duvarı (örneğin, mod security) yazılımının sunucu üzerinde yerel olarak kurulması,

    • Web sunucu üzerindeki günlüklerin düzenli olarak incelenmesidir.


    Web Uygulama Güvenlik Duvarı / Ters Vekil:

    Bazı sistemlerde çeşitli nedenlerden dolayı web güvenliğinin sağlanması mümkün olmayabilir. Bunun başlıca nedenleri:



    • Sunucuların sistem yöneticilerine ulaşmada yaşanan problemler,

    • Sistem üzerinde çalışan yazılımların yeterli belgelemelerinin bulunmaması ve o yazılımı hazırlayan programcılara ulaşılamaması yüzünden gerekli yazılım düzeltmelerinin gerçekleştirilememesi,

    • Donanımsal kısıtlamalar yüzünden gerekli güncelleme veya sürüm terfilerinin gerçekleştirilememesidir.

    Web sunucularının güvenliğini sağlamak için, sunuculara gelen ağ trafiğini süzen ve saldırı girişimlerini mümkün olduğunca engelleyen sistemler kurulmalıdır. Bu tür çözümlere Web Uygulama Güvenlik Duvarı (WUGD) denmektedir. Bu çözümler, daha çok ters vekil sunucu olarak uygulanmaktadır.

    WUGD çözümlerinde, web sunucularına gidecek bütün ağ trafiği ters vekil sunucu üzerinden geçecek şekilde ayarlanmalıdır. WUGD; sadece web için değil, bütün ağ iletişim kuralları için de güvenlik duvarı olarak çalışacak şekilde kullanılabilir. WUGD'un, süzme işlemini gerçekleştirmek için süzme yeteneği olacak şekilde yapılandırılması gerekecektir.


    2.7. Kurtarma

    Saldırı sonrasında nelerin yapılması gerektiği tanımlanmalı ve mümkünse aralıklı olarak gerekli tatbikatlar gerçekleştirilmelidir. Saldırı sonrasında gerçekleştirilecek aşamaları aşağıdaki şekilde sınıflandırmak mümkündür :



    • Sunucuya erişimin engellenmesi: Saldırganın sunucu üzerinden yayın yapması veya başka saldırılara kalkışmasını engellemek için öncelikle sunucuya erişim engellenmelidir.

    • Ayrıntılı inceleme: Saldırının boyutu ve bilgi sisteminde yarattığı zarar saptanmalıdır. Sistemdeki hangi zayıflığın bu saldırıyı başarılı kıldığı belirlenmelidir. Saldırının kuruma ait başka sistemlerde de etkin olup olmadığı incelenmelidir. Saldırgan saldırıdan sonra sistemde bir arka kapı bırakmış olabilir. Sunucu, saldırıya ilişkin yeterli bilgi toplanması ve çekirdek düzeyinde sistemde bir değişiklik yapılıp yapılmadığının denetlenmesi için ayrıntılı incelemeye alınmalıdır.

    • Saldırıların etkilerini temizleme: Sistemin tekrar etkinleştirilmeden önce eski haline geri getirilmesi gerekecektir. Yeni sistemin aynı saldırıya maruz kalmaması için, bu saldırıya neden olan zayıflık giderilmelidir. Mümkünse yeni bir sunucuda sistem ayağa kaldırılmalıdır.

    • Sistemi yeniden çalıştırma: Verilerin yedeklerden alınarak yeni kurulan sisteme taşınması gerekecektir. Bunun için kurumun öncelikle düzenli bir sistem yedekleme politikasına sahip olması gerekmektedir.

    • Kullanıcıların durumdan haberdar edilmesi: Kullanıcıların kişisel bilgilerinin saldırganların eline geçmesi durumunda, kullanıcıların gerekli önlemleri alması için bir an önce gerekli bilgilendirme yapılmalıdır. Böylece kullanıcı, başka sistemlerde de aynı parolayı kullanıyorsa değiştirebilecek veya kredi kartı gibi mali değerleri için gerekli önlemleri alabilecektir.

    • Saldırganın saptanması: Saldırganın saptanması için sunucu makinesi ve sistemdeki diğer aygıtlardaki kayıtlar ayrıntılı olarak incelenmelidir. Olayın teknik ve hukuki süreçleri bulunmaktadır. Türkiye'de hukuki süreçler yeterince gelişmiş değildir. İstanbul Üniversitesi'nde gerçekleşen web saldırısı sonrasında gerçekleşen teknik ve hukuki süreç [17]'de ayrıntılı olarak ele alınmıştır.


    2.8. Eşgüdüm Merkezi

    Kurumsal web güvenliği modelinde tanımlanan düzeneklerin her birinin belirli yarar kazanımları olduğu kadar, bazı yarar yitimleri de bulunmaktadır. Web güvenliği konusunda sağlam bir altyapı ancak çok katmanlı güvenlik modelinin uygulanması ile mümkündür Her eklenen ve etkinleştirilen güvenlik düzeneği ile riski en aza indirmek mümkün olacaktır.

    Kurumsal web güvenliğinde tanımlanan düzenekler, ancak birlikte etkileşimli çalıştırıldığında en iyi sonuca ulaşmak mümkündür. Bu düzeneklerin eşgüdümü,merkezi bir sistemde toplanmalıdır. Şekil 3'de bu sistem yapısı gösterilmiştir.





    Şekil 3 Kurumsal Web Güvenliği Yapısı

    Eşgüdüm merkezi ile hedeflenecekler aşağıdaki gibidir:

    • Düzenekler arasındaki etkileşimi sağlamak,

    • Sistemin başarımını eniyileme,

    • Yanlış uyarıların azaltılması ve böylece gerçek uyarılar üzerinde yoğunlaşılmasının sağlanması,

    • Sistemdeki saldırıya açık noktaların saptanması ve aciliyet/tehdit durumuna göre hareket planının yapılmasının saplanması,

    • Saldırı saptama sistemi gibi etkin sistemlerin yapılanışlarını dinamik olarak değiştirmektir.

    3. KISALTMALAR

    Kısaltma Açıklama

    IDS Saldırı Saptama Sistemi

    WUGD Web Uygulama Güvenlik Duvarı
    4. SONUÇ
    Kurumsal ağlarda, web güvenliği için yapılması gerekenler bir model şeklinde bu bildiride anlatılmıştır. Bu yöntemlerin mümkün olduğunca çoğunun uygulanması; daha sağlam bilgi altyapılarının oluşmasına ve toplumun bu tür bilgi sistemlerine güvenini artırmasına yol açacaktır.
    5. KAYNAKLAR
    [1] Curphey M., Araujo R., 2006, Web Application Security Assessment Tools, IEEE Security & Privacy

    [2] Grossman J., 2004, Challenges of Automated Web Application Scanning – “Why Automated scanning only solves half the problem”, Blackhat Windows 2004, 12 Ocak 2006 tarihinde erişilmiştir, http://www.whitehatsec.com/presentations/challenges_of_scanning.pdf

    [3] Grossman J., 2006, 5 challenges of web application scanning, http://jeremiahgrossman.blogspot.com/2006/07/5-challenges-of-web-application.html

    [4] İTÜ BIDB, 2007,Dinamik Web Sayfaları ve Veritabanı Hizmetleri Kullanım Politikaları, 12 Ağustos 2007 tarihinde ulaşılmıştır, http://www.bidb.itu.edu.tr/?i=54

    [5] Karaarslan E., Tuglular T., Sengonca, H., 2007. Enterprise-wide Web Security Infrastructure, TERENA Network Conference.

    [6] Karaarslan E., Teke A., Şengonca H., 2003, Bilgisayar Ağlarında Güvenlik Politikalarının Uygulanması, İletişim Günleri 2003, http://www.karaarslan.net/bildiri/

    [7] Lipner S., Howard M., 2005, The Trustworthy Computing Security Development Lifecycle, Microsoft Corporation, 22 Temmuz 2007 tarihinde erişilmiştir, http://msdn2.microsoft.com/en-us/library/ms995349.aspx

    [8].OWASP, 2007, Secure Coding Principles, http://www.owasp.org/index.php/Secure_Coding_Principles

    [9].OWASP, 2007, OWASP Guide to Building Secure Web Applications, http://www.owasp.org/index.php/Category:OWASP_Guide_Project

    [10].Peine H., 2006, Security Test Tools for Web Applications, IESE Report-Nr. 048.06/D, A Fraunhofer IESE Publication,

    [11].Riden J., McGeehan R., Engert B., Mueter M., 2007, Know your Enemy: Web Application Threats, Using Honeypots to learn about HTTP-based attacks, http://honeynet.org/papers/webapp/

    [12].SANS, 2006, Web Applications, SANS Top-20 Internet Security Attack Targets (2006 Annual Update), http://www.sans.org/top20/#c1

    [13].TÜBİTAK-MAM, 2006, Kamu Kurumları İnternet Sitesi Kılavuzu (Sürüm 1.0), http://rega.basbakanlik.gov.tr/eskiler/2007/01/20070127-7-1.doc

    [14] ULAKBİM, 2007, Güvenlik Politikaları, 12 Ağustos 2007 tarihinde ulaşılmıştır, http://csirt.ulakbim.gov.tr/politika/

    [15].West, D.M., 2007, Global E-Government, 2007 Yılı İnceleme Raporu, http://www.insidepolitics.org/egovt07int.pdf

    [16].Whitaker A., Newman D., 2005: Penetration Testing and Network Defense, Cisco Press, ISBN:1-58705-208-3

    [17].Cimilli C., Doğan İ., 2004, İnternet Saldırıları Sonrasında Yapılması Gerekenler, Akademik Bilişim 2004

    [18] Magiera J., Pawlak A., 2005, Security Frameworks for Virtual Organizations, In Virtual Organizations: Systems and Practices, Springer



    [19] Karaarslan E., 2008, Doktora Tezi


    1 Javadoc (http://java.sun.com/j2se/javadoc/), java dili için özdevimli belgeleme yazılımı

    2 Phpdoc (http://www.phpdoc.org/), php dili için özdevimli belgeleme yazılımı

    3 CLASP (Comprehensive, Lightweight Application Security Process) Projesi http://www.owasp.org/index.php/Category:OWASP_CLASP_Project

    4 Struts Framework, http://struts.apache.org/,

    5 OWASP WebScarab Projesi, http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project,

    6 Paros Proxy (http://www.parosproxy.org/)

    7 Burp Suite (http://portswigger.net/suite/)

    8 Tripwire (http://sourceforge.net/projects/tripwire/)

    9 The Honeynet Project (http://project.honeynet.org)







        Ana sayfa


    Kurumsal web güvenliĞİ yapisi

    Indir 70.87 Kb.