This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
<pre>Author/s : James Turnbull Publisher : Apress Category :Other Review by : Lasse Koskela Rating : 10 horseshoes</pre> I haven't run a Linux box since 2002. Some time ago, realizing that I'd soon have a chance to migrate to using Linux for everyday work, I decided I should start refreshing my *NIX commands and shell scripting. Then, I saw "Hardening Linux". Rather spontaneously, I decided to start with this security-focused title instead of the perhaps more intuitive path of installing the latest distro, setting up a bunch of daemons, installing databases, etc. That proved to be an excellent decision. "Hardening Linux" is not a small book. Yet, I read the 500 pages more or less cover to cover. Even though we're talking about a book of which purpose is to help you to secure your Linux server, I felt like I learned more about Linux reading this book than I've learned during the last year at work.
Turnbull kick starts the book by explaining user and group management, basics of the Linux file system security, how to verify downloaded packages, which tools and packages you probably should remove from a production server. By page 50, he had also shown how to compile your kernel with security flags and the Openwall project.
After the rather intense first chapter, the rest of the book's chapters each focus on a certain aspect of a system or a specific product, showing how to secure your system from that particular perspective. Most of these chapters are really top-notch compared to most of the online material I've resorted to in the past. For example, Turnbull presents the most intuitive tutorial on configuring the iptables firewall I've seen so far.
Another excellent description is the chapter on file system security. In my experience, the majority of developers dealing with Linux -- myself included -- don't really know much about Linux file system security beyond the basic file permission attributes. Thanks to chapter 4, I know twice as much about what's possible and what to look out for with regards to file permissions and ownership, and all those mysterious "special" characters that don't have to do with the basic read-write-execute stuff.
The author also covers the topics of syslog (and syslog-ng), secure remote connections (including SSL/TLS and SSH among other things), and gives a broad overview of common security analysis tools such as NMAP, Nessus, Ethereal, and tcpdump. Beyond those I already mentioned, Turnbull has written excellent chapters explaining how to secure your email servers (both sendmail and postfix), putting your FTP server into a chroot jail, and how to set up your DNS server and protect yourself from common attacks such as cache poisoning.
All in all, an excellent book on not just Linux security but also on Linux fundamentals. Highly recommended reading if you're running a Linux box you wouldn't want getting "0wn3d."