Linux Security Cookbook 131
Linux Security Cookbook | |
author | Daniel J. Barrett, Richard E. Silverman & Robert G. Byrnes |
pages | 311 |
publisher | O'Reilly |
rating | 9/10 |
reviewer | Charles McColm |
ISBN | 0596003919 |
summary | LSC covers a wide range of security issues from installing an intrusion detection system to detecting network intrusions. |
As the title suggests, LSC is a series of different Linux security "recipes." I found the cookbook-style of presentation both good and bad. Some recipes were a breeze to follow (such as the gpg recipes). Other recipes I felt could have been ordered a little better. The ipchains/iptables recipes in Chapter 2 are terrific, but I had to wait until the 19th recipe in the chapter to find out how to make the ipchains/iptables recipes stick. Though it makes sense to have saving a firewall configuration near the end of the chapter, I would have put the information after the first few recipes.
The only chapter that I glossed over was Chapter, "4 Authentication Techniques and Infrastructures." Chapter 4 covers Linux-PAM, OpenSSL and Kerberos. The chapter begins with a recipe for creating a PAM-Aware Application. I started to type in the C code but stopped a few lines from the end, it just didn't make sense for me to have this knowledge at this time. The introduction at the beginning of Chapter 4 is very good, but on the whole it is one of those chapters I've slotted for future reference. OpenSSH is discussed at the beginning of Chapter 4 but covered in more detail (an entire chapter) in Chapter 6.
The chapters I found most useful were those on intrusion detection systems (Chapter 1) and GPG (Chapters 7 & 8). Actually, I found almost all of LSC useful except the previously noted Chapter 4. Some of the software covered in the recipes are programs I've never heard of before, John the Ripper for example. Other recipes cover those programs I know I should check out (like Snort) but have never taken the time to.
LSC is for the most part very easy to follow. The authors have been very careful to mention when software (snort for example) might or might not be included and how to find and install it. I got tripped up a little in the first chapter (which covers tripwire), because I tried downloading and compiling the tripwire source found at the tripwire web site. I obtained the source from a couple of recommended sites. In one instance tripwire failed to compile correctly, in another it compiled but kept segfaulting when I tried to initialize the database. It wasn't until after I emailed O'Reilly that I saw mention further in Chapter 1 that tripwire is included with Red Hat Linux. One of the authors, Daniel J. Barrett, also emailed me to tell me that it was on the third CD - doh! The upside of this little tale is that I got to know aide (another intrusion detection system) a little better after I installed it on my Debian-based notebook.
I happen to think that computer books are overpriced. I have bought a number of $50-$90 computer books that ended up being doorstops after about a month and useless after a couple of years. Because of this experience I am a bit more stingy when shelling out for a computer book. Though I hate reading online documentation (I wear glasses and cannot stare at text on the screen for a long time), I have forced myself to read a lot more online documentation over the past year. This is one instance where I would be willing to shell out the $61.95 Canadian for a book. The Linux Security Cookbook covers a wide range of potential security problems and it presents its solutions such that each takes only a few minutes to implement.
I've saved what is actually covered in LSC for the end of this review. My intention in this review has been mainly to present my experience with LSC so that other members who are also still desktop users, or have never really been concerned with Linux security issues can take away the fact that despite a few sticking points I found this book to be a great source for information on different Linux security issues. For those concerned with the meat of the book, here's how it breaks down:
1. System Snapshots with Tripwire
2. Firewalls with iptables and ipchains
3. Network Access Control (xinetd, inetd, preventing DOS attacks)
4. Authentication Techniques and Infrastructures (PAM, SSL, Kerberos)
5. Authorization Controls (su and sudo)
6. Protecting Outgoing Network Connections (OpenSSH)
7. Protecting Files (permissions, GPG)
8. Protecting Email (all popular mail user agents, SSL and SSH)
9. Testing and Monitoring (Jack the Ripper, Cracklib, Snort, tcpdump, syslog)
You really need to have a good look at the table of contents to get an idea of all this book covers. I have written about it from a desktop-user standpoint, but there are so many recipes that I couldn't cover everything. There are many great code snippets that more advanced users would find useful.
If you don't have an intrusion detection system, need to grant some of your users limited root privileges, have been using the default firewall rules (or don't have a clue about iptables/ipchains), haven't checked your system for root kits or insecure protocols, then the Linux Security Cookbook should be at the top of your reading list.
You can purchase the Linux Security Cookbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Security isn't something you "cook" (Score:4, Insightful)
System administration isn't easy, that's why they make big dollars.
Syslog (Score:3, Insightful)
I wish these type of books, and other SA topical publications would start introducing the users to Syslog-ng [balabit.hu]
Of course, that's just my opinion. I could be wrong...
Did they show netstat? (Score:5, Insightful)
I'd think before you even start messing with all the other things you say they do, the most fundamental step in securing your linux box is to type "netstat -anp|grep LISTEN", and be able to account for every line you see. Know what process is listening to what ports on what interfaces, and why, and ask yourself whether the ones which seem to be facing the broader internet should be. Disable various services from your startup scripts and/or modify config files as neccesary until it you get it down to where it should be. This is the most basic of security measures against network-based attacks, and one often not even looked at by people who try many other more complicated methods of securing the system.
Not "cook", the sacrifices must be raw- (Score:4, Insightful)
Tell that to my IT manager, my wallet sure doesn't agree... ;)
So long as everything's going well, you're 'not doing anything productive' by searching around the web checking said mailing lists and newsgroups, so you get pulled off to work on Pet Project Y for Manager T. Then, when the shit hits the fan, suddenly it's 'Well, why weren't we prepared for each and everything that could possibly happen??' Go fig'.
But hey, at least I don't have to do end-user tech support any more...
Nothing is inherently secure (Score:4, Insightful)
As one of the flock of Linux desktop users I have always taken it for granted that Linux is inherently more secure than Microsoft Windows. The truth is, I've never really paid much attention to Linux security
Linux is more secure than Windows in many ways, but no operating system is inherently secure, especially if you don't pay much attention to security.
Picture this: you're on a private subnet, behind a firewall that allows only outbound connections, and NAT to boot. You run no services, so there's no way for a cracker to reach you. Right?
BZZT!!! Unbeknownst to you, someone found a hole in your IRC client. When you went online, they 0wned your box and quickly installed a rootkit that "phones home" when your router's dynamic IP address decides to change. Your machine now serves warez and kiddie porn, but you didn't know that. Of course, the FBI doesn't believe you, and sends you to federal "pound me in the ass" prison.
Sound far-fetched?
Every single one of those things has happened.
Using Linux just makes it a little harder for the crackers. Not impossible. And it can't make it impossible, because even if Linux itself were perfect, a single remote root exploit in any piece of network client software is all it takes.
If you own or use a computer that is at least sometimes connected to the Internet, or to a local network, security is your job.
Re:Did they show netstat? (Score:1, Insightful)
Experience and social factors matter more than OS (Score:4, Insightful)
If you have someone who is paranoid about security in charge of a system, then that system will inherently be more secure than one run by someone who doesn't think as much about it. With so many Linux users blindly downloading sofware and installing it as root...now there's a massive security hole in itself. If security is your angle, you avoid that as much as possible.
Bad assumption (Score:4, Insightful)
While this may have been true 5 or so years ago, it's not anymore (in some technical respects the reverse is arguable - see ACLs, access control to kernel objects, trusted path/trusted computing base, etc...), these days security in Linux and Windows is all about process and mindset, as is true of any complex system.
This really is the kind of attitude that is going to really hurt the Linux community in the future. If/when we start to see a sizable number of people using Linux on the desktop, this assumption that Linux is 'inherantly' secure (totally false) could lead to almost the same kind of security nightmare that we saw in Windows-land until recently (arguably, we're still seeing it:).