Sifreli Trafik analizi icin IDS Tasarimi

Kritik bilgiler sunan sunucu sistemlerimin onunde bulunan IDS(Active Response destekli, kimilerine gore de IPS )den tam verim alabilmek icin sifreli trafigi de incelemem gerekiyordu… Ilk asamada bunun pek mumkun olmadigi gorusu hakimdi, biraz kafa yorunca(piyasada bu isi yapan ticari yazilimlarin varligindan da gaz alarak ) aslinda birtunel.jpg cesit SSL sarmalayici bulabilirsem bu isin ustesinden gelebilecegimi dusundum ve hemen harekete gectim.

Daha onceleri SMTP, POP3, HTTP gibi protokollere SSL destegi vermek icin Stunnel kullaniyordum, farkli bir yazilim aramadan ilk denemelerimi Stunnel ile yapmaya karar verdim ve kollari sivadim…. (46saat gecti hala indiremedim:D)

Sunucu sistemlerin yapisi su sekilde,

sunucu sistemler—–(fxp0)OpenBSD+Snort(fxp1)—–Internet

Internetten gelen sifreli trafik fxp1 bacagindan giriyor, fxp0’dan cikarak arkadaki ilgili sunuculara gidiyor. SSL trafigini IDS’e incelettirme dusuncesinden once IDS sistemi fxp1 bacagini dinliyordu . SSL trafigini incelemeye karar verdikten sonra fxp1 bacaginda SSL sarmalayici/proxy calistirip once trafigi cozumlettiriyorum sonra cozumlenmis trafik fxp0 bacagina geliyor. Burada calisan Snort(IDS) açık trafiği okuyarak sunuculara sifreli iletisim kanali uzerinden yapilan saldirilari kayit altina alabiliyorum.

fxp1 bacaginda calistirdigim SSL proxy(stunnel)’e icerdeki sunucu icin aldigimiz sertifikalari yukleniyor ve stunnel 443/TCP portuna gelen trafigi alip, cozumleyip arkadaki sunucunun 80. portuna gonderiyor .

SSL sarmalayici eklendikten sonraki sistemin durumu

sunucu sistemler—(fxp0)Snort__stunnel (fxp0)——-Internet

Bunun icin gerekli stunnel yapilandirmasi


# Comment it out on Win32
cert = /etc/stunnel/server.crt
key = /etc/stunnel/server.key
#chroot = /var/stunnel/
# PID is created inside chroot jail
pid = /var/run/stunnel.pid
setuid = _stunnel
setgid = _stunnel

# Workaround for Eudora bug
#options = DONT_INSERT_EMPTY_FRAGMENTS

# Authentication stuff
#verify = 2
# don’t forget about c_rehash CApath
# it is located inside chroot jail:
CApath = /etc/ssl/certs
# or simply use CAfile instead:
CAfile = /etc/ssl/certs.pem
# CRL path or file (inside chroot jail):
#CRLpath = /etc/ssl/crls
# or simply use CAfile instead:
#CRLfile = /etc/ssl/crls.pem

# Some debugging stuff
#debug = 7
#output = stunnel.log

[https]
accept = 443
connect = 172.16.10.2:80
#transparent = yes
#TIMEOUTclose = 0

Tabi burada soyle bir sorun basgosteriyor, ssl sarmalayici olarak calistirdigimiz yazilim proxy mantiginda calistigi icin gelen paketlerin kaynak IP adresini kendi ip adresi olarak degistiriyor ve oyle gonderiyor. Arkadaki web sunucu loglarina bakildiginda tum istekler tek bir adresten geliyormus gibi gozukuyor ki bu da istedigimiz bir durum degil.. Stunnel’i biraz daha inceleyip gelen ip basliklarini bir sekilde iletmesini saglamak ya da baska cozumlere yelken acmak zorundayim…

This entry was posted in Network Security, OpenBSD. Bookmark the permalink.

2 Responses to Sifreli Trafik analizi icin IDS Tasarimi

  1. Oguz Yilmaz says:

    Freebsd konusunda bir bagimlilik yok ise linux altinda tproxy+stunnel -T denenebilir gorunuyor huzeyfe hocam.

  2. Huzeyfe ONAL says:

    oneri icin tesekkurler ama Tproxy ile nasil yapildigini mantiksal olarak anlamadim, Linux kullanma durumum da olmadigi icin yerli bir cozume basvurdum. OpenBSD 4.1 ile birlikte gelen hoststated’in sadece ssl proxy kismini kullanicilarin IP adreslerini alabilecek sekilde yapilandirabiliyorum.

    http://www.openbsd.org/cgi-bin/man.cgi?query=hoststated.conf&sektion=5&arch=&apropos=0&manpath=OpenBSD+Current

Leave a Reply

Your email address will not be published. Required fields are marked *

2 + eight =