Suricata: Difference between revisions
Line 18: | Line 18: | ||
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. <ref>Suricata kirjeldus, http://suricata-ids.org/</ref> 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. <ref>Suricata tutvustus OISF-i kodulehel, https://redmine.openinfosecfoundation.org/projects/suricata/wiki/What_is_Suricata</ref> | 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. <ref>Suricata kirjeldus, http://suricata-ids.org/</ref> 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. <ref>Suricata tutvustus OISF-i kodulehel, https://redmine.openinfosecfoundation.org/projects/suricata/wiki/What_is_Suricata</ref> | ||
== Suricata eelised Snordi ees <ref> Miks kasutada Suricatat?,https://alienvault.bloomfire.com/posts/525383-when-should-i-use-suricata/public</ref> == | |||
Suricata on alternatiivne variant Snordile, mille reeglid ühilduvad ka Suricataga, mille tõttu võib väikse vaevaga Snordi Suricata vastu välja vahetada. | |||
Mõned Suricata eelised: | |||
*Parem jõudlus (Suricata kasutab mitmelõimelist, kuid Snort ühelõimelilt tõõtlemist) | |||
*Parem liikluse nähtavus (Suricatal on nähtavus rakenduskihis (OSI 7. kiht), mis suurendab pahatahtliku sisu avastamist) | |||
*Kiirem normaliseerimine ja parsimine HTTP voogude jaoks. | |||
*Automatiseeritud protokolli tuvastus (Vähendab valepositiivseid tulemusi ja avastamme protokolle, mis töötavad mittestandardsetel portidel) | |||
= Süsteemi üldkirjeldus = | = Süsteemi üldkirjeldus = |
Revision as of 12:16, 16 January 2014
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.
Eeldused
- Baasteadmised Linuxist.
- Oskus hakkama saada käsureaga.
- Algteadmised võrgundusest (Cisco CCNA1).
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]
Suricata eelised Snordi ees [3]
Suricata on alternatiivne variant Snordile, mille reeglid ühilduvad ka Suricataga, mille tõttu võib väikse vaevaga Snordi Suricata vastu välja vahetada.
Mõned Suricata eelised:
- Parem jõudlus (Suricata kasutab mitmelõimelist, kuid Snort ühelõimelilt tõõtlemist)
- Parem liikluse nähtavus (Suricatal on nähtavus rakenduskihis (OSI 7. kiht), mis suurendab pahatahtliku sisu avastamist)
- Kiirem normaliseerimine ja parsimine HTTP voogude jaoks.
- Automatiseeritud protokolli tuvastus (Vähendab valepositiivseid tulemusi ja avastamme protokolle, mis töötavad mittestandardsetel portidel)
Süsteemi üldkirjeldus
Siia tuleb panna skeem ja juurde kirjutada.
Nõuded
Nii server kui ka klient töötavad meie lahenduse puhul Oracle'i Virtualboxi peal.
Kasutame näidetes Ubuntu serverit ja Ubuntu klienti(sobiv klient valida ise - Ubuntu, Lubuntu, Xubuntu, Kubuntu)
Lisaks on soovitav on kasutada "Guest Additione"-it.
Ubuntu Server
- RAM 512MB
- HDD dynamicly allocated 8GB
- 2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)
- Liidese eth1 lisada staatiline ip aadress - 192.168.56.xxx
- OpenSSH serveri olemasolu
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
- RAM vastavalt graafilise keskkonna nõuetele. Soovitav 512 - 1024MB
- HDD dynamicly allocated 8GB
- 2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)
Kasutasime eelnevalt seadistatud klienti. Kasutajanimi ja parool on student.
Eelseadistus(kasutades eelpaigaldatud serverit)
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) [4]
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
Esmane seadistamine
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
Kasulikud materjalid
- http://www.linux.org/threads/suricata-the-snort-replacer-part-1-intro-install.4346/
- http://www.linux.org/threads/suricata-the-snort-replacer-part-2-configure-test.4348/
- http://www.linux.org/threads/suricata-the-snort-replacer-part-3-rules.4363/
- http://suricata-ids.org/
- https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Installation
- https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Basic_Setup
Viited
- ↑ Suricata kirjeldus, http://suricata-ids.org/
- ↑ Suricata tutvustus OISF-i kodulehel, https://redmine.openinfosecfoundation.org/projects/suricata/wiki/What_is_Suricata
- ↑ Miks kasutada Suricatat?,https://alienvault.bloomfire.com/posts/525383-when-should-i-use-suricata/public
- ↑ Suricata paigaldus Ubuntus, https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Ubuntu_Installation_from_GIT
- ↑ Yamli Host-os-policy informatsioon, https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricatayaml#Host-os-policy
- ↑ Yamli address-groups lahtiseletus, https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricatayaml#Rule-vars
- ↑ Suricata testimine ühe reegli abil, http://www.linux.org/threads/suricata-the-snort-replacer-part-2-configure-test.4348/