Suricata 1.4.4 frigivet - Et netværksindtrængningsdetekterings-, forebyggelses- og sikkerhedsovervågningssystem


Suricata er et open source højtydende moderne Network Intrusion Detection, Prevention and Security Monitoring System til Unix/Linux, FreeBSD og Windows-baserede systemer. Det blev udviklet og ejet af en nonprofitorganisation OISF (Open Information Security Foundation).

For nylig annoncerede OISF-projektteamet frigivelsen af Suricata 1.4.4 med mindre, men vigtige opdateringer og fikset nogle vigtige fejl i forhold til den tidligere udgivelse.

Suricata-funktioner

Suricata er en regelbaseret indtrængningsdetektions- og forebyggelsesmotor, der gør brug af eksternt udviklede regelsæt til at overvåge netværkstrafik samt være i stand til at håndtere flere gigabyte-trafik og giver e-mail-alarmer til system-/netværksadministratorer.

Suricata giver hastighed og betydning i bestemmelse af netværkstrafik. Motoren er udviklet til at anvende den øgede processorkraft, der tilbydes af moderne multi-core hardwarechipsæt.

Motoren leverer ikke kun nøgleord til TCP, UDP, ICMP og IP, men har også en indbygget support til HTTP, FTP, TLS og SMB. En systemadministrator kan være i stand til at oprette sin egen regel til at opdage et match inden for en HTTP-strøm. Dette bliver anderledes detektering og kontrol af malware.

Motoren vil helt sikkert tage regler, der er IP-matches baseret på RBN og kompromitterede IP-lister ved Emerging Threats, og holde dem i en bestemt hurtig matchende preprocessor.

Trin: 1 Installation af Suricata i RHEL, CentOS og Fedora

Du skal bruge Fedoras EPEL-lager til at installere nogle nødvendige pakker til i386- og x86_64-systemer.

  1. Aktivér Fedoras EPEL-lager

Inden du kan kompilere og opbygge Suricata til dit system, skal du installere følgende afhængighedspakker, der er nødvendige for yderligere installation. Processen kan tage et stykke tid at gennemføre, afhængigt af internethastigheden.

# yum -y install libpcap libpcap-devel libnet libnet-devel pcre \
pcre-devel gcc gcc-c++ automake autoconf libtool make libyaml \
libyaml-devel zlib zlib-devel libcap-ng libcap-ng-devel magic magic-devel file file-devel

Derefter skal du opbygge Suricata med IPS-support. Til dette har vi brug for "libnfnetlink" og "libnetfilter_queue" pakker, men disse forudbyggede pakker er ikke tilgængelige i EPEL eller CentOS Base repositories. Så vi skal downloade og installere rpms fra CentOS-arkivet Emerging Threats.

# rpm -Uvh http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnetfilter_queue-0.0.15-1.i386.rpm \
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnetfilter_queue-devel-0.0.15-1.i386.rpm \
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnfnetlink-0.0.30-1.i386.rpm \ 
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnfnetlink-devel-0.0.30-1.i386.rpm
# rpm -Uvh http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/libnetfilter_queue-0.0.15-1.x86_64.rpm \
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/libnetfilter_queue-devel-0.0.15-1.x86_64.rpm \
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/libnfnetlink-0.0.30-1.x86_64.rpm \ 
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/libnfnetlink-devel-0.0.30-1.x86_64.rpm

Download de nyeste Suricata-kildefiler, og opbyg den ved hjælp af følgende kommandoer.

# cd /tmp
# wget http://www.openinfosecfoundation.org/download/suricata-1.4.4.tar.gz
# tar -xvzf suricata-1.4.4.tar.gz
# cd suricata-1.4.4

Nu bruger vi Suricata Auto Setup-funktionen til automatisk at oprette alle nødvendige mapper, konfigurationsfiler og nyeste regelsæt.

# ./configure && make && make install-conf
# ./configure && make && make install-rules
# ./configure && make && make install-full

Trin 2: Installation af Suricata i Debian og Ubuntu

Før installationen påbegyndes, skal du have følgende pakker med forudsætninger installeret på systemet for at gå videre. Sørg for at du skal være rootbruger for at køre følgende kommando. Denne installationsproces kan tage noget tid, afhængigt af den aktuelle hastighed på dit internet.

# apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev \
pkg-config magic file libhtp-dev

Fungerer som standard som en IDS. Hvis du vil tilføje IDS-support, skal du installere nogle nødvendige pakker som følger.

# apt-get -y install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev libnfnetlink0

Download den nyeste Suricata-tjærekugle, og opbyg den ved hjælp af følgende kommandoer.

# cd /tmp
# wget http://www.openinfosecfoundation.org/download/suricata-1.4.4.tar.gz
# tar -xvzf suricata-1.4.4.tar.gz
# cd suricata-1.4.4

Brug Suricata Auto Setup til at oprette alle nødvendige mapper, konfigurationsfiler og regelsæt automatisk som vist nedenfor.

# ./configure && make && make install-conf
# ./configure && make && make install-rules
# ./configure && make && make install-full

Trin 3: Grundlæggende opsætning af Suricata

Efter download og installation af Suricata er det nu tid til at gå videre til Grundlæggende opsætning. Opret følgende direktorater.

# mkdir /var/log/suricata
# mkdir /etc/suricata

Den næste del er at kopiere konfigurationsfiler såsom “klassifikation.konfig“, “reference.konfig” og “suricata.yaml” fra installationsmappen til base build.

# cd /tmp/suricata-1.4.4
# cp classification.config /etc/suricata
# cp reference.config /etc/suricata
# cp suricata.yaml /etc/suricata

Endelig skal du starte "Suricata Engine" første gang og angive navnet på den interfaceenhed, du foretrækker. I stedet for eth0 kan du medtage det netværkskort, du foretrækker.

# suricata -c /etc/suricata/suricata.yaml -i eth0

23/7/2013 -- 12:22:45 -  - This is Suricata version 1.4.4 RELEASE
23/7/2013 -- 12:22:45 -  - CPUs/cores online: 2
23/7/2013 -- 12:22:45 -  - Found an MTU of 1500 for 'eth0'
23/7/2013 -- 12:22:45 -  - allocated 2097152 bytes of memory for the defrag hash... 65536 buckets of size 32
23/7/2013 -- 12:22:45 -  - preallocated 65535 defrag trackers of size 104
23/7/2013 -- 12:22:45 -  - defrag memory usage: 8912792 bytes, maximum: 33554432
23/7/2013 -- 12:22:45 -  - AutoFP mode using default "Active Packets" flow load balancer
23/7/2013 -- 12:22:45 -  - preallocated 1024 packets. Total memory 3170304
23/7/2013 -- 12:22:45 -  - allocated 131072 bytes of memory for the host hash... 4096 buckets of size 32
23/7/2013 -- 12:22:45 -  - preallocated 1000 hosts of size 76
23/7/2013 -- 12:22:45 -  - host memory usage: 207072 bytes, maximum: 16777216
23/7/2013 -- 12:22:45 -  - allocated 2097152 bytes of memory for the flow hash... 65536 buckets of size 32
23/7/2013 -- 12:22:45 -  - preallocated 10000 flows of size 176
23/7/2013 -- 12:22:45 -  - flow memory usage: 3857152 bytes, maximum: 33554432
23/7/2013 -- 12:22:45 -  - IP reputation disabled
23/7/2013 -- 12:22:45 -  - using magic-file /usr/share/file/magic

Efter flere minutter senere skal du kontrollere, at motoren fungerer korrekt og modtager og inspicerer trafik.

# cd /usr/local/var/log/suricata/
# ls -l

-rw-r--r-- 1 root root  25331 Jul 23 12:27 fast.log
drwxr-xr-x 2 root root   4096 Jul 23 11:34 files
-rw-r--r-- 1 root root  12345 Jul 23 11:37 http.log
-rw-r--r-- 1 root root 650978 Jul 23 12:27 stats.log
-rw-r--r-- 1 root root  22853 Jul 23 11:53 unified2.alert.1374557837
-rw-r--r-- 1 root root   2691 Jul 23 12:09 unified2.alert.1374559711
-rw-r--r-- 1 root root   2143 Jul 23 12:13 unified2.alert.1374559939
-rw-r--r-- 1 root root   6262 Jul 23 12:27 unified2.alert.1374560613

Se "stats.log" -fil, og sørg for, at de viste oplysninger opdateres i realtid.

# tail -f stats.log

tcp.reassembly_memuse     | Detect                    | 0
tcp.reassembly_gap        | Detect                    | 0
detect.alert              | Detect                    | 27
flow_mgr.closed_pruned    | FlowManagerThread         | 3
flow_mgr.new_pruned       | FlowManagerThread         | 277
flow_mgr.est_pruned       | FlowManagerThread         | 0
flow.memuse               | FlowManagerThread         | 3870000
flow.spare                | FlowManagerThread         | 10000
flow.emerg_mode_entered   | FlowManagerThread         | 0
flow.emerg_mode_over      | FlowManagerThread         | 0

Reference Links

Suricata-hjemmeside
Suricata Brugervejledning