Lock down your Linux system NOW!
Now there's an up-to-the-minute, hands-on guide to using open source tools to protect any Linux system! Completely updated for the newest tools and distributions, Linux System Security, Second Edition covers virtually every facet of Linux security, from firewalls and intrusion detection to authentication and secure Web services. You'll master over a dozen crucial open source security tools, including sudo, portmap, xinetd, tiger, tripwire, ipchains, pam, crack, and more. Along the way, three long-time Linux sysadmins will show you the "gotchas," rules of thumb, and undocumented tricks it would take you years to learn on your own!
Want the benefits of Linux without the security risks? Get Linux System Security, Second Edition!
Prentice Hall Series on Computer Networking and Distributed Systems, Radia Perlman, Series Advisor
Click here for a sample chapter for this book: 0130470112.pdf
1. How Did That Happen?: Vulnerability Survey.
What Happened? So, Are You Going to Show Us How to Break into Systems? A Survey of Vulnerabilities and Attacks. Summary. For Further Reading.
What Is Computer and Network Security? Securing Computers and Networks. User Privacy and Administrator Ethics. Summary. For Further Reading.
BIOS Passwords. Linux Installation and LILO. Start-Up Scripts. Red Hat Package Manager. TCP/IP Networking Overview. Request for Comment. Cryptography. Testing and Production Environments. Licenses.
User Account Management. The Root Account. Group Account Management. File and Directory Permissions. Using xlock and xscreensaver. Filesystem Restrictions. Access Control Lists and Extended Attributes. Summary. For Further Reading.
PAM Overview. PAM Administration. PAM Logs. Available PAM Modules. PAM-Aware Applications. Important Notes about Configuring PAM. The Future of PAM. Summary. For Further Reading.
The Purpose of One-Time Passwords. S/Key. Which OTP System Should I Use? S/Key Vulnerabilities. Summary. For Further Reading.
General System Accounting. Connection Accounting. Process Accounting. Accounting Files. Summary. For Further Reading.
The syslog System Logging Utility. Other Logs. Alternatives to syslog. The auditd Utility. Summary. For Further Reading.
What Is sudo? Obtaining and Implementing sudo. Using sudo. PAM and sudo. Disabling root Access. Vulnerabilities of sudo. Summary. For Further Reading.
Using xinetd. Summary. For Further Reading. Internet Services Resources.
Available Versions of SSH. Overview of SSH Version 1. Overview of SSH Version 2. Installing OpenSSH. Configuring the Secure Shell. Using SSH. Configuring SSH Authentication Behavior. Exploring ssh Functionality. Secure Shell Alternatives. Summary. For Further Reading.
Obtaining Crack. Major Components of Crack. Crack Overview. Building Crack. Compiling and Linking Crack. Crack Dictionaries. Using Crack. The White Hat Use of Crack. Summary. For Further Reading.
Bastille Overview. Obtaining and Installing Bastille. Configuring Bastille. Duplicating Setup on Additional Hosts. UNDO! Automated Bastille. Summary.
Tripwire Overview. Obtaining and Installing Tripwire. Tripwire Version 2.3.1-5. Configuring Tripwire. The Tripwire Configuration File. The Tripwire Policy File. The tripwire Command. Initializing the Tripwire Database. Effective Tripwire Initialization. Routine Tripwire Runs3/4Compare Mode. Tripwire Update Mode. Policy Update Mode. Testing Email Notification. Twprint. Summary. For Further Reading.
What is a Firewall? Packet Filtering. Configuring the Kernel for ipchains. ipchains Overview. Introduction to Using ipchains. Packet Fragments. IP Masquerading. Adding Custom Chains. Antispoofing Rules. Rule Ordering Is Important! Saving and Restoring Rules. Rule Writing and Logging Tips. Building Your Firewall. ipchains IsnÕt Just for Firewalls! A Few More Thingsú Supplementary Utilities. The Next Generationú Summary. For Further Reading.
Netfilter Overview. The iptables Utility. iptables Examples. Summary. For Further Reading.
Introduction. Scanners. Sniffers. Detectors. Summary. For Further Reading.
General Log File Management. Logrotate. Swatch. Logcheck. Summary.
So, Where Do I Start? Reducing the Workload. What If My Systems Are Already in the Production Environment? The Internal Network. Firewalls and the DMZ. Break-in Recovery. Adding New Software. Only through Knowledgeú
Web Pages. Full Disclosure Resources. Mailing Lists.
Obtaining and Installing OPIE. Implementing and Using OPIE. OPIE and PAM.
TCP_Wrappers. The Portmapper. Unwrapped Services. For Further Reading.
Overview of the Cryptographic File System. Obtaining and Installing CFS. Using CFS. Vulnerabilities of CFS. Overview of TCFS. Obtaining and Installing TCFS. The TCFS Client Side. Using TCFS. Vulnerabilities of TCFS. CFS and TCFS Comparison. Securely Deleting Files. Alternatives to CFS and TCFS. Summary. For Further Reading.
This book exists because we need it! In many ways, we (well, Scott, anyway) wish someone else had written it so that we could have just read it. We have found that it is much easier to read than it is to write (unlike disk drives, however, it takes orders of magnitude longer to write than to read)!
This book provides an introduction to installing, configuring, and maintaining Linux systems from a security perspective. In fact, it is really an administrator's guide to implementing security and security tools on Linux (although much of what is discussed can easily apply to other UNIX variants). It isn't a definitive book about security (there aren't any), but we think it provides a reasonable starting point for preparing and maintaining secure systems. If you follow the procedures outlined in this book, you will certainly reduce your overall level of vulnerability, and you will have an early warning system that may be able to prevent the most serious of system and network breaches.
We really tried to avoid discussing topics that are covered well elsewhere. Subjects such as cryptography, security policies, Transmission Control Protocol/Internet Protocol (TCP/IP) networking, firewalls, and so on, are well documented in other sources. We've noted resources for these topics at the end of each appropriate chapter and in Appendix A. We've also tried to provide similar resources for the many topics we did not have time to cover (publishers are so deadline intensive).
This book will not teach you how to break into systems, although some obvious tricks are described to heighten your awareness. Neither will this document describe the process of system and code auditing for vulnerability assessment-that task is left to people far more industrious than we are. Simply, this book will provide a framework-a foundation if you will-that will allow you to learn more and, hopefully, be as dynamic as the field of computer security itself.About This Book
The intent of this book is to give you a process to follow (with whatever modifications you feel are appropriate) to better secure your computing environment. We also tried to write in such a way that each chapter could stand on its own. For those of you who are unfamiliar with implementing secure computing environments, you may well benefit from reading this book in its entirety and then using it as a reference. If you are really new to the subject of security, read Practical UNIX and Internet Security or something similar first. Then read this book.
We have included instructions for compiling most of the utilities covered in this book. The reason behind such madness (mad, because those instructions will be out of date very quickly) is that, while there are resources that generically describe the procedure of building software, there are few that provide real-world examples. It has been our experience that very few new or junior system and network administrators have the experience necessary to fetch a publicly available tool, modify it appropriately, and successfully compile it. It is for those readers in particular that we have included these instructions. For those of you who don't need those instructions, just skip over them.
The first four chapters are overviews. We begin in Chapter 1 with a survey of vulnerabilities. Chapter 2 introduces the critical topic of security policies. Chapter 3 covers a wide range of topics from cryptography to networking to give us a framework for what follows. Chapter 4 provides a survey of user accounts, file permissions, and filesystem options as they relate to security.
Chapters 7 and 8 cover the topics of system accounting and system logging, respectively. A book about system security would not be complete without a discussion of these topics, which are very important in securing a system. Chapters 5, 6, and 9-17 are the heart of the book, providing a detailed look at utilizing the security capabilities of Linux and implementing publicly available tools to augment Linux security. Please be sure to learn about and utilize tiger (Chapter 13) and Tripwire (Chapter 14) before going live with any of the tools discussed elsewhere in the book. These two utilities will give you a high confidence level regarding the state of security of your systems, if used properly.
Chapter 18 shows how to implement all that is covered in the book. If you are in a hurry, you may want to read through this chapter early on in your study of this topic to get a sense of what needs to be done to provide a secure environment.
We sincerely hope you find this book as useful as we do!Errata or, More Simply, Bugs
There will be those! While we tested everything presented in this book for accuracy on RedHat 5.2 and almost everything on Red Hat 6.0, there are undoubtedly mistakes in this text. If you find any, please email them or any other comments you might have to us at
We probably won't always answer, but we will post updates and corrections to a site that we'll link off of this book's catalog page on the publisher's website:
Please check the site once in a while for new information.