Slashdot Log In
Intrusion Detection with Snort
from the snort-snort dept.
| Intrusion Detection with Snort | |
| author | Jack Koziol |
| pages | 400 |
| publisher | Sams |
| rating | 9 |
| reviewer | Eric Stats |
| ISBN | 157870281X |
| summary | Handbook on the open source Intrusion |
What Koziol implies throughout Intrusion Detection with Snort, but never states outright, is that Snort holds an inherent advantage over closed source IDSs, in that the IDS itself can be tailored and customized for each individual deployment to a level not possible for closed source competitors. If you have had the displeasure of working with a rigid, uncustomizable, IDS you already know where this is going ...
In order for an IDS to be effective, or in some high-bandwidth cases, even usable, detailed network and business context must be applied to the IDS. In a nutshell, IDSs are not as plug-and-play as firewalls or other security applications. For example, if you know you are not running any HTTP traffic on the segment where the IDS is sniffing, you may not want your IDS to waste cycles looking for attacks on Apache. On the other hand, you may feel that the mere presence of HTTP traffic may indicate something innately suspicious, so it is of value to watch for any HTTP traffic. It all depends on what you feel are legitimate threats to the network you are attempting to protect. Snort gives you the power to "watch" for specific attacks, protocol anomalies, or other chatter that has no legitimate business running on your network. Other closed source IDSs don't, or can't, have the same flexibility. Only Snort can implement something as detailed as "Send a page to the CISO's phone if this particular subnet attacks these Apache servers with the chunked encoding exploit."
With Snort, novices can easily write attack signatures (called rules) enable or disable specific protocol decoders, and detect advanced attacks such as exploits utilizing polymorphic shellcode. Without this level of flexibility, you are likely to be flooded with alerts that are not relevant, or, even worse, miss an actual attack that causes irreparable data loss.
Like many open source applications, Snort's biggest downfall has been documentation. Who wants to write boring user manuals when he can write code, right? Well, that's all fine and dandy for Snort developers, but folks that want to actually use all of the neat features can't, unless you tell them they are there, and how to use them. Intrusion Detection with Snort bridges this gap, and offers a clear, concise, guideline that helps plan, implement and maintain Snort-based IDS.
Another oft-cited problem with Snort that Intrusion Detection with Snort addresses is the lack of Snort features that are not directly related to intrusion detection. In essence, Snort's developers have concentrated on creating the world's best application for detecting unauthorized activity, and left everything else to other applications. If you want to organize and manage the alerts generated by Snort you have to use another application (ACID). If you desire alerts via email or pager you need another tool (swatch or syslog-ng). If you want to centrally manage attack signatures for multiple Snort installations, guess what? You need another tool (IDS Policy Manager or SnortCenter). Finding, installing, and getting all of these tools to work right can be frustrating, so Koziol walks us through these issues, and in the end we have an IDS rivaling the expensive commercial solutions.
On to the nitty-gritty of the book. Essentially, this book is organized into logical three sections, even though the author did not choose to make these demarcations in print. The first section introduces us to intrusion detection in general and features of Snort. The second section is a detailed installation guide, which walks through setting up and installing the various components of a distributed Snort setup. The final section focuses on post-installation and maintenance tasks, as well as advanced topics.
In the first section, the different breeds of IDS (Host and Network) are honestly presented, Koziol acknowledging in great detail some of the major shortcomings of IDS technology. The book then moves to describing Snort in great detail in an unbiased fashion. Other books on this subject written by Snort contributors are less forthcoming with Snort's disadvantages. The inner workings of Snort (such as packet decoders and libpcap) and the largely undocumented preprocessors are described in detail, giving tons real world examples. The examples are somewhat current, and describe exploits commonly found 6-18 months ago. Although the actual exploits found in the wild may change over time, the strategies for discovering them with Snort should remain relatively constant. The book then moves into the activities required in planning for a Snort-based IDS installation. Some of this is common sense for experienced security practitioners, such as establishing an incident response plan (the "Oh shit, I've been hacked, what do I do now!?!?"), but is relevant for novices. Other topics introduced in this section are:
Sensor placement: where to place an IDS from a network design perspective for maximum benefit.
Inserting a sensor into an in place network: covers using taps, span ports, and dedicated hubs.
Specific hardware and OS considerations: basically, why a flavor of Unix is best for Snort.
Creating a unidirectional sniffing cable: allows network traffic to flow in a single direction, minimizing risk to an IDS segment.
The second section is a detailed guide to building a distributed or 3-tiered Snort IDS. Getting the three components, the sensor (where Snort is actually installed), the server (database, alert management, and reporting server), and the analyst console (secure place to access other components and store config files and scripts) up and working on Linux takes up the bulk of this section. The analyst console chapter walks through the ever-popular Analysis Console for Intrusion Databases (ACID). Attention is paid to configuring a secured setup that encrypts traffic between the various sensors, servers, and consoles. Various packages and tools are described, as well as condensing all of the Snort tiers onto one physical box. Installing and configuring on Windows is covered as well, although this choice of setup is not as thoroughly explained as the others. The third and final section picks up where most books that deal with a specific application or software package too often leave off, namely, keeping the damn thing working. A chapter is dedicated to tuning Snort, and what thresholds can be configured to maximize benefit and performance. Getting real-time alerting via email working with ancillary tools, is covered in a dedicated chapter. Developing a targeted ruleset (a set of automagically generated signatures that will only detect attacks that have the potential to be successful) using a custom shell script is described.
A very important topic in Snort administration, writing custom rules (attack signatures) gets its own chapter. The syntax for creating rules is clearly described, followed by concrete examples. The book works through writing rules by reading through raw packet captures (last year's Slapper worm is a particularly good example). This is followed by upgrading and managing rules, which is highly useful if you have a number of Snort installations to manage. Finally, Intrusion Detection with Snort closes with a chapter on advanced topics. The advanced topics chapter primarily covers the latest fad 'Intrusion Prevention.' Snort can be made into an IPS device via packet scrubbing or shunting. For packet scrubbing, the Snort Inline patch is used and the box is placed in between a trusted and untrusted network, dropping packets that match specifically created rules. Shunting is accomplished with SnortSam, which basically sends a request to a border router or firewall to block an attacking IP address for a predetermined period of time.
Overall Jack Koziol's Intrusion Detection with Snort is a viable text for learning Intrusion Detection with the worlds premier open source IDS, even if it is light on diagrams and pictures, but it still comes highly recommended from this reviewer.
You can purchase Intrusion Detection with Snort from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Sounds like a good book to have... (Score:5, Insightful)
(http://www.gortbusters.org/ | Last Journal: Friday June 11 2004, @06:34AM)
Re:Sounds like a good book to have... (Score:5, Insightful)
(http://www.google.co...nI=I'm+Feeling+Lucky | Last Journal: Sunday September 12 2004, @09:05AM)
Security six months down the line might be totally different if some other group start a cooler IDS on SF.NET.
Re:Sounds like a good book to have... (Score:5, Interesting)
(http://ryanlrussell.blogspot.com/ | Last Journal: Friday February 09 2007, @12:09PM)
Point being that I don't think Snort is going away any time soon.
Re:Sounds like a good book to have... (Score:5, Insightful)
The truth is, Snort is to IDS as Apache is to http servers.
Snort is the greatest! (Score:2, Informative)
(Last Journal: Sunday October 02 2005, @11:20PM)
Other Snort books (Score:5, Informative)
(http://ryanlrussell.blogspot.com/ | Last Journal: Friday February 09 2007, @12:09PM)
Snort 2.0 Intrusion Detection [amazon.com]
Which is the one I helped out with, and:
Snort 2.0 : The Complete Guide to Intrusion Detection [amazon.com]
which isn't out yet. The Syngress book came out really well. Jeff, Dragos, and Jed are all really sharp guys, so I don't doubt their book will be good too, but it's not out quite yet.
The book I helped on has been getting really good reviews on Amazon, and sales have been great. It was written by some great guys from the Snort community, notably Brian Caswell who runs snort.org [snort.org] and Jay Beale, who people will probably recognize from the Bastille project.
One Problem (Score:3, Informative)
Other than that, the snort engine can pretty much detect anything that has a signature to it.
Re:One Problem (Score:5, Informative)
This isn't really a problem per se (Score:5, Insightful)
(http://slashdot.org/...y&id=2881&uid=169099 | Last Journal: Tuesday February 24 2004, @09:48AM)
I don't necessarily want an IDS to run around correcting or cleaning things... it's usefulness is in the fact it's a watchdog. It's light and focused, with elegance in simplicity despite capability.
Sorry, that's not entirely correct. (Score:5, Interesting)
If you want your traffic "cleaned" then you must use Snort in combination with IPTables as an inline [google.com] firewall. This allows Snort to drop, block, reroute, malicious traffic. At this point, Snort is no longer an IDS but, is instead an Intrusion Prevention System(IPS), the latest buzzword acronym to infest the IT world.
Re:One Problem (Score:4, Interesting)
Check out Hogwash [sourceforge.net]
Also, a buddy of mine hacked hogwash to support IP tables [prismnet.com] a while back (no extra hogwash box necessary).
Snort, Tripwire, Etc... (Score:5, Insightful)
(http://www.eclec.tk/ | Last Journal: Tuesday December 25 2001, @03:37PM)
Personal computer security is laughable these days. Run snort, use snort, and tell others to run snort, and other free security software packages out there.
Hell buy a copy of this book and lend it to fellow admins, it can only help, let me repeat it can only help.
Not trying to be a troll, but remember not everyone is "Slashdot Savvy" and "in tune" with the hipster software. This is a tried and true program that is so uber documented they're writing books about it, you can't go wrong, seriously.
Re:Snort, Tripwire, Etc... (Score:5, Informative)
Snort runs just dandy on Windows 2000. So that's not an excuse to not run an IDS.
I do wish there was an open free tripwire version for windows. For that you need to shell out the bucks.
clarkconnect (Score:5, Informative)
one thing, you need some relatively decent hardware for it to work, as it chews significant processing power sorting thru your packets, and even more cpu time to sort thru all your logs and generate an intrusion detection report.
on my k6-2 500mhz firewall with 256mb ram on my home cable connection, it takes ~30 minutes at 100% cpu to generate a report
good book. (Score:4, Interesting)
(Last Journal: Friday October 19, @09:21PM)
To be honest, I only noticed this book because it had Bruce Perens' name on it). It is a good book, regardless of what you think of Bruce (does anybody *not* like him? why?). It's concise and the included scripts look like they do what you need them to do. They also go over what the scripts do, how they work, etc.
Natch, the scripts are available online, so no need to retype them in.
Re:good book. (Score:5, Informative)
(http://perens.com/ | Last Journal: Tuesday February 07 2006, @08:49PM)
Bruce
I run snort+mysql+ACID+snortcenter... (Score:5, Informative)
A note on Firewalls (Score:5, Insightful)
Fun Quote from the Chunking Exploit File (Score:5, Funny)
(http://slashdot.org/)
* --- heh, this is a middle finger to all those open source, anti-"m$"
* idiots... slashdot hippies...
LOL
It runs on Windows too (Score:5, Informative)
(Last Journal: Sunday October 02 2005, @11:20PM)
It gets my vote (Score:5, Informative)
Google is great, but there is nothing like picking up a well-organized resource book, especially when tying other modules (like ACID, MySQL, etc.) into the mix. Besides, when you can see information in a single, coherent, organized form, you are able to get a much better feel for the big picture, instead of just the pieces of the puzzle as separate components.
And it never hurts to have a bookshelf packed with technical reference manuals behind your desk for then the PHBs walk in ;-)
yeah.. but.. (Score:5, Interesting)
(Last Journal: Saturday October 07 2006, @07:46PM)
Snort is for pussies! (Score:5, Funny)
IDS (Snort) Training with SANS (Score:3, Informative)
The first couple days covered TCP/IP packet composition and attacks. There were then a couple of days about installing and using Snort (taught by Marty Roesch, creater of Snort). Really taught how to use and get value out of your IDS, including a lot of real world examples from people who use it in sites attacked a lot more frequently than mine.
Highly Recommended.
http://www.sans.org [sans.org]
well, it's in smoothwall (Score:3, Informative)
(http://www.kelseyandpaul.com/)
Apache and intrusion attempts (Score:2, Interesting)
(http://www.threesources.com/ | Last Journal: Saturday August 25 2001, @01:19PM)
Re:Apache and intrusion attempts (Score:5, Informative)
(http://bigmoneyjim.com/content/blogcategory/24/46/ | Last Journal: Tuesday March 28 2006, @07:41PM)
Heh, they aren't guys, they're worms. The persistent ones probably share two or three octets of your IP address. The default.ida attacks are from Code Red variants and the cmd.exe attacks are from Nimda. Both attack IPs somewhat randomly but are weighted to attack 'nearby' IPs far more frequently. It was a very effective tactic, too.
Those are unpatched infected IIS servers doing that. It's really sad. Code Red almost went away for a few months but now I'm getting more Code Red hits than Nimda, but I see both every day. The SQL Slammer worm is still a daily occurrence, too.
(TCP port 1433 three SYNs in a row).
My 'intrusion detection' so far is from Apache and ipchains logs. I think I'll install Snort because I'm curious how many NetBIOS attacks I'm getting.
Another Snort book that's Open Source (Score:5, Informative)
(http://perens.com/ | Last Journal: Tuesday February 07 2006, @08:49PM)
Also, the source to the first two books in my series is now online at phptr.com/perens [phptr.com].
Thanks
Bruce
i've always wanted to know.. (Score:2, Interesting)
snort is the weakest link (Score:1, Insightful)
seriously consider the security issues if running
snort. The code has been plagued with security
issues from day one. It is practically beta code.
I know if i ran snort on x86 linux, i would
consider that my weakest link out of all
my services. i know that one heap overflow exploit
is proably circling hands right now.
funny, your security tools are the most likely
avenue of getting hacked right now.
ironic
Why so many IDS deployments fail.... (Score:4, Insightful)
This hits the nail right on the proverbial head. So many articles in the security industry focus on "IDS failures" [sans.org]. If you don't know your network, servers, routers, and what they should be doing, you can't implement IDS effectively.
Very important topic, Im glad this point so often missed made it into this book. Should be a good read.
Cable modem license (Score:2, Interesting)
Snort as part of Henwen (Score:1)
(Last Journal: Tuesday June 17 2003, @03:23PM)
Chah to IDS! (Score:1)
Sounds good.... (Score:2, Interesting)
The basics won't change much, but I wonder.
I wonder if the book covers some of the great addons available like acid, barnyard, and snortsnarf?
Is this covered??? switching and viruses (Score:1, Interesting)
2. Using it to detect virus signatures on the network?
You need HISTORY to develop good detection rules (Score:3, Insightful)
Snort and the other intrusion detection systems perform to varying degrees at monitoring corporate resources resources and alerting personnel when something is amiss, according to the rulesets they've been given. The article assumes the rulesets are known in advance: your work is to take those rulesets and implement them in Snort or your favorite IDS.
The real world isn't so simple. IT personnel can only guess at all the possible security problems with the network equipment, hardware, server software, clients, external network connections, malicious hackers and information thiefs out there -- as well those rare dishonest insiders. A more effective security implementation includes plenty of logging, and subsequent log analysis.
Logs are easy to generate for all varieties of hardware and software. Collecting and centralizing log data lets you:
Having the history lets an organization more effectively implement the "detailed network and business context" within the real-time IDS solutions.
Of course, the real problem is the $2 million for the Oracle DB to manage all that log data. And querying all that history is a bear. And the DBAs, the software developers, etc. to manage that log history. I've heard that addamark's log management system [addamark.com] (LMS) is a good alternative. Someone told me their product replaced a DB2 cluster at one organization after a two-hour DB2 query took three minutes on an Addamark cluster. The cost savings, storage capacity, and log compression were phenomenal too.
Are there other log centralizing solutions out there you've heard of? Addamark seems to work because it's not a full-fledged traditional DB, but optimized for this log management problem -- can a traditional DB keep pace?
Open source business model will win out in the end (Score:1)
Very interesting point. It looks like, at least for IDS, the open source business model will always win out. How can you make an application truely customizable if you don't have source-level access? In situations where adaptability is important or even critical, such as IDS, the open source model will always win.
Maybe time to put some money into Sourcefire [sourcefire.com]?
Building an Ethernet Tap (Score:4, Interesting)
(Last Journal: Friday October 04 2002, @08:30PM)
I have no spanning capabilities on my switch and I'm not about to put some $40 CompUSA hub on my production network so the only real choice for me is an ethernet tap. However, I'm having a very difficult time finding schematics for building a 100Mbit ethernet tap. The best I could find is this brief PDF [snort.org] that discusses a bi-directional tap. Unfortunately, this method also requires a spanning port on a switch.
I've found commercial ethernet taps [comcraftfr.com] for sale but they all cost upwards of $400. Surely there is a way to build one of these in a home workshop. Does anyone have schematics?
Chris
Hopefully a good learning tool... (Score:1)
(http://warriorpostman.net:81/)
Re:Snort sucks anyway... (Score:5, Funny)
(Last Journal: Wednesday November 10 2004, @06:46PM)
So I guess installing MS Windows Servers and Workstations on the network is out of question?
Re:Snort sucks anyway... (Score:1)
(http://www.idaz.net/)