Snort
ERKO UMAL A21 ARTIKKEL POOLELI!!!
SNORT
Mis on Snort?
Snort on avatud lähtekoodiga võrgu sissetungi vältimise süsteemi, mis on võimeline täitma reaalajas liiklus-analüüsi ja packeti loggimisi IP võrkudes. Smort suudab teha protokolli analüüsi, sisu otsimist/sobitust ja saab kasutada erinevate rünnakute ja sondide leidmisel,nagu ka stealth port skaneerimist, CGI rünnakud, SMB sondid, OS sõrmejäle tegemisel, ning palju muud.
Mida saab Snortiga teha?
Snortil on kolm peamist otstarvet:
- Võib seda otseselt kasutada pakkide nuuskimisel nagu tcpdump.
- Paketi loggerina (kasulik võrguliikluse debuggimisel jne).
- Või siis täis puhutud võrgu sissetungi vältimise süsteemina.
Kuidas Snort tööle saada?
Eeltingimused
MacPorts
Võib juhtuda, et kõigepealt pead installeerima MacPorts paki. Juhendi MacPortsi konfigureerimiseks leiad siit http://trac.macports.org/wiki/InstallingMacPorts
MySQL 5 installeerimine
Me kasutame MySQLi, et salvestada Snorti teateid andmebaasi BASE, et neile juurdepääseda ja kuvada.
- Installi MySQL koos MacPortsiga.
%% sudo port install mysql5 +server
- mysql_install_db5 käsu täitmisel esmakordselt teha setup MySQL5.
%% sudo -u mysql mysql_install_db5
- käivita MySQL ja seadistada see käivituma süsteemi bootimisel.
%% sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
- Kinnita MySQL protsess, et see töötaks selle käsuga.
%% ps -ax | grep mysql
- Kui MySQL töötab näeb väljund allolevaga sarnane välja.
26683 ?? Ss 0:00.05 /opt/local/bin/daemondo --label=mysql5 --start- 26692 ?? S 0:00.02 /bin/sh /opt/local/lib/mysql5/bin/mysqld_safe - 26712 ?? S 0:16.90 /opt/local/libexec/mysqld --basedir=/opt/local 20796 p2 R+ 0:00.00 grep mysql
- Loo MySQL root parool.
%% sudo /opt/local/lib/mysql5/bin/mysqladmin -u root password <mypassword>
- Teosta MySQL root konto logini test uue root parooliga.
%% mysql5 -u root -p
PHP intsleerimine ja testimine
Võite installida PHP 4 või 5, kuid hea PHP5 binaarne paigaldaja, mis töötab koos Apple'i Apache 1.3 on Marc Liyanage's PHP 5 pakett.
- Laadige alla ja käivitage installeri pakett, tehke "lihtne install " ja hiljem redigeerige faili / usr/local/php5/lib/php.ini jaoks MacPorts "MySQL5 nagu näidatud.
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
- BASE liides kasutab faili index.php, nii et kui sa tahad lihtsalt "/ base" url juurdepääsu BASE veebiliidest leida httpd.conf faili (/ etc / httpd / httpd.conf Apple'i sisseehitatud Apache ) ja lisa "index.php",
DirectoryIndex direktiivi, nagu näidatud.
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
- Nüüd pane veebiserver tööle.
- Mine System Preferences Applei menüüs.
- Kliki Sharing ikoonile.
- Pane linnuke Web Sharing ruutu või eemaldada linnuke ja vaata seda uuesti.
- Kliki Sharing ikoonile.
- Mine System Preferences Applei menüüs.
Valmistuge PHP testiks, looge fail nimega test.php Apache dokumendi juurkataloogi (/ Library / veebiserveri / Documents Apple'i sisseehitatud Apache), mis sisaldab allpool toodud rida.
<?php phpinfo() ?>.
Nüüd ava url http://localhost/test.php brauseris. Kui PHP töötab korralikult näed PHP tabelit.
Snort DB loomine
Logi sisse MySQLis root kasutajana.
%% mysql5 -u root -p
Kui oled loginud MySQLis root kasutajaks, loo Snorti andmebaas ja kasutaja ning määrata Snorti load andmebaasis.
mysql> create database snort; mysql> grant INSERT,SELECT on root.* to snort@localhost; mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to snort@localhost; mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to snort; mysql> SET PASSWORD FOR snort@localhost = OLD_PASSWORD('<snortdb-passwd>'); mysql> exit
Installeeri ja konfigureeri BASE.
Teostage see käsk paigaldamaks BASE ja selle sõltuvus Adodb kaudu MacPortsi.
%% sudo port install base
Tee sümbolitega lingid Apache root dokumenti.
%% cd <Apache-docroot> %% sudo ln -s /opt/local/share/adodb adodb %% sudo ln -s /opt/local/share/base base
Tee koopia BASE proovi failist mille laiendiks on "dist".
%% cd /opt/local/share/base %% sudo cp base_conf.php.dist base_conf.php
Avage fail base_conf.php tekstiredaktoris.
%% pico /opt/local/share/base/base_conf.php
Muuda faili muutujad, nagu on näidatud.
$BASE_urlpath = '/base';
$DBlib_path = '/<Apache-docroot>/adodb';
$alert_dbname = 'snort';
$alert_host = 'localhost';
$alert_user = 'snort';
$alert_password = '<mysql-snort-password>';
$archive_dbname = 'snort';
$archive_user = 'snort';
$archive_password = '<mysql-snort-password>';
$archive_host = 'localhost'
Snordi instaleerimine ja konfigureerimine
Siin installime Snorti, impordime Snordi MySQL andmebaasi skeemi ja seadistame Snorti.
Snordi installeerimine
Kasutage neid samme, et installida MacPortsi kaudu Snort.
%% sudo port install snort +mysql5 +server
Installi Snordi reeglid
Tee koht Snordi seadete failidele, eeskirjadele ja logidele.
%% sudo mkdir –p /opt/local/etc/snort/rules %% sudo mkdir /var/log/snort
Selleks, et käivitada täielik eeskirjade kogum, peate registreeruma Snort.org. Siis minge Snordi reeglite lehele ning laadige alla "registred user" versioon (võid ka maksta ja saada "subscription release") Snordi reeglite failidest ning pakkige need lahti.
%% cd <snort-rules-download-dir>/rules %% sudo cp * /opt/local/etc/snort/rules %% sudo cp *.config /opt/local/etc/snort
Kuna Snordil ei ole automatiseeritud updateimis mehhanismi, peaksite alla laadima uusimad eeskirjad ja taaskäivitama Snordi iga paari nädala tagant veendumaks, et see tunneks uusimaid rünnaku profiile.
Redigeeri snort.conf
Nimeta snort.conf proovi fail ümber snort.conf.
%% cd /opt/local/etc/snort %% sudo mv snort.conf.dist snort.conf %% sudo pico /opt/local/etc/snort/snort.conf
Siis ava snort.conf tekstiredaktoris.
%% sudo pico /opt/local/etc/snort/snort.conf
Muuda RULE_PATH ja andmebaasi muutujad täpselt nii, nagu on näidatud ja HOME_NET vastavalt vajadusele.
# Path to your rules files var RULE_PATH /opt/local/etc/snort/rules
# database: log to a variety of databases output database: alert, mysql, user=snort password=<snortpwd> dbname=snort host=localhost
var HOME_NET [10.1.1.0/24,192.168.1.0/24]
Vaikeseaded teiste muutujate snort.conf failis peaks olema OK enamikel eesmärkidel.
Impordi Snorti skeem
Impordi Snordi andmebaasi skeemi sisse Snordi MySQL andmebaasi, nagu on näidatud.
%% cd /opt/local/share/snort/schemas %% cat create_mysql | mysql5 –u root -p snort
Logi sisse MySQLi root kasutajana.
%% mysql5 –u root –p
Siis kuva Snordi tabelid tema andmebaasis.
mysql> show databases; mysql> use snort; mysql> show tables; mysql> exit
+------------------+ | Tables_in_snort | +------------------+ | data | | detail | | encoding | | event | | icmphdr | | opt | | reference | | reference_system | | schema | | sensor | | sig_class | | sig_reference | | signature | | tcphdr | | udphdr | +------------------+ 16 rows in set (0.00 sec)
Impordi BASE's skeemid
Lisa tabelid, mida BASE vajab Snordi andmebaasi kasutades neid käske.
%% cd /opt/local/share/base/sql %% cat create_base_tbls_mysql.sql | mysql5 -u root -p snort
Nüüd näita tabeleid uuesti ja näed uut tabelit eesliidesega "acid", sest BASE põhineb vanemal Analysis Consolil Intrusion Andmebaasil (ACID).
+------------------+ | Tables_in_snort | +------------------+ | acid_ag | | acid_ag_alert | | acid_event | | acid_ip_cache | | base_roles | | base_users | | data | | detail | | encoding | | event | | icmphdr | | iphdr | | opt | | reference | | reference_system | | schema | | sensor | | sig_class | | sig_reference | | signature | | tcphdr | | udphdr | +------------------+ 22 rows in set (0.01 sec)
See lõpetab installi ja konfiguratsiooni kõigile vajalikule tarkvarale Snordil ja BASEl.
Snorti käivitamine esiplaanil
Snordi kävitamine esiplaanil võimaldab näha veateateid nii, et see on hea mõte kävitada Snort sel viisil, kuni olete kindel, et programm töötab korralikult. Lihtsalt jätta-D (daemon mode) valik ja Snort jooksebki esiplaanil.
%% sudo snort –c /opt/local/etc/snort/snort.conf
Veenduge, et MySQL tugi on sisse lülitatud. Kui Snort on kompileeritud MySQL toetusega,näed sa neid Snorti andembaasi sõnumeid mis liiguvad üle oma terminali akna (output trimmed):
database: compiled support for ( mysql ) database: configured to use mysql database: user = root database: password is set database: database name = snort database: host = localhost database: sensor name = <ip address> database: sensor id = 1 database: schema version = xxx database: using the "alert" facility
--== Initialization Complete ==--
Pärast mil initsialiseerimise info on kuvatud,näed sa live packeti jäädvustatud teavet terminali ekraanile,seda muidugi siis kui oled ühendatud võrku. Nüüd "kill" SNorti esiplaani protsess kirjutades Cntl-C et vaadata kokkuvõtet nagu on näidatud allpool.Pöörake erilist tähelepanu "Action Stats" osas (output trimmed):
Snort received 216 packets Analyzed: 216(100.000%) Dropped: 0(0.000%) ========================= Breakdown by protocol: TCP: 10 (4.630%) UDP: 98 (45.370%) ICMP: 60 (27.778%) ARP: 19 (8.796%) EAPOL: 0 (0.000%) IPv6: 0 (0.000%) IPX: 0 (0.000%) OTHER: 23 (10.648%) DISCARD: 0 (0.000%) ========================== Action Stats: ALERTS: 1 LOGGED: 1 PASSED: 0
Kui hoiatusteated ja / või sisselogitud statistika on null siis Snort ei loggi ennast korralikult MySQLi ningei näe tegevust BASEis.
Snorti käivitamine - tagaplaanil
Kui tead Snort töötab korralikult, siis võib selle käivitada tagataustal -D (daemon) lülitiga.
%% sudo snort –D –c /opt/local/etc/snort/snort.conf
Kui olete installinud Snorti koos serveriga võite kasutada launchctl et seada Snort käivituma süsteemi bootimisel, aga kui sa ikka ei taha käivitada Snorti startupil siis võib lihtsalt jätta selle sammu tegemata.
%% sudo launchctl load -w /Library/LaunchDaemons/org.macports.snort.plist
Kui sa ei saa installida Snorti koos + serveriga või ei soovi jooksutada launchctl käsku, võite Snordi käivitada tagataustal koos Snordi käivitamisskriptiga nagu näidatud.
%% sudo /opt/local/share/snort/snort.sh start
Snordi protsesside vaatamine
Et näha Snorti töötamas tagataustak,kasuta seda käsku.
%% ps -ax |grep snort
Kui Snort töötab, ps käsu väljund sisaldab rida sarnaselt käesolevale.
538 p1 S+ 0:00.51 snort -c /opt/local/etc/snort/snort.conf
Teadete vaatamine Snordiga
Mine http://localhost/base/index.php et vaadata BASE pealehte. Võib juhtuda, et peate ootama mõne hetke ennem kui Snort tuvastab sissemurdmise või sondi, mistõttu ei pruugi te näha mitte mingisugust tegevust BASE veebilehel kohe pärast Snordi paigaldamist.