Intrusion Detection Systems with Snort

Post on 06-Jan-2016

44 views 0 download

Tags:

description

Intrusion Detection Systems with Snort. Hailun Yan 564-project. Outline. IDS category Installation Procedure Components of Snort Most frequently used functions Testing of Snort/ACID. Components of Security System. A security system consists: Firewalls Intrusion detection systems (IDS) - PowerPoint PPT Presentation

transcript

IntrusionIntrusion Detection Systems with Snort

Hailun Yan564-project

Outline IDS category Installation Procedure Components of Snort Most frequently used functions Testing of Snort/ACID

Components of Security System

A security system consists: Firewalls Intrusion detection systems (IDS) Vulnerability assessment tools

Category of IDS Network Intrusion Detection System (NIDS)

Listens & analyses traffic in a network Capture data package Compare with database signatures

Host-based Intrusion Detection System (HIDS) Installed as an agent of a host Listens & analyses system logs

Snort-based IDS

Single Sensor IDS

Multiple Sensor IDS

Installation Snort can be download from

http://www.snort.org Supported platform includes:

Linux FreeBSD OpenBSD Solaris AIX HP-UX MacOS Windows

Installation (Cont.) Pre-installation

Zlib1.2.1 LibPcap0.7.2 MySQL4.0.15 Apache2.0.52 PHP4.3.3

Installation (Cont.)

Install Snort#> tar –xzvf snort-2.2.0 .tar.gz

#> cd snort-2.2.0

#> ./configure –with-mysql=/usr/local/mysql

#> make

#> make install

Installation (Cont.)

Install rules and configuration file#> mkdir /etc/snort

#> mkdir /var/log/snort

#> cd rules

#> cp * /etc/snort

#> cd ../etc

#> cp snort.conf /etc/snort

#> cp *.config /etc/snort

Installation (Cont.)

Snort Configuration (in snort.conf) var HOME_NET 192.168.0.0/24 var RULE_PATH /etc/snort/ output database: log, mysql, user=snort

password=xxx dbname=snort host=localhost

Installation (Cont.)Setting Up The Database In MySQL mysql> set password for root@localhost=password(‘xxx’);mysql> create database snort;mysql > grant insert, select on root,.* to snort@localhost;mysql> set password for snort@localhost=password(‘xxx’);mysql> grant create, insert, select, delete, update on snort.* to

snort@localhost;mysql> grant create, insert, delete, select, update on snort.* to snort;mysql> exitshell> /usr/local/mysql/bin/mysql –u root –p < ./contrib./create_mysql

snortEnter password: xxx

Installation (Cont.)

To display alert massages generated by Snort in a web browser

Analysis Console for Intrusion Detection (Acid)

JPGraph ADODB

Check to See If Everything Is Working

#> /usr/local/apache/bin/apachectl start

#> /usr/local/mysql/bin/mysqld_safe &

#> /usr/local/bin/snort –c /etc/snort/snort.conf –D

#> ping yahoo.com

Output on ACID

Components of Snort

A Snort-based IDS contains the following components:

Packet Decoder Preprocessors Detection Engine Logging and Alerting System Output Modules

Packet Detector Takes packets from different types of

network interfaces Send the packets to the preprocessor Send the packets to the detection

engine

PreprocessorHackers use different techniques to fool an IDS Exact match: You created a rule to find a signature

“httpd/conf” in HTTP packets, a hacker can easily fool you by modifying the string as “httpd/./conf” or “httpd../httpd/conf”. A preprocessor can rearrange the string so that it is detectable by the

IDS. Packets fragmentation: Hackers can use

fragmentation to hide a signature into several small units to fool the IDS. A Preprocessor can reassemble these small units first and send the whole packet to the detection engine for signature testing.

The Detection Engine Its responsibility is to detect if any intrusion

activity exists in a packet. It can dissert a packet and apply rules on

different parts of the packet. The IP header of the packet The Transport layer header: e.g. TCP, UDP. The application layer level header: e.g. DNS,

FTP, SNMP, and SMTP Packet payload: you can create a rule to find a

string inside the data.

Logging and Alerting System The captured packet may be used to log the

activity or generate an alert. Logs are kept in

simple text files tcpdump-style files some other form

log files are stored under /var/log/snort folder by default

use –l parameter to modify the log location

Output ModulesDepending on the configuration, output modules

can do things like the following: Simply logging to /var/log/snort/alerts file Sending SNMP traps Sending messages to syslog facility Logging to a database like MySQL or Oracle. Generating XML output Modifying configuration on routers and firewalls Sending Server Message Block (SMB) messages

to Microsoft Windows-based machines

Components of Snort

Snort Modes

Snort operates in two basic modes: Sniffer mode

Log packages into log files Log files can be analyzed by tcpdump, snort

etc. Simillar tools includes tcpdump, snoop etc.

NIDS mode Rule-based IDS Generate alerts and saved into database Analyzed by ACID software package

#> snort -v

Sniffing Mode

Sniffing Mode (Cont.)

Ctrl+C, generate statistics before exiting Snort

Sniffing Mode (Cont.)

Parameter e allows Snort to capture layer 2 packets

#> snort -ve

Sniffing Mode (Cont.)

Parameter d allows Snort to capture payload information

#> snort -vd

Network Intrusion Detection Mode It does not log each captured

packet It applies rules on all captured

packets It read the configuration file

snort.conf and all other files included in it before start

Structure of A Rule

A Snort rule is divided into two parts: rule header

information about what action a rule takes

criteria for matching a rule against data packets

rule options