Administering a Linux computer/server can be a difficult job unless you have extensive experience in doing it. With increasing threats against servers and networks, everything has to be designed and implemented with security as a high priority. And with multiple daemons running on a server, it can be very difficult to secure everything. As they say, security is only as tight as the weakest link in the chain. Therefore, there’s no point securing the web-server with multiple layers while leaving the DNS server open for attack. In this article we’ll take a look at 10 must-have books for Linux administrators. These will address various things like hardening the operating system, the Apache web-server, BIND DNS server and so on…
Linux System Administration
Administering the system includes, but is not limited to, various tasks like user management, pruning the excess software packages installed on the system, and general maintenance that keeps a server secure and in good shape. Remember that these books are not a substitute for hard-work, a curiosity, and hands-on experience with Linux. Another thing to remember is that everything changes quickly in the world of Linux. Therefore, it is of utmost importance to keep updating yourself with new knowledge and buy books that are not more than a few months old, unless they’re recommended by many people and have stood the test of time.
Linux Administration Handbook (2008) - Evi Nemeth, Garth Snyder, Trent R. Hein: This is one of the most important books you can buy. With a positive review from someone like Linus Torvalds himself, you cannot go wrong with this one. The authors expect you to know a thing or two about Linux and take it from there. The content is well written and packed with information, and covers most of the major Linux distributions in use today - Ubuntu, Fedora, Red Hat Enterprise, Debian. The content is not just a bunch of ‘man’ pages lined up one after another, and care has been taken to keep the content fresh and at times, humorous. You can use it as a start-to-end book or use it as a reference whenever you’re stuck with something. All in all, a highly recommended book for system administration.
Web Server Administration
Apache Cookbook: Solutions and Examples for Apache Administrators (2008): Rich Bowen, Ken Coar: Written by the members of the Apache Software Foundation, this book offers content in the form of guides for various problems and requirements that you will face in a job. Divided into topics like Security, Performance, SSL and others, the book deals with problems ranging from novice-level to advanced-level. For every problem addressed in the book, you will find a solution that includes short pieces of code and explanations as to why the code works, and how it works. This allows you to understand the solutions rather than just a patch-job on problems which you would have no clue about.
Apache Security (2009): Ivan Ristic: Dealing exclusively with securing Apache, this book acts as a single source for most of the information required to secure your Apache webserver. The book combines topics in securing Apache, plus various other scenarios and topics located outside the scope of Apache itself. And with more than half of the web-servers running Apache today, this book is of utmost importance for anyone delving into securing Linux and its services.
DNS Server Administration
DNS and BIND (2006): Cricket Liu, Paul Albitz: This book is the de-facto reference for any system-administrator. You can read it from cover-to-cover or keep it on your shelf for reference whenever you need it. The book starts with simple configuration and installation of BIND, one of the most used DNS servers today, and moves on to complex configurations for multiple domains and security. If your system/network is connected to the Internet, you need to read this book or refer to it for your DNS-related tasks.
Linux Firewalls (2005): Steve Suehring, Robert Ziegler: This book deals with securing networks at the home-office level to full blown enterprise setups. Since Linux includes a world-class firewall system in the form of Ipfilter, Netfilter and Iptables, the book serves as a great reference for people involved with securing Linux networks. The book includes examples for creating and debugging firewall rules and moves on to things like intrusion detection, trust-level based security and reporting intrusions to network staff.
Nmap in the Enterprise: Your Guide to Network Scanning (2008): Angela Orebaugh, Becky Pinkard: To defend your own network, you must also find its weaknesses. And what better tool to start your search than nmap? The book starts off with the absolute basics; OSI layers, basic network protocols and nmap techniques. It then moves on to much more complex stuff like monitoring techniques and advanced scanning techniques. Definitely recommended on every sysadmin’s bookshelf.
Running Xen: A Hands-On Guide to the Art of Virtualization (2008): by Jeanna N. Matthews, Eli M. Dow, Todd Deshane, Wenjin Hu, Jeremy Bongio, Patrick F. Wilbur, Brendan Johnson: With increasing server specs and cloud computing becoming more and more popular, virtualization has taken big leaps in the last couple of years. With the potential of reducing hardware costs and easing administration, virtualization should be looked into by every sysadmin. And at the forefront of virtualization is Xen. This book starts off with basic Xen knowledge, and moves on to large-scale deployment knowledge like pre-built system images, managing multiple VMs, designing and configuring complete Xen networks and managing guest resources. The people who have written this book know Xen inside-out and it shows.
Linux Network Administrator’s Guide (2009): Tony Bautts, Terry Dawson, Gregor Purdy: Rounding off this article is a small but incredibly useful book for administering a Linux network and various protocols and daemons. This book takes off from the basics like TCP/IP networking, firewalls and wireless networking, and provides information about various protocols and daemons like OpenSSH, IMAP, OpenLDAP, IPv6 and so on. The book emerged from The Linux Documentation Project and is therefore well suited to any Linux administrator delving into networking and network-services administration.
Linux Command Line and Shell Scripting Bible (2008): Richard Blum: No system administrator’s knowledge-base can be complete without knowledge of at least one scripting language for day-to-day tasks. It can be Python, Perl or even Bashscript. This bible helps you move off the heavy graphical user interface and teaches you how to love the command-line. From the absolute basics to complex things like connecting to and managing databases, monitoring applications and teaching character parsing, this book has it all. Also learn how to use one of the many other shells available in Linux like ash, tcsh, korn, zsh and others. 5/5 for this one!
Python for Unix and Linux System Administration (2008): Noah Gift, Jeremy Jones: If you’re looking for specific knowledge, don’t look any further than Python. It is one of the most popular scripting languages for Linux sysadmins and with its set of capabilities, you can script just about anything you need. Learn how to manage files, interact with SNMP and monitor large clusters of machines, manage databases remotely and lots more. The only gripe with this book is that it has a few spelling errors, but that’s about it.
At the end of the day, nothing beats relevant on-the-job experience of troubleshooting and setting up various technologies and solutions. These books mentioned above are what will come to your rescue when you’re caught unawares with no knowledge of certain technologies and methodologies. While the books listed in this article might not always be 1000-paged bibles with all the information under the sun, they’re all incredibly useful for most purposes and scenarios that you will face in a Linux administration job environment. In case of the relevant information not being present in these books, it is recommended to refer to official documentation, online forums, mailing lists and IRC channels.