snort ile ağ temelli saldırı tespitisnort sni ferserver m on i to ri ng / an a ly si snort 12 34...
TRANSCRIPT
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
2003
SNORT ileSaldırı Tespiti
Burak DAYIOĞLUDikey8 Bilişim Güvenliği Girişimi
[email protected]://www.dikey8.com
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
200322
Sunum PlanıSunum Planı• Saldırı TespitiSaldırı Tespiti
• Snort Nedir?Snort Nedir?
• Snort MimarisiSnort Mimarisi
• Snort KurallarıSnort Kuralları
• Snort İdaresiSnort İdaresi
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
200333
Güvenliğin SağlanmasıGüvenliğin Sağlanması• Üç ana çalışma alanıÜç ana çalışma alanı
–Politikalar ve ProsedürlerPolitikalar ve Prosedürler
–TeknolojiTeknoloji
–Eğitim ve BilgilendirmeEğitim ve Bilgilendirme
• Teknoloji UygulamalarıTeknoloji Uygulamaları
–Politikanın Uygulanmasını SağlamaPolitikanın Uygulanmasını Sağlama
–Politika Uygunluğunun İzlenmesiPolitika Uygunluğunun İzlenmesi
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
200344
Saldırı TespitiSaldırı Tespiti• Politika ihlallerinin ve sistemler üzerindeki Politika ihlallerinin ve sistemler üzerindeki anormalliklerin tespit edilmesianormalliklerin tespit edilmesi
–Sistemlere sızan yabancıların ve yetkilerini kötüye Sistemlere sızan yabancıların ve yetkilerini kötüye kullanan kullanıcıların tespit edilmesikullanan kullanıcıların tespit edilmesi
• FaydalarıFaydaları–7x24 otomatize edilmiş izleme7x24 otomatize edilmiş izleme
–Erken tespit ve uyarıErken tespit ve uyarı
–Delil toplanması ve biriktirilmesiDelil toplanması ve biriktirilmesi
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
200355
Sistem SınıflandırmasıSistem Sınıflandırması
Anormallik Tespiti Davranış profillerine dayalı Tanımlama “normal”’den sapmalar ile gerçekleştirilir
Kötüye Kullanım Tespiti Saldırı imzalarına dayalı Pattern-matching vb. yöntemler ile gerçekleştirilir
Sunucu Temelli (HIDS) Olay kaynağı olarak sunucu günlük kayıtları kullanılır
Ağ Temelli (NIDS) Olay kaynağı olarak ağ üzerinden akan paketler kullanılır
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
200366
Snort Nedir?Snort Nedir?• Bir “Ağ Temelli Saldırı Tespit Sistemi”Bir “Ağ Temelli Saldırı Tespit Sistemi”
• GPL lisanslıGPL lisanslı
• Farklı platformlarda çalışabiliyor (UNIX, MS-Windows)Farklı platformlarda çalışabiliyor (UNIX, MS-Windows)
• Modüler mimariye sahipModüler mimariye sahip
• Bir kötüye kullanım tespit sistemiBir kötüye kullanım tespit sistemi
• Araştırma çevrelerinde rağbet görüyorAraştırma çevrelerinde rağbet görüyor
• Kurumsal kullanımı giderek yaygınlaşıyorKurumsal kullanımı giderek yaygınlaşıyor
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
200377
Ağ Üzerinde SnortAğ Üzerinde Snort
Yönlendirici
12 34 56
78 9101112
AB
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
Ethern
et
A
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
Anahtar
Güvenlik
E-posta
Sniffe r Serv erm o n ito r in g /a n al ys is
Snort
Sni ffe r Serv erm on i to ri ng / an a ly s is
Snort12 34 56
78 9101112
AB
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
Ethe
rnet
A
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
Anahtar
1 23 45 6
7 89101112
A B
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
Ether
net
A
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
AnahtarSni ffe r Server
m o n it or in g /a n a ly si s
Snort
Web
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
200388
AvantajlarıAvantajları• Çok sayıda sistem tek bir Snort ile izlenebiliyorÇok sayıda sistem tek bir Snort ile izlenebiliyor
• Birden çok Snort merkezi olarak denetlenebiliyorBirden çok Snort merkezi olarak denetlenebiliyor
• Yeni saldırıları tanımlayan kurallar kolayca yazılıpYeni saldırıları tanımlayan kurallar kolayca yazılıp eklenebiliyor eklenebiliyor
• İnternet üzerinde kural veritabanıİnternet üzerinde kural veritabanı–Herkese açıkHerkese açık
–Geniş ve güncelGeniş ve güncel
• Geniş kullanıcı kitlesi, sohbet edilebilen geliştiricilerGeniş kullanıcı kitlesi, sohbet edilebilen geliştiriciler–Hızlı ve yüksek kalitede destekHızlı ve yüksek kalitede destek
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
200399
DezavantajlarıDezavantajları•Şifrelenmiş iletişimler (VPN’ler, SSL, SSH vb.)Şifrelenmiş iletişimler (VPN’ler, SSL, SSH vb.) izlenemiyor izlenemiyor
•Yüksek hacimli trafiği izleyemeye yetişemiyorYüksek hacimli trafiği izleyemeye yetişemiyor
•Ağ altyapısında değişiklik/düzenleme gerektiriyorAğ altyapısında değişiklik/düzenleme gerektiriyor
•Çok yoğun biçimde yanlış alarm üretiyorÇok yoğun biçimde yanlış alarm üretiyor
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031010
İnternet’te Snort Kurallarıİnternet’te Snort Kuralları• Snort’un ev sitesi Snort’un ev sitesi http://www.snort.orghttp://www.snort.org adresinde adresinde
• Her yarım saatte bir güncellenen kurallar bu Her yarım saatte bir güncellenen kurallar bu sitedensiteden http yolu ile edinilebilebiliyor http yolu ile edinilebilebiliyor
– Kural güncellemeleri yeterince etkin değilKural güncellemeleri yeterince etkin değil
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031111
Snort Mimarisi ve EklentileriSnort Mimarisi ve Eklentileri•Snort üç farklı düzeyde eklentiler ile genişletilebilirSnort üç farklı düzeyde eklentiler ile genişletilebilir
–Ön-işleyici eklentileriÖn-işleyici eklentileri
–İşleyici eklentileriİşleyici eklentileri
–Çıktı eklentileriÇıktı eklentileri
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031212
Ön-İşleme EklentileriÖn-İşleme Eklentileri• Girdileri tespit işlemi öncesinde kanonik biçime Girdileri tespit işlemi öncesinde kanonik biçime dönüştürebilmek içindönüştürebilmek için
– http-decodehttp-decode, , stream4 ...stream4 ...
• Tüm paketler üzerinde yapılması gereken işlemleri Tüm paketler üzerinde yapılması gereken işlemleri yapabilmek içinyapabilmek için
– portscan ...portscan ...
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031313
İşleyici Eklentileriİşleyici Eklentileri•Kural tanımlama dilini zenginleştirmek içinKural tanımlama dilini zenginleştirmek için
–content, ttl, flags, flowto ...content, ttl, flags, flowto ...
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031414
Çıktı EklentileriÇıktı Eklentileri•Üretilen alarmları sorumluya farklı biçimlerde Üretilen alarmları sorumluya farklı biçimlerde ulaştırabilmek içinulaştırabilmek için
–XML, alert_smb, database ...XML, alert_smb, database ...
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031515
Snort KurallarıSnort Kurallarıalert tcp any any -> 144.122.202.0/24 80alert tcp any any -> 144.122.202.0/24 80
(content:“cmd.exe”; msg:“IIS saldirisi”;)(content:“cmd.exe”; msg:“IIS saldirisi”;)
var HOME_NET 144.122.202.0/24var HOME_NET 144.122.202.0/24
alert tcp any any -> $HOME_NET 80alert tcp any any -> $HOME_NET 80(content:“cmd.exe”; msg:“IIS saldirisi”;)(content:“cmd.exe”; msg:“IIS saldirisi”;)
var HOME_NET [144.122.202.0/24,144.122.203.0/24]var HOME_NET [144.122.202.0/24,144.122.203.0/24]
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031616
PO
RT N
O -
2
IP A
DR
ES
İ -
2
YÖ
N
PO
RT N
O -
1
IP A
DR
ES
İ -
1
PR
OTO
KO
L
EY
LEM
Kural BaşlığıKural Başlığıalert tcp any any -> 144.122.202.0/24 80alert tcp any any -> 144.122.202.0/24 80
(content:“cmd.exe”; msg:“IIS saldirisi”;)(content:“cmd.exe”; msg:“IIS saldirisi”;)
alert tcp any any -> 144.122.202.0/24 80alert tcp any any -> 144.122.202.0/24 80
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031717
SEÇ
EN
EK
AD
I
SEÇ
EN
EK
P
AR
AM
ETR
ELE
Rİ
Kural SeçenekleriKural Seçeneklerialert tcp any any -> 144.122.202.0/24 80alert tcp any any -> 144.122.202.0/24 80
(content:“cmd.exe”; msg:“IIS saldirisi”;)(content:“cmd.exe”; msg:“IIS saldirisi”;)
(content:“cmd.exe”; msg:“IIS saldirisi”;)(content:“cmd.exe”; msg:“IIS saldirisi”;)
Kural seçenekleri işleyici eklentileri sayesinde vardır!
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031818
Dinamik Kural AktivasyonuDinamik Kural Aktivasyonu• Dinamik kural aktivasyonu sayesinde bazı kuralların Dinamik kural aktivasyonu sayesinde bazı kuralların yalnızca belli şartlar oluştuğunda aktif hale gelmesi yalnızca belli şartlar oluştuğunda aktif hale gelmesi sağlanabilir:sağlanabilir:
activate tcp !$DBADMIN any -> $ORACLE !1521activate tcp !$DBADMIN any -> $ORACLE !1521(activates: 1;)(activates: 1;)
dynamic tcp !$DBADMIN any -> $ORACLE !1521dynamic tcp !$DBADMIN any -> $ORACLE !1521
(activated_by: 1; count: 500;)(activated_by: 1; count: 500;)
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20031919
Mevcut Kural SeçenekleriMevcut Kural Seçenekleri
resprespipoptionipoptionrpcrpcregexregexip_protoip_prototagtagprioritypriorityclasstypeclasstyperevrevsidsidreactreactresprespnocasenocasedepthdepthoffsetoffsetcontent-listcontent-listicmp_seqicmp_seqicmp_idicmp_idicodeicodeitypeitypecontentcontentackackseqseqflagsflagsdsizedsizefragbitsfragbitsididtodtodttlttlmsgmsg
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032020
Alarm Öncelikleri İhtiyacıAlarm Öncelikleri İhtiyacı• Her alarm aynı derecede önemli midir?Her alarm aynı derecede önemli midir?
– İnternet’ten web sunucusuna gelen bir CodeRed isteğiİnternet’ten web sunucusuna gelen bir CodeRed isteği
– Kurum içinden veritabanı sunucusuna başarısız bir rootKurum içinden veritabanı sunucusuna başarısız bir root telnet girişimi telnet girişimi
– Kurum içinden bind sürüm sorgulamasıKurum içinden bind sürüm sorgulaması
• Alarmlar için öncelik belirleyebilme önemli birAlarmlar için öncelik belirleyebilme önemli bir gereksinim gereksinim
– Daha etkin alarm yönetimi / emek kullanımıDaha etkin alarm yönetimi / emek kullanımı
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032121
Herkesin Öncelikleri FarklıHerkesin Öncelikleri Farklı• Genel-geçer saldırı tespiti kuralları herkes için aynıGenel-geçer saldırı tespiti kuralları herkes için aynı olmak durumunda olmak durumunda
– Aksi halde güncel kural setleri kavramı söz konusu Aksi halde güncel kural setleri kavramı söz konusu olamazolamaz
• Herkesin öncelikleri farklıHerkesin öncelikleri farklı
– Askeri kuruluşlar için her saldırı çok önemliAskeri kuruluşlar için her saldırı çok önemli
– KOBİ’ler için port taramaları az önemli ya da önemsizKOBİ’ler için port taramaları az önemli ya da önemsiz
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032222
Saldırı SınıflandırmasıSaldırı Sınıflandırması• Saldırılar sınıflara ayrılırSaldırılar sınıflara ayrılır
• Her sınıf için öncelikler kullanıcı tarafından Her sınıf için öncelikler kullanıcı tarafından belirlenirbelirlenir
1111Sistem yöneticisi yetkisi edinme Sistem yöneticisi yetkisi edinme girişimi başarılıgirişimi başarılı
successful-adminsuccessful-admin
1010Sistem yöneticisi yetkisi edinme Sistem yöneticisi yetkisi edinme girişimigirişimi
attempted-adminattempted-admin
99Kullanıcı yetkisi edinme girişimi Kullanıcı yetkisi edinme girişimi başarılıbaşarılı
successful-usersuccessful-user
77DoS GirişimiDoS Girişimiattempted-DoSattempted-DoS
33Bilgi sızdırma girişimiBilgi sızdırma girişimiattempted-reconattempted-recon
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032323
Gerçek Bir KuralGerçek Bir Kural• Gerçek hayatta kullanılabilecek bir saldırı tespit Gerçek hayatta kullanılabilecek bir saldırı tespit kuralıkuralı
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80((
msg:"WEB-IIS ISAPI .printer access"; msg:"WEB-IIS ISAPI .printer access"; uricontent:".printer";uricontent:".printer";
nocase;nocase;flowto: serverflowto: server;;reference:cve,CAN-2001-0241;reference:cve,CAN-2001-0241;
reference:arachnids,533;reference:arachnids,533;classtype:attempted-recon;classtype:attempted-recon;sid:971; rev:1;sid:971; rev:1;
))
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032424
Snort İçinde Paket YolculuğuSnort İçinde Paket Yolculuğu
Paket Toplama Döngüsü
Kaynakve hedefi kurallar
mu?
EVET
Bu birHAYIR
HAYIR
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032525
Özgün Eylem TanımlamaÖzgün Eylem Tanımlama• Dileyen kullanıcılar kendileri için özgün eylemlerDileyen kullanıcılar kendileri için özgün eylemler tanımlayabilir tanımlayabilir
ruletype ruletype suphelisupheli{{
type log outputtype log outputoutput log_tcpdump: suphelipaketler.logoutput log_tcpdump: suphelipaketler.log
}}
ruletype ruletype kritikkritik{{
type alert outputtype alert outputoutput alert_syslog: LOG_AUTH LOG_ALERToutput alert_syslog: LOG_AUTH LOG_ALERToutput database: log, mysql, ...output database: log, mysql, ...
}}
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032626
Özgün Eylemlerin Özgün Eylemlerin KullanılmasıKullanılması• Özgün eylemler, alert vb. yerine kullanılabilir:Özgün eylemler, alert vb. yerine kullanılabilir:
alert alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80
((msg:"WEB-IIS ISAPI .printer access"; msg:"WEB-IIS ISAPI .printer access";
uricontent:".printer";uricontent:".printer";nocase;nocase;flowto: serverflowto: server;;reference:cve,CAN-2001-0241;reference:cve,CAN-2001-0241;
reference:arachnids,533;reference:arachnids,533;classtype:attempted-recon;classtype:attempted-recon;sid:971; rev:1;sid:971; rev:1;
))
suphelikritik
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032727
Saldırıların DurdurulmasıSaldırıların Durdurulması•Saldırının geldiği bağlantının kaynağına ya daSaldırının geldiği bağlantının kaynağına ya da hedefine sanki diğer uçtan geliyormuş gibi hedefine sanki diğer uçtan geliyormuş gibi
– Bağlantıyı acele bitirdim (TCP Reset)Bağlantıyı acele bitirdim (TCP Reset)
– Hedef ağ ulaşılamıyor (ICMP Network Unreachable)Hedef ağ ulaşılamıyor (ICMP Network Unreachable)
– Hedef bilgisayar ulaşılamıyor (ICMP Host Unreachable)Hedef bilgisayar ulaşılamıyor (ICMP Host Unreachable)
– Hedef port ulaşılamıyor (ICMP Port Unreachable)Hedef port ulaşılamıyor (ICMP Port Unreachable)
gönderebilirgönderebilir
• Eklenti ile güvenlik duvarına talimat vererekEklenti ile güvenlik duvarına talimat vererek uygun kuralların eklenmesini sağlayabilir uygun kuralların eklenmesini sağlayabilir (SnortSam)(SnortSam)
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032828
Otomatik Yanıt İşe Yarar Mı?Otomatik Yanıt İşe Yarar Mı?• Saldırganın hedefinden geliyormuşçasına Saldırganın hedefinden geliyormuşçasına saldırganasaldırgana gönderilecek bir “bağlantıyı acele kesiyorum” gönderilecek bir “bağlantıyı acele kesiyorum” oyununu saldırgan bertaraf edebilir oyununu saldırgan bertaraf edebilir
– Gelen paketi görmezden gelirGelen paketi görmezden gelir
– Paket saldırganın hedefinden değil, Snort’tan gelmektedirPaket saldırganın hedefinden değil, Snort’tan gelmektedir
– Hiç duraklamaksızın saldırısını sürdürebilirHiç duraklamaksızın saldırısını sürdürebilir
• Eğer otomatik yanıt üretilecek iseEğer otomatik yanıt üretilecek ise
– Saldırgana değil hedefe göndermek daha makul olacaktırSaldırgana değil hedefe göndermek daha makul olacaktır
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20032929
Snort ile Otomatik YanıtSnort ile Otomatik Yanıtalert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80((
msg:"WEB-IIS ISAPI .printer access"; msg:"WEB-IIS ISAPI .printer access"; uricontent:".printer";uricontent:".printer";
nocase;nocase;flowto: serverflowto: server;;reference:cve,CAN-2001-0241;reference:cve,CAN-2001-0241;
reference:arachnids,533;reference:arachnids,533;classtype:attempted-recon;classtype:attempted-recon;sid:971; rev:1;sid:971; rev:1;
))resp: rst_all;resp: rst_snd;resp: rst_rcv;
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033030
İçerik Listeleriİçerik Listeleri• Bir dosyada alt alta listelenmiş anahtar sözcükBir dosyada alt alta listelenmiş anahtar sözcük listeleri içerik listesi olarak anılır: listeleri içerik listesi olarak anılır:
– oyun.txtoyun.txt::tavlatavlabricbricokeyokey
• Snort, bir girdinin tek bir kural marifetiyle tüm birSnort, bir girdinin tek bir kural marifetiyle tüm bir liste ile karşılaştırılmasına imkan verir liste ile karşılaştırılmasına imkan verir
alert tcp $HOME_NET any -> any 80alert tcp $HOME_NET any -> any 80(content-list:”oyun.txt”;(content-list:”oyun.txt”; msg:”Oyun sitesi erişimi”;) msg:”Oyun sitesi erişimi”;)
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033131
Site YasaklamaSite Yasaklama• Otomatik yanıt düzeneğine yapılmış bir ilaveOtomatik yanıt düzeneğine yapılmış bir ilave sayesinde sayesinde
– Belli web sitelerine bağlantının yasaklanmasıBelli web sitelerine bağlantının yasaklanması
– Yasaklanan sitelere bağlanılması durumunda bağlananYasaklanan sitelere bağlanılması durumunda bağlanan kullanıcının tarayıcısına mesaj gönderilmesi kullanıcının tarayıcısına mesaj gönderilmesi
mümkün olmaktadırmümkün olmaktadıralert tcp $HOME_NET any -> any 80alert tcp $HOME_NET any -> any 80((
content-list:”oyun.txt”;content-list:”oyun.txt”;msg:”Oyun sitesi erişimi yasaktır!”;msg:”Oyun sitesi erişimi yasaktır!”;
))react: block, msg;
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033232
Snort KurulumuSnort Kurulumu• Güncel sürümü daima http://www.snort.orgGüncel sürümü daima http://www.snort.org adresinden edinilebilir adresinden edinilebilir
• Kaynak kod ya da farklı işletim sistemleri için Kaynak kod ya da farklı işletim sistemleri için paketlenmiş hali bulunmaktadırpaketlenmiş hali bulunmaktadır
• Derlemek ve kurmak için aşağıdaki üç komutDerlemek ve kurmak için aşağıdaki üç komut yeterli olacaktır: yeterli olacaktır:
./configure./configuremakemakemake installmake install
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033333
Özel Modül YapılandırmasıÖzel Modül Yapılandırması• Flexresp vb. bazFlexresp vb. bazı modüllerı aktif hale getirmek içinı modüllerı aktif hale getirmek için derleme öncesi yapılandırma seçenekleri derleme öncesi yapılandırma seçenekleri verilmelidir: verilmelidir:
./configure./configure --with-mysql=--with-mysql=DİZİNDİZİN---with-oracle=-with-oracle=DİZİNDİZİN--with-postgresql=--with-postgresql=DİZİNDİZİN--enable-smbalerts--enable-smbalerts--enable-flexresp--enable-flexresp
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033434
Kurulum SonrasıKurulum Sonrası• Kurulum işlemi ile Snort program dosyası ve kılavuzKurulum işlemi ile Snort program dosyası ve kılavuz sayfası sistemde uygun dizinlere taşınır: sayfası sistemde uygun dizinlere taşınır:
– /usr/local/bin/snort /usr/local/bin/snort
• Kayıtlar için /var/log/snort dizini açılmalıKayıtlar için /var/log/snort dizini açılmalı
• Yapılandırma dosyası olan snort.conf, /etcYapılandırma dosyası olan snort.conf, /etc dizinine taşınmalı dizinine taşınmalı
• Güncel kural dosyaları http://www.snort.org’danGüncel kural dosyaları http://www.snort.org’dan çekilerek uygun bir dizin altına açılmalıdır çekilerek uygun bir dizin altına açılmalıdır
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033535
Snort AyarlarıSnort Ayarları• Yazılımın tüm ayarları snort.conf ve bu dosyadanYazılımın tüm ayarları snort.conf ve bu dosyadan “include” edilen diğer dosyalar bütünü içinde yer “include” edilen diğer dosyalar bütünü içinde yer alıralır
• Kurulum sonrasında snort.conf içerisindeKurulum sonrasında snort.conf içerisinde
– $HOME_NET ve diğer değişken tanımları güncellenmeli$HOME_NET ve diğer değişken tanımları güncellenmeli
– Kural dosyaları için verilen include satırları kurallarınKural dosyaları için verilen include satırları kuralların bulunduğu dizini gösterecek biçimde güncellenmeli bulunduğu dizini gösterecek biçimde güncellenmeli
– Çalışması istenen ön-işleyiciler açılarak diğerleriÇalışması istenen ön-işleyiciler açılarak diğerleri çalışmaz duruma getirilmelidir çalışmaz duruma getirilmelidir
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033636
Örnek Snort Alarmı – 1Örnek Snort Alarmı – 1•Full mode alarm örneği aşağıdaki gibidirFull mode alarm örneği aşağıdaki gibidir
[**] [1:583:1] RPC portmap request rstatd [**][**] [1:583:1] RPC portmap request rstatd [**]
[Classification: Attempted Info Leak] [Priority: 3][Classification: Attempted Info Leak] [Priority: 3]
10/25-14:39:08.629316 144.122.171.8:2020 -> 10/25-14:39:08.629316 144.122.171.8:2020 -> 144.122.171.255:111144.122.171.255:111
UDP TTL:64 TOS:0x0 ID:3714 IpLen:20 DgmLen:140UDP TTL:64 TOS:0x0 ID:3714 IpLen:20 DgmLen:140
Len: 120Len: 120
[Xref => http://www.whitehats.com/info/IDS10][Xref => http://www.whitehats.com/info/IDS10]
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033737
Örnek Snort Alarmı - 2Örnek Snort Alarmı - 2
• Fast mode alarm örneği aşağıdaki gibidirFast mode alarm örneği aşağıdaki gibidir08/01/01-22:21:51.207394 [**] [1:1243:1]08/01/01-22:21:51.207394 [**] [1:1243:1]
WEB-IIS ISAPI .ida attempt [**]WEB-IIS ISAPI .ida attempt [**]
[Classification: Attempted Admin[Classification: Attempted Admin. . PrivPriv.. Gain] Gain]
[Priority: 10][Priority: 10]
{TCP} 211.48.107.195:2434 -> 193.140.114.39:80{TCP} 211.48.107.195:2434 -> 193.140.114.39:80
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033838
Paket KayıtlarıPaket Kayıtları• Alarma neden olan ya da özellikle Log eylemiAlarma neden olan ya da özellikle Log eylemi aracılığı ile kaydı tutulması istenen tüm paketler aracılığı ile kaydı tutulması istenen tüm paketler Snort tarafından kayıt edilir Snort tarafından kayıt edilir
• Standart kayıt tutma biçimi ileStandart kayıt tutma biçimi ile– Her kaynak için ayrı bir dizin açılırHer kaynak için ayrı bir dizin açılır
– Her paket bu dizin altında ayrı bir dosya olarak kayıt edilirHer paket bu dizin altında ayrı bir dosya olarak kayıt edilir
[**] WEB-IIS ISAPI .ida attempt [**][**] WEB-IIS ISAPI .ida attempt [**]
08/03-16:47:13.021593 144.122.71.212:1972 -> 08/03-16:47:13.021593 144.122.71.212:1972 -> 62.211.241.19:8062.211.241.19:80
TCP TTL:240 TOS:0x10 ID:0 IpLen:20 DgmLen:1458TCP TTL:240 TOS:0x10 ID:0 IpLen:20 DgmLen:1458
***AP*** Seq: 0x659AEE46 Ack: 0x89F5D9BE***AP*** Seq: 0x659AEE46 Ack: 0x89F5D9BEWin: 0x4248 TcpLen: 20Win: 0x4248 TcpLen: 20
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20033939
Paket Kayıtları - 2Paket Kayıtları - 2• Standart kayıt tutma biçimi alabildiğine yavaştırStandart kayıt tutma biçimi alabildiğine yavaştır
– Her seferinde dizin arama, bulma ya da açmaHer seferinde dizin arama, bulma ya da açma
– Dizin içerisinde yeni/mevcut dosyayı açma, eklemeDizin içerisinde yeni/mevcut dosyayı açma, ekleme
• Alternatif ve daha etkin bir yöntem tcpdump ileAlternatif ve daha etkin bir yöntem tcpdump ile uyumlu olacak biçimde kayıt tutmaktır uyumlu olacak biçimde kayıt tutmaktır
– Tüm paket kayıtları tek bir dosyaya giderTüm paket kayıtları tek bir dosyaya gider
– İkili (ing. binary) biçimde saklanan kayıtlar daha azİkili (ing. binary) biçimde saklanan kayıtlar daha az disk alanı kaplar disk alanı kaplar
– Paketin programlanmış araçlarla incelenmesi kolaylaşırPaketin programlanmış araçlarla incelenmesi kolaylaşır
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20034040
Snort’u Nereye Kurmalı?Snort’u Nereye Kurmalı?
Yönlendirici
12 34 56
78 9101112
AB
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
Ethern
et
A
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
Anahtar
Güvenlik
E-posta
Sniffe r Serv erm o n ito r in g /a n al ys is
Snort
Sni ffe r Serv erm on i to ri ng / an a ly s is
Snort12 34 56
78 9101112
AB
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
Ethe
rnet
A
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
Anahtar
1 23 45 6
7 89101112
A B
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
Ether
net
A
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
AnahtarSni ffe r Server
m o n it or in g /a n a ly si s
Snort
Web
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20034141
Başarılı Bir Snort KurulumuBaşarılı Bir Snort Kurulumu• Kural seti düzenli olarak http://www.snort.org’danKural seti düzenli olarak http://www.snort.org’dan çekilerek güncellenmelidir çekilerek güncellenmelidir
• Mutlaka, normal olmayan trafiği tanımlayan kurallarMutlaka, normal olmayan trafiği tanımlayan kurallar eklenmelidir eklenmelidir
– Web sunucusuna dns ve ftp istemleriWeb sunucusuna dns ve ftp istemleri
– Veritabanı sunucusuna veritabanı erişimi dışındaki Veritabanı sunucusuna veritabanı erişimi dışındaki istemleristemler
– ......
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20034242
Alarmların Yönetimi / AnaliziAlarmların Yönetimi / Analizi• Ağ üzerindeki birden fazla Snort, merkezi birAğ üzerindeki birden fazla Snort, merkezi bir bilgisayar bilgisayar s sistemi üzerindeki veritabanınaistemi üzerindeki veritabanına alarmlarını gönderebilir alarmlarını gönderebilir
• Veritabanı üzerinde sorgular ile alarmlar çeşitliVeritabanı üzerinde sorgular ile alarmlar çeşitli biçimlerde analiz edilebilir biçimlerde analiz edilebilir
•Alarm analizi için kullanılabilecek bazı araçlarAlarm analizi için kullanılabilecek bazı araçlar
–SnortSnarf (http://www.silicondefense.com/snortsnarf)SnortSnarf (http://www.silicondefense.com/snortsnarf)
–ACID (http://www.cert.org/kb/acid)ACID (http://www.cert.org/kb/acid)
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
20034343
Güvenlik Duvarı ve SnortGüvenlik Duvarı ve Snort• Snort birden fazla ağ arayüzünü aynı andaSnort birden fazla ağ arayüzünü aynı anda dinleyebilir dinleyebilir
– Bu özelliği sayesinde güvenlik duvarı olarak görev yapanBu özelliği sayesinde güvenlik duvarı olarak görev yapan merkezi noktadaki bir bilgisayar sistemi üzerinde de merkezi noktadaki bir bilgisayar sistemi üzerinde de çalıştırılabilirçalıştırılabilir
• Hogwash ile kural temelli bir güvenlik duvarıHogwash ile kural temelli bir güvenlik duvarı uygulaması yapılabilir uygulaması yapılabilir
– Web sunucusuna her istem geçsin ama içindeWeb sunucusuna her istem geçsin ama içinde “.printer” ya da “cmd.exe” geçen istemler geçmesin “.printer” ya da “cmd.exe” geçen istemler geçmesin
http://www.hogwash.orghttp://www.hogwash.org
Dikey8 BilişimGüvenliği Girişimi © Burak DAYIOĞLU, Nisan
2003
SNORT ileSaldırı Tespiti
Burak DAYIOĞLUDikey8 Bilişim Güvenliği Girişimi
[email protected]://www.dikey8.com