Network-based intrusion detection systems operate differently from
host-based IDSes. The design philosophy of a network-based IDS is to scan
network packets at the router or host-level, auditing packet information,
and logging any suspicious packets into a special log file with extended
information. Based on these suspicious packets, a network-based IDS can
scan its own database of known network attack signatures and assign a
severity level for each packet. If severity levels are high enough, a
warning email or cellular pager is placed to security team members so they
can further investigate the nature of the anomaly.
Network-based IDSes have become popular as the Internet grows in
size and traffic. IDSes that can scan the voluminous amounts of network
activity and successfully tag suspect transmissions are well-received
within the security industry. Due to the inherent insecurity of the TCP/IP
protocols, it has become imperative to develop scanners, sniffers, and
other network auditing and detection tools to prevent security breaches
due to such malicious network activity as:
Most network-based IDSes require that the host system network device
be set to promiscuous mode, which allows the
device to capture every packet passed on the
network. Promiscuous mode can be set through the
ifconfig command, such as the following:
Running ifconfig with no options reveals that
eth0 is now in promiscuous
(PROMISC) mode.
eth0 Link encap:Ethernet HWaddr 00:00:D0:0D:00:01
inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.252.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:6222015 errors:0 dropped:0 overruns:138 frame:0
TX packets:5370458 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2505498554 (2389.4 Mb) TX bytes:1521375170 (1450.8 Mb)
Interrupt:9 Base address:0xec80
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:21621 errors:0 dropped:0 overruns:0 frame:0
TX packets:21621 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1070918 (1.0 Mb) TX bytes:1070918 (1.0 Mb) |
Using a tool such as tcpdump (included with
Red Hat Enterprise Linux), we can see the large amounts of traffic flowing throughout a
network:
tcpdump: listening on eth0
02:05:53.702142 pinky.example.com.ha-cluster > \
heavenly.example.com.860: udp 92 (DF)
02:05:53.702294 heavenly.example.com.860 > \
pinky.example.com.ha-cluster: udp 32 (DF)
02:05:53.702360 pinky.example.com.55828 > dns1.example.com.domain: \
PTR? 192.35.168.192.in-addr.arpa. (45) (DF)
02:05:53.702706 ns1.example.com.domain > pinky.example.com.55828: \
6077 NXDomain* 0/1/0 (103) (DF)
02:05:53.886395 shadowman.example.com.netbios-ns > \
172.16.59.255.netbios-ns: NBT UDP PACKET(137): QUERY; BROADCAST
02:05:54.103355 802.1d config c000.00:05:74:8c:a1:2b.8043 root \
0001.00:d0:01:23:a5:2b pathcost 3004 age 1 max 20 hello 2 fdelay 15
02:05:54.636436 konsole.example.com.netbios-ns > 172.16.59.255.netbios-ns:\
NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:05:56.323715 pinky.example.com.1013 > heavenly.example.com.860:\
udp 56 (DF)
02:05:56.323882 heavenly.example.com.860 > pinky.example.com.1013:\
udp 28 (DF) |
Notice that packets that were not intended for our machine
(pinky.example.com) are still being
scanned and logged by tcpdump.
While tcpdump is a useful auditing tool, it is
not considered a true IDS because it does not analyze and flag packets
for anomalies. Instead, tcpdump prints
all packet information to the screen or to a log
file without any analysis. A proper IDS analyzes the packets, tags
potentially malicious packet transmissions, and stores them in a
formatted log.
Snort is an IDS designed to be comprehensive and accurate in
successfully logging malicious network activity and notifying
administrators when potential breaches occur. Snort uses the standard
libcap library and tcpdump as
a packet logging backend.
The most prized feature of Snort, in addition to its functionality,
is its flexible attack signature subsystem. Snort has a constantly
updated database of attacks that can be added to and updated via the
Internet. Users can create signatures based on new network attacks and
submit them to the Snort signature mailing lists (located at https://www.snort.org/lists.html)
so that all Snort users can benefit. This community ethic of sharing
has developed Snort into one of the most up-to-date and robust
network-based IDSes available.
| Note |
---|
| Snort is not included with Red Hat Enterprise Linux and is not supported. It
has been included in this document as a reference to users who may
be interested in evaluating it.
|
For more information about using Snort, refer to the official
website at https://www.snort.org/.