Suricata

From ICO wiki
Jump to navigationJump to search

Autorid: Martin Leppik ja Randel Raidmets

Rühm: A31

Kuupäev: 12.12.2013

Eesmärk

Linuxi administreerimise aine raames paigaldada vastavale Ubuntu serverile sissetungimise avastamise süsteem nimega Suricata. Pärast paigaldust konfigureerida peamised sätted ja reeglid ning viimasena testida süsteemi toimimist.

Mis on Suricata?

Suricata on suure jõudlusega võrgu sissetungimise, ennetamise ja turvalisuse monitoorimise mootor. See on avatud lähtekoodiga ja omanikuks on kommuun, mida juhib mittetulunduslik sihtasutus "the Open Information Security Foundation" ehk OISF. [1] Suricata mootor pole ainult mõeldud selleks, et vahetada välja või emuleerida olemasolevaid tööriistu, vaid tuua uusi ideid ja tehnoloogiaid maastikule. Suricata mootor ja HTP teek on saadaval GPLv2 alusel. [2]

Eeldused

  • Baasteadmised Linuxist.
  • Oskus hakkama saada käsureaga.
  • Algteadmised võrgundusest (Cisco CCNA1).

Nõuded

Nii server kui ka klient töötavad meie lahenduse puhul Oracle'i Virtualboxi peal. Lisaks on soovitav on kasutada "Extension Packi" ja "Guest Additione".

Server

Kasutasime eelnevalt seadistatud serverit, mis on pärit IT infrastruktuuri teenuste ainest, mida muutsime (sellest lähemalt eelseadistuse osas). Kasutajanimi ja parool on student.

Klient

Kasutasime eelnevalt seadistatud klienti. Kasutajanimi ja parool on student.

Eelseadistus

Kõik käsud käivitame serveris juurkasutaja õigustes.

Juurkasutajale üleminek:

sudo -i

1.Muudame ära hostname'i nimeks suricata.

nano /etc/hostname

2.Muudame liidese eth1 IP aadressi selliseks 192.168.56.201.

nano /etc/network/interfaces

Liidese eth1 näidis:

auto eth1
iface eth1 inet static
        address 192.168.56.201
        netmask 255.255.255.0

3. Kirjeldame faili /etc/hosts sisu

nano /etc/hosts

Faili /etc/hosts faili näidis:

127.0.0.1       localhost
127.0.1.1       suricata.planet.zz      suricata
192.168.56.201  suricata.planet.zz      suricata
192.168.56.200  puppetmaster.planet.zz  puppetmaster
192.168.56.101  klient.planet.zz        klient

4. Uuendame ära tarkvara nimekirja info

apt-get update

5. Uuendame ära tarkvara

apt-get upgrade

Paigaldus Ubuntu serveris (võimaldab kasutada nii IDS kui IPS funktsioone) [3]

1. Kõigepealt paigaldame paki nimega "python-software-properties", kuna selle sees asub programm "add-apt-repository", mida kasutame järgmisena.

apt-get install python-software-properties

2. Viimase stabiilse Suricata versiooni jaoks käivita vastavad käsud:

add-apt-repository ppa:oisf/suricata-stable
apt-get update

3. Järgmisena paigalda Suricata

apt-get install suricata

Uuendamine ja eemaldamine

1. Suricata uuendamiseks käsud

apt-get update
apt-get upgrade

2. Eemaldamiseks käsk

apt-get remove suricata

Paigaldus Ubuntu serveris (võimaldab kasutada IDS ja IPS funktsioone) [4]

Juurkasutajale üleminek:

sudo -i

Paigaldame järgnevad paketi, mis on tarvis Suricata jaoks:

apt-get install libpcre3 libpcre3-dbg libpcre3-dev build-essential autoconf automake 
libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 make libmagic-dev

Paigaldame järgnevad paketi, mis vajalikud IPSi toimimiseks:

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

Laeme alla Suricata:

wget http://www.openinfosecfoundation.org/download/suricata-1.4.7.tar.gz

Pakime arhiivi lahti:

tar -xvzf suricata-1.4.7.tar.gz

Liigume uude kausta:

cd suricata-1.4.7

IDS/IPS funktsioon

Suricata paigaldamine ainult IDS funktsiooniga:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

Suricata paigaldamine IDS ja IPS funktsioonidega:

./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var

Süsteemi üldkirjeldus

Siia tuleb panna skeem ja juurde kirjutada.

Baaskonfiguratsioon

Need käsud käivita serveris juurkasutajaõigustes.

1. Loome kausta Suricata logide jaoks.

mkdir /var/log/suricata

2. Avame faili /etc/suricata/suricata.yaml

nano /etc/suricata/suricata.yaml

3. Kirjeldame, millised operatsioonisüsteemid on meie võrgus seal, kus hakkab rida "host-os-policy" ja nimetame nende ip aadressid. [5]

host-os-policy:
  # Make the default policy windows.
  windows: []
  bsd: []
  bsd-right: []
  old-linux: []
  linux: [192.168.56.200, 192.168.56.201, 192.168.56.101, 127.0.0.1]
  old-solaris: []
  solaris: []
  hpux10: []
  hpux11: []
  irix: []
  macos: []
  vista: []

4. Kirjeldame koduvõrgu ip aadressi vahemiku kohas, mis algab reaga "address-groups:" [6]

  address-groups:

    HOME_NET: "[192.168.56.0/24]"

    EXTERNAL_NET: "!$HOME_NET"

Kiire testimine [7]

Need käsud käivita serveris juurkasutaja õigustes.

1. Loome faili test.rules kausta /etc/suricata/rules/

touch /etc/suricata/rules/test.rules

2. Kirjutama test.rules faili testimise jaoks ühe reegli.

alert ip any any -> any any (msg:"ICMP detected"; sid:2; rev:1;)

3. Avame uuesti faili /etc/suricata/suricata.yaml, kus lähme asukohta, mis hakkab reaga "rule_files:" ja kommenteerime kõik reeglid välja ja kirjeldame seal oma reegli nimega "test.rules".

rule-files:
  - test.rules
# - 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
...

4. Paneme suricata monitoorima eth1 liidese peal.

suricata -c /etc/suricata/suricata.yaml -i eth1

5. Teeme oma kliendi masina pealt pingi Suricata serveri pihta.

ping 192.168.56.201

6. Laseme tunde järgi pingida ja seejärel paneme monitoorimise kinni ning vaatame logi.

less /var/log/suricata/fast.log

7. Logi sisu peaks olema umbes selline:

01/15/2014-00:08:59.409903  [**] [1:2:1] ICMP detected [**] [Classification: (null)] [Priority: 3] {ICMP} 192.168.56.101:8 -> 192.168.56.201:0
01/15/2014-00:08:59.409937  [**] [1:2:1] ICMP detected [**] [Classification: (null)] [Priority: 3] {ICMP} 192.168.56.201:0 -> 192.168.56.101:0
01/15/2014-00:09:00.410130  [**] [1:2:1] ICMP detected [**] [Classification: (null)] [Priority: 3] {ICMP} 192.168.56.101:8 -> 192.168.56.201:0
01/15/2014-00:09:00.410171  [**] [1:2:1] ICMP detected [**] [Classification: (null)] [Priority: 3] {ICMP} 192.168.56.201:0 -> 192.168.56.101:0

Randeli reeglite teema

Kokkuvõte

Kasutatud materjalid