Suricata IDPS (Intrusion Detection/Prevention System) açık kaynak kodlu saldırı tespit ve önleme sistemidir. İmza/kural tabanlı çalışan Suricata güçlü ve kapsamlı kural setine sahiptir. Anlık olarak takip ettiği trafikte saldırı tespit/önleme veya pcap alma gibi işlemler yapabilir. *nix, Bsd ve Windows platformlarında kullanılabilir. YAML formatındaki konfigürasyon dosyası ve JSON formatındaki output dosyaları SIEM çözümleri ile kolay entegre edilebilir. Diğer açık kaynak kodlu IDPS olan Snort ile en büyük farkı multi thread çalışabilmesidir. Bu sayede 10Gbit/s trafiği inceleyebilmektedir.

YAML formatındaki anlaşılır ve kolay konfigürasyon dosyası ve JSON formatındaki log/alert çıktıları ile SIEM veya Big Data çözümleri ile kolayca entegre edilebilir.

[Bu yazıda Centos 7 üzerinde Suricata 3.2 kurulumu yapılacaktır.]

-Sistem güncellemeleri yapılır.

[[email protected] ~]# yum update -y

-Suricata için ihtiyaç duyualan paketler kurulur.

[[email protected] ~]# sudo yum -y install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel

-Suricata kurulum dosyası indirilir.

[[email protected] ~]# wget https://www.openinfosecfoundation.org/download/suricata-3.2.tar.gz

-Kurulum dosyası arşivden çıkartılır.

[[email protected] ~]# tar zxvf suricata-3.2.tar.gz

-Suricata kurulum dizinine geçilir.

[[email protected] ~]# cd suricata-3.2/

-Configure komutu çalıştırılır.

[[email protected] suricata-3.2]# ./configure
 [kısaltıldı]
 checking whether make supports nested variables... yes
 ....
 To build and install run 'make' and 'make install'.
 You can run 'make install-conf' if you want to install initial configuration
 files to /usr/local/etc/suricata/. Running 'make install-full' will install configuration
 and rules and provide you a ready-to-run suricata.
 To install Suricata into /usr/bin/suricata, have the config in
 /etc/suricata and use /var/log/suricata as log dir, use:
 ./configure --prefix=/usr/ --sysconfdir=/etc/ --localstatedir=/var/

-Suricata kurulumu gerçekleştirilir.

[[email protected] suricata-3.2]# make && make install && make install full && make install-rules
 [kısaltıldı]
 Run 'make install-conf' if you want to install initial configuration files. Or 'make install-full' to install configuration and rules
 make[2]: Leaving directory `/root/suricata-3.2'
 make[1]: Leaving directory `/root/suricata-3.2'
 make: *** No rule to make target `full'. Stop.

-Suricata konfigürasyon dosyaları oluşturulması sağlanır.

[[email protected] suricata-3.2]# make install-conf
 Run 'make install-conf' if you want to install initial configuration files. Or 'make install-full' to install configuration and rules
 make[2]: Leaving directory `/root/suricata-3.2'
 make[1]: Leaving directory `/root/suricata-3.2'
 make: *** No rule to make target `full'. Stop.

-Suricata versiyonu kontrol edilir.

[[email protected] ~]# suricata -V
 This is Suricata version 3.2 RELEASE

-Suricatanın kurulu olduğu dizin ve dosyalar kontrol edilir.

[[email protected] ~]# ls /usr/local/etc/suricata/
 classification.config reference.config suricata.yaml threshold.config

-Suricata konfigürasyon dosyasında aşağıdaki değişiklikler yapılır.

[[email protected] ~]# vim /usr/local/etc/suricata/suricata.yaml

#Aşağıdaki değişkenleri kendi networkünüze göre tanımlanmalıdır.

HOME_NET "[192.168.0.0/16]"
 HTTP_SERVERS "[192.168.10.10,192.168.10.11]"
 SQL_SERVERS "[192.168.10.20,192.168.10.21]"

#Aşağıdaki interface bölümleri dinlemek istediğiniz interface adıyla değiştirilir.

af-packet:
 - interface: ens33

pcap:
 - interface: ens33

netmap:
 - interface: ens33

pfring:
 - interface: ens33

#Kullanılmak istenilen kurallara ait dosyalar aktif/pasif edilir.

default-rule-path: /usr/local/etc/suricata/rules
 rule-files:
 - botcc.rules
 - ciarmy.rules
 - compromised.rules
 - drop.rules
 - dshield.rules
 # - emerging-activex.rules
 - emerging-attack_response.rules
 - emerging-chat.rules
 - emerging-current_events.rules
 - emerging-dns.rules
 - emerging-dos.rules
 - emerging-exploit.rules
 - emerging-ftp.rules
 # - emerging-games.rules
 # - emerging-icmp_info.rules
 # - emerging-icmp.rules
 - emerging-imap.rules
 # - emerging-inappropriate.rules
 - emerging-malware.rules
 - emerging-misc.rules
 - emerging-mobile_malware.rules
 - emerging-netbios.rules
 - emerging-p2p.rules
 - emerging-policy.rules
 - emerging-pop3.rules
 - emerging-rpc.rules
 - emerging-scada.rules
 - emerging-scan.rules
 # - emerging-shellcode.rules
 - emerging-smtp.rules
 - emerging-snmp.rules
 - emerging-sql.rules
 - emerging-telnet.rules
 - emerging-tftp.rules
 - emerging-trojan.rules
 - emerging-user_agents.rules
 - emerging-voip.rules
 - emerging-web_client.rules
 - emerging-web_server.rules
 # - emerging-web_specific_apps.rules
 - emerging-worm.rules
 - tor.rules
 # - decoder-events.rules # available in suricata sources under rules dir
 # - stream-events.rules # available in suricata sources under rules dir
 # - http-events.rules # available in suricata sources under rules dir
 # - smtp-events.rules # available in suricata sources under rules dir
 # - dns-events.rules # available in suricata sources under rules dir
 # - tls-events.rules # available in suricata sources under rules dir
 # - modbus-events.rules # available in suricata sources under rules dir
 # - app-layer-events.rules # available in suricata sources under rules dir
 # - dnp3-events.rules # available in suricata sources under rules dir

#Aşağıdaki protokollere ait alanlar ihtiyaca göre aktif/pasif yapılır. Payload'u görüntülemek için payload-printable aktif edilir.
 types:
 - alert:
 # payload: yes # enable dumping payload in Base64
 # payload-buffer-size: 4kb # max size of payload buffer to output in eve-log
 payload-printable: yes # enable dumping payload in printable (lossy) format
 # packet: yes # enable dumping of packet (without stream segments)
 # http: yes # enable dumping of http fields
 # tls: yes # enable dumping of tls fields
 # ssh: yes # enable dumping of ssh fields
 # smtp: yes # enable dumping of smtp fields
 # dnp3: yes

-Suricata çalıştırılır.

[[email protected] ~]# suricata -c /usr/local/etc/suricata/suricata.yaml -i ens33 --init-errors-fatal
 5/1/2017 -- 23:26:35 - <Notice> - This is Suricata version 3.2 RELEASE
 5/1/2017 -- 23:26:40 - <Notice> - all 4 packet processing threads, 4 management threads initialized, engine started.

-Veya “-D” parametresi ile arka planda çalışması sağlanabilir.

[[email protected] ~]# suricata -D -c /usr/local/etc/suricata/suricata.yaml -i ens33 --init-errors-fatal

-Suricata’ya ait tüm log dosyalarına aşağıdaki dizinden ulaşılabilir.

[[email protected] ~]# ls /usr/local/var/log/suricata/
 certs eve.json fast.log files stats.log suricata.log

-Oluşan alarmlar eve.json dosyasından takip edilebilir.

[[email protected] ~]# tailf /usr/local/var/log/suricata/eve.json
{"timestamp":"2017-01-08T00:03:20.069025","event_type":"dns","src_ip":"192.168.1.250","src_port":44997,"dest_ip":"8.8.8.8","dest_port":53,"proto":"UDP","dns":{"type":"query","id":44041,"rrname":"none.alienvault","rrtype":"A"}}
{"timestamp":"2017-01-08T00:03:20.069025","event_type":"dns","src_ip":"8.8.8.8","src_port":53,"dest_ip":"192.168.1.250","dest_port":44997,"proto":"UDP","dns":{"type":"answer","id":44041}}
{"timestamp":"2017-01-08T00:03:20.069025","event_type":"dns","src_ip":"8.8.8.8","src_port":53,"dest_ip":"192.168.1.250","dest_port":44997,"proto":"UDP","dns":{"type":"answer","id":44041,"rrname":"<root>","rrtype":"SOA","ttl":18174}}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation