CiscoTR.COM / Cisco.Gen.TR


Geri git   CiscoTR.COM / Cisco.Gen.TR > NETWORK > Security

Kayıt ol Etiketler Yardım Üye Listesi Ajanda Arama Bugünki Mesajlar Bütün Forumları okunmuş kabul et
  #1 (permalink)  
Alt 08-28-2007, 22:56
korhanaydın - ait Kullanıcı Resmi (Avatar)
Yönetici
 
Üyelik tarihi: Jun 2007
Yaş: 28
Mesajlar: 152
Arrow Web Sunucunuzu Saldırılara Karşı Koruyun

Genel protokolleri kullanarak gerçekleşen sızma işlemlerinin tespiti için NIDS sistemleri yeterlidir.Fakat web uygulamalarının karmaşıklığı ve maruz olabileceği birçok değişik saldırıdan dolayı yanlış uyarı mesajları almadan web saldırılarının tespiti oldukça zordur.Bu özellikle SSL kullanan web uygulamaları için geçerlidir,çünkü NIDS in bu protokolde gerçekleşen trafiği şifresiz olarak okuması oldukça zordur.Bu problemleri aşmanın bir yoluda saldırı tespit sistemini doğrudan web sunucusunun üzerine gömmektir.Bu işlem tam olarak Apache (http://www.apache.org) sunucusu üzerinde çalışan mod_security (http://www.mod_security.org) uygulamasının yaptığı iştir.
Mod_security ismindende anlaşılacağı gibi Apache web sunucusunun güvenliğini istemcinin gerçekleştirdiği çeşitli istekler için çeşitli filtreler uygulayarak çalışan bir Apache modülüdür,mod_security ayrıca gelen isteklerin normalleştirilmesini sağlayan birçok düzgünlük kontrollerini yapar.Düzgün bir şekilde ayarlanmış süzgeç kuralları ile mod_security dizin gezinimi,siteler arası betik yazma saldırıları ,SQL enjeksiyonları ve hafıza taşırma açıklıklarını engeller.
Mod_security nin kurulması için kaynak kodu indirilir ve bir dizine açılır.Eğer DSO olarak kurulması istenirse apxs programından yararlanılır.İlk başta kaynak kodunda sizin kullandığınız Apache dizinine girilir ve daha sonra şu komut çalıştırılır.

# apxs -cia mod_security.c

Bu komut mod_security i derleyerek Apache programının başlangıcı sırasında bu modülü de başlangıcına eklemesi sağlanacaktır.Eğer mod_security modülünü statik olarak derlemek istiyorsanız Apache yi tekrar derlemeniz gerekmektedir.Apache 1.x sürümlerini kullanıyorsanız mod_security programını mod_security.c dosyasını src/modules/extra dizinine kopyalayarak ve apache yapılandırma betiğine şu satırları vermeniz yeterli olur.
--activate-modules=src/modules/extra/mod_security
-- enable-module=security
mod security programı kurulduğuna göre artık aktif hale getirebilirsiniz.Bunu httpd.conf dosyasına şu satırları ekleyerek yapabilirsiniz.
<IfModule mod_security.c>
SecFilterEngine On
</IfModule>
Böylece web sunucunuza yapılan tüm isteklerin normalleştirme işlemi mod_security tarafından yapılmaya başlanacaktır.Ayrıca SecFilterEngine değişkenine DynamicOnly parametresini vererek sadece dinamik içeriğin mod_security tarafından işlenmesi sağlanabilir.mod_security aktif hale getirildikten sonra web sunucunuza gelen bütün trafiği kullanıcı tarafından belirtilmiş filtrelere göndermeden önce kendi üzerine alacak bu trafik üzerinde birçok kontrol işlemleri gerçekleştirecek ve en sonunda bu isteğin kabul edilip edilmeyeceğine karar verecektir.Bu normalleştirme kontrolleri sırasında mod_security programı birçok zararlı karakterleri normal hale getirecektir.Mesela // ve /./ karakterleri / ne ,Windows ta \ karakteri / karakterine dönüştürülecektir.Ek olarak URL kodlanmış karakterlerin kodları çözülecektir.Bütün bunlara ek olarak mod_security POST yöntemi ile gönderilen isteklerin içine bakacak ve bu istekler içindeki URL kodlamasın ve evrensel kodlamaların geçerliliğini denetleyecektir.
Bu satırları etkinleştirmek için şu satırlar httpd.conf dosyasına eklenir:
SecFilterScanPOST On
SecFilterCheckURLEncoding On
SecFilterCheckUnicodeEncoding On
URL kodlamaları ile % karakteri ile ön eklenmiş onaltılık sayı (0-9 ve A-F arası karakterlerden oluşur) düzenine dönüştürülmüş haldeki isteklerin yapılmasına izin verir.URL kodlama işinin doğrulanması aktif hale getirildiğinde mod_security URL kodlama yapılmış karakterlerin onaltılık sayı düzeni dışında gönderilmemesini sağlar.Evrensel kod doğrulaması işlemi sırasında gelen isteklerin evrensel kodlama dışına çıkmaması garanti altına alınmış olur.Evrensel kodlama işlemi işletim sisteminiz bu kodlamayı destekliyor ve uygulamalarınız bu kodlamayı kullanıyorsa yararlı olur.
Hafıza taşırma açıklıklarından sakınmak için istekler içinde gelen karakterlerin hangi byte aralığında gelmesi gerektiği de belirtilir.Örnek olarak sadece basılabilir karakterlerin işlenmesini sağlamak için httpd.conf dosyasına şu satırlar eklenir:
SecFilterForceByteRange 32 126
Kullanıcı tarafından tanımlanmış filtreler SecFilter veya SecFilterSelective anahtar kelimeleri ile aktif hale getirilir.SecFilter ile sorgu içindeki karakterlerin taranması sağlanır.SecFilterSelective kelimesi ile web sunucu içindeki değişkenlerin taranması sağlanır.
Aşağıdaki satırlar ile bazı saldırıların engellenmesi sağlanır.
Bu satır ../ karakterini içeren isteklerin yasaklanması sağlanır:
SecFilter “\ .\ ./”Her ne kadar web sunucu ../ karakterlerini doğru olarak yorumlayıp üst dizine çıkma isteklerini değerlendirmese de web sunucu üzerindeki uygulamalar veya betikler buna izin verebilir.Bu kural ile bu istekler işlenmeden önce reddedilmiş olur.
Siteler arası betik yazma (XSS) saldırıları ile varolan sayfa içine bu sayfada olmayan HTML veya JavaScript komutları eklenip,kullanıcının gezgininin bunu çalıştırması sağlanır.Bu saldırılar ile kullanıcının oturum çerezleri (cookie) okunup,kullanıcı bilgileri üzerinde tam hak sağlanır.Bu saldırılar mod_security de JavaScript betiklerinin tamamen reddedilmesi ile engellenebilir:^3
JavaScript lerine izin verilmemesi için şöyle bir kural kullanılır:
SecFilter “<[ [ :space:] ] *script”Ayrıca HTML i ise şu şekilde yasaklayabilirsiniz:
Secfilter “<(.I \n) + >”SQL enjeksiyon saldırıları XSS saldırılarına benzer fakat saldırgan SQL sorguları içindeki bir metini,saldırganın istediği bir sorgunun çalıştırılması sağlanacak şekilde değiştirir.
SQL enjeksiyon saldırılarından kurtulmak için şu kurallar eklenir.:
SecFilter “delete [[:space:]] +from”
SecFilter “insert [[:space:]] +into”
SecFilter “select.+from”
Aşağıdaki satır sessionid adı verilen bir çerezin için SQL enjeksiyonunun yapılmasını engeller.
SecFilterSelective COOKIE_sessionid “!^( I [0-9]{1,9}Ş” Eğer sesiondid çerezi mevcut ise bu çerezin sadece dokuz karakterden oluşan numaralardan olması durumunda işlenmesi sağlanır.
Aşağıdaki satır ile yapılan her istek içinde HTTP_USER_AGENT ve HTTP_HOST başlıklarının bulunması halinde isteğin yerine getirilmesi sağlanır.
SecFilterSelective “HTTP_USER_AGENT I HTTP_HOST” “^Ş”Birden fazla değişkeni aralarına karakteri koyarak aynı satırda kullanabilirsiniz.Saldırganlar genelde sunucu hakkında bilgi sahibi olmak için telnet gibi basit programları kullanırlar.Bu programlar tarayıcıların gönderdiği bazı başlıkları göndermez.Bu tarz bir istek reddedilebilir veya kayıt altına alınabilir.
Bu satır ile dosya gönderilmesi engellenmiş olur:
SecFilterSelective “HTTP_CONTENT_TYPE” multipart/form-dataBöylece dosya gönderimi sırasında kullanılan içerik tipine bakılarak yapılan istek reddedilebilir.
Aşağıdaki satır Accept başlığı olmayan isteklerin kayıt altına alınmasını sağlar.Bu kayıt altına alınan istekler daha sonra incelenebilir.
SecFilterSelective “HTTP_ACCEPT” “^Ş” log,pass
Elle yapılan isteklerde bazı başlık bilgilerinin olmadığı daha önceden söylenmişti.Bu başlıklara Keep-Alive başlığı da örnek verilebilir.Üsteki satırda dikkat edilirse log ve pass anahtar kelimeleri kullanıldı.Bu kural ile istenen karakterler ile karşılaşınca buna izin verilir ve bu olayın kaydı tutulur.Eğer yapılacak hareket tanımlanamaz ise öntanımlı hareket uygulanır.Bu öntanımlı hareket şu şekilde belirtilir.
SecFilterDefaultAction “deny,log,status:500”Üstteki şekilde bir öntanımlı hareket tanımlanırsa web sunucu belirtilen filtreye uyan istekleri reddedip,bu olayın bir kaydını tutar.Ayrıca kullanıcıyı http 500 sayfasına yönlendirir.Bu hata kodu sunucuda olan bir hatanın gerçekleştiği mesajdır.Allow hareketi pass hareketine benzer fakat bundan sonra başka filtrelerin uygulanmasını engelleyerek direk kullanıcıya izin verilmesi sağlanır.Redirect ile istemci istenen bir sayfaya gönderilir.Exec ile sunucu tarafında bir betiğin çalıştırılması sağlanır.Exec ile birden fazla kural VE operatörü ile birleştirilir.
Filtrelemeye ek olarak mod_security programı sunucuya gönderilen bütün isteklerin izlenmesini sağlayan ve bu isteklerin bir dosyaya yazılmasını sağlayan denetim işlemini gerçekleştirmesini de gerçekleştirebilir.Denetimi açmak için httpd.conf dosyasına şu satırlar eklenir:
SecAuditEngine On
SecAuditLog logs/audit_log

Bu işlem sunucuya gönderilen tüm isteklerin kayıt altında tutulmasını sağlar.Bunun bir sonucu olarak kayıt dosyası hızla şişer.Sadece bir filtreye uyan isteklerin kaydedilmesi için SecAuditEngine RelevantOnly kullanılır.Ayrıca DynamicOrRelevant kullanılarak sadece dinamik sayfaların kaydı tutulması sağlanır.
Apache de mod_security i belirli bir dizin altındaki dosyalar için aktif hale getirebilirsiniz.Bunun için <Location> direktifi altında mod_security aktif hale getirilir.
mod_security web uygulamalarınızın güvenliğinin sağlanması için oldukça başarılı bir araçtır.Fakat web uygulamalarınızı yazarken gerekli olan dikkatin mutlaka sağlanması gerekir.
Alıntı ile Cevapla
  #2 (permalink)  
Alt 08-28-2007, 23:31
x25 - ait Kullanıcı Resmi (Avatar)
x25 x25 isimli Üye şimdilik offline konumundadır
Yönetici
 
Üyelik tarihi: Aug 2007
Mesajlar: 160
Standart

bu arada ek olarak bende bir not ileteyim kurumsal entegrasyon yapan firmalar için OEM ticari lisansları kullanılabilir(son kulanıcı lisansları uygulamalar güvenlik araçları vs.) bunun dışında Açık kaynak kodlu versiyonu GNU public bir şekilde kullanılabilir.
http://www.thinkingstone.com/
Alıntı ile Cevapla
  #3 (permalink)  
Alt 09-21-2007, 01:16
Serhatx - ait Kullanıcı Resmi (Avatar)
Member
 
Üyelik tarihi: Sep 2007
Nerden: İstanbul
Yaş: 19
Mesajlar: 45
Serhatx - MSN üzeri Mesaj gönder Serhatx - YAHOO üzeri Mesaj gönder
Standart

İlk öncelikle,yazınız için teşekkürler..ne yalan söyleyeyim bugünlerde bu konuyu düşünüyor ve karşıdan gelen saldırıya seçenekli olarak engelleme yapabilen bi program projesi üzerinde çalışıyorum,döküman faydalı olacak
__________________
Bakmakla öğrenilseydi,switchler server olurdu :)
Alıntı ile Cevapla
  #4 (permalink)  
Alt 09-22-2007, 12:14
Junior Member
 
Üyelik tarihi: Jun 2007
Mesajlar: 23
Standart

Her sistemin bir acigi vardir..
Alıntı ile Cevapla
  #5 (permalink)  
Alt 09-22-2007, 12:18
x25 - ait Kullanıcı Resmi (Avatar)
x25 x25 isimli Üye şimdilik offline konumundadır
Yönetici
 
Üyelik tarihi: Aug 2007
Mesajlar: 160
Standart

Alıntı:
kyenilmez´isimli üyeden Alıntı Mesajı göster
Her sistemin bir acigi vardir..
muhtemelen
Alıntı ile Cevapla
  #6 (permalink)  
Alt 10-25-2007, 00:11
cemal - ait Kullanıcı Resmi (Avatar)
Junior Member
 
Üyelik tarihi: Oct 2007
Nerden: istanbul
Yaş: 25
Mesajlar: 2
Standart

arkadaşlar IIS için bir mod security var mıdır?
Alıntı ile Cevapla
  #7 (permalink)  
Alt 02-29-2008, 17:39
Junior Member
 
Üyelik tarihi: Feb 2008
Mesajlar: 11
Standart

Teşekkürler
Alıntı ile Cevapla
Cevapla


Seçenekler
Stil

Yetkileriniz
Yeni Mesaj yazma yetkiniz aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz aktif değil dir.

Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Gitmek istediğiniz klasörü seçiniz


Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 00:55


Powered by vBulletin Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
CiscoTR.COM - Cisco Forum
3 5 72 73 74 75 81 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 143 146 147 148 149 150 151 152 153 154 155 156