Snort - Ids: Security Principles
Snort - Ids: Security Principles
Snort - Ids: Security Principles
SNORT - IDS
Intrusion detection
What is intrusion detection ?
Technically, any method that allows you to discover if
someone has penetrated or is attempting intrusion into
your network, host, services.
What is intrusion ?
Unlawfully gaining access to systems, resources
The access itself, or the methods used, may be unlawful
There may not be a breakin
The result is the same
Someone is accessing something they are not allowed to
What is an IDS ?
An IDS is a device, or group of devices,
which look for specific patterns in network
traffic, for the purpose of detecting
malicious intent
Snort ?
Snort is an open source IDS, and one of the
oldest ones
Hundreds of thousands of users
Active development of rules by the
community make Snort up to date, and
often more so than commercial alternatives
Snort is fast! It can run at Gbit/s rates with
the right hardware and proper tuning
SWITCH
SNORT
I
Monitoring Port
On Cisco Catalyst, this is a SPAN port
You can SPAN one port to another, a group
of ports to one port, or an entire VLAN to a
port
Sample config:
interface FastEthernet 0/1
# port monitor FastEthernet 0/2
Monitoring Port
Other equipment vendors have different
syntax
HP calls it a mirror port
Snort rules
Snort rules are plain text files
Adding new rules to snort is as simple as
dropping the files into /etc/snort/rules/
Groups of rules can be loaded from
snort.conf using the include statement
Rules can match anything
Technical web attacks, buffer overflow,
portscan, etc
Policy/user oriented URL filtering, keyword,
forbidden applications, etc
Sample rules
# These signatures are not enabled by default as they may generate false
# positive alarms on networks that do mysql development.
alert tcp $EXTERNAL_NET any -> $SQL_SERVERS 3306 (msg:"MYSQL root login
attempt"; flow:to_server,established; content:"|0A 00 00 01 85 04 00 00 80|root|00|";
classtype:protocol-command-decode; sid:1775; rev:2;)
alert tcp $EXTERNAL_NET any -> $SQL_SERVERS 3306 (msg:"MYSQL 4.0 root login
attempt"; flow:to_server,established; content:"|01|"; within:1; distance:3; content:"root
|00|"; within:5; distance:5; nocase; classtype:protocol-command-decode; sid:3456; rev
:2;)