Hacking Linux Exposed
Past months' Linux worms and the shell server compromise of sourceforge.net, leading to the crack of several open-source sites, have reminded us that not even Linux systems are invulnerable to malevolent attackers. Three leading computer security experts published Hacking Exposed in 1999. The book is a thorough dissertation on cracking and was followed up by a second edition in 2000. This year George Kurtz, coauthor of Hacking Exposed, teamed up with two leading Linux security experts to bring us Hacking Linux Exposed.
Hacking Linux Exposed deals with security-related threats to Linux systems. It's a book for practitioners by practitioners, with an emphasis on practice rather than theory. The book provides an overview of various security-related issues. To this end, it has been organized into four parts. Each part deals with a distinct aspect of systems' security and is in turn broken into several chapters.
Part I is the system administrator's inside view of systems' security. It deals with how he or she can prevent the cracker from intruding, starting with an examination of the basic security features built into Linux. This is a look at users, groups, file permissions, etc., from a security point of view. While this should be old news to a systems administrator, this angle into the matter may shed some new light on the topic. The authors then progress to proactive measures and recovering from break-ins. Tools to both search for system vulnerabilities in order to harden a Linux installation and to reveal system compromises are dealt with. Part I is rounded off with a chapter on how a cracker would go about mapping and enumerating your systems in preparation for an attack.
We can make our systems as secure as we want, but there will always be methods of gaining what is considered legal access from the system's point of view. Part II deals with how a cracker could gain such access. Access may be gained in several ways, and the important lesson here is that you can never be too paranoid. Crackers will do anything to gain access, whether it is physical access to your facilities or access through the network. Almost an entire chapter is devoted to social engineering. Worms also receive due attention.
Once malevolent users gain access to a system, their next step will be to elevate their privileges. Local user attacks is the topic of Part III. An entire chapter is dedicated to Linux password systems. For those ever wondering about shadow passwords and PAM, look no further. I particularly like that the authors target attacks against poor programming in this part of the book. Part III ends with an entire chapter on how the cracker can go about maintaining access to an already compromised system. This chapter is particularly useful as it can be read as an introduction to the clues a cracker would leave behind on a compromised system.
While the compromise of a workstation may be bad enough, it is far worse when a server is compromised. Servers play a far more important role in an organization, and server downtime affects more than a single individual. Part IV is devoted to the three major services that Linux supports in both large farms and the kid's bedroom—mail, FTP and Web. General security-related issues are explored along with application-specific issues, including some of the most popular server software like sendmail, postfix, WU-FTP and more. Part IV concludes with a look at access control at the network layer. Both local-access control through the inet dæmon and TCP wrappers, as well as external-access control with firewalls are discussed.
The fifth and final part consists of four appendices. The first two appendices, “Keeping Your Programs Current” and “Turning Off Unneeded Services”, contain distribution-specific material. Appendix C deals with on-line resources, while the final appendix provides case studies. The case studies are in-depth descriptions of how three crackers have broken into computers.
The book is both well structured and well written. It is scattered with gems of computer-security wisdom. I especially like the use of caution and note callouts to emphasize important issues. Each chapter consists of a number of security-related threats to Linux systems, ways to exploit a threat and existing countermeasures. The use of sample scenarios helps clarify the threat and often sheds additional light on the text.
As an aid to understanding the risks involved, all exploits are accompanied by a risk rating. The risk rating is based on the exploit's popularity, how hard it is to perform and the impact it has on the target system. While such figures will always be somewhat arbitrary—it's incredibly hard to come up with any good and exhaustive metrics to measure such factors—the risk rating provides an indication of the overall risk involved with a security-related threat.
A book on computer security would never be complete without descriptions of the tools involved. Both tools to exploit a weakness and tools to fend off and guard oneself against hostile attacks are covered on a per-threat basis. When dealing with the tools, the authors are brief and to the point. This is, after all, a book on computer security as a whole, not a tool tutorial.
I would have expected the authors to explain their use of the term hacking, especially when writing for a Linux audience. We all know how particular some of us are with the hacking vs. cracking issue. In the authors' defense, it has to be said that the original manuscript did contain a section on just this issue, but it was deemed extraneous by the editor and removed.
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- Nice article, thanks for the
12 min 46 sec ago
- I once had a better way I
5 hours 58 min ago
- Not only you I too assumed
6 hours 16 min ago
- another very interesting
8 hours 9 min ago
- Reply to comment | Linux Journal
10 hours 2 min ago
- Reply to comment | Linux Journal
16 hours 56 min ago
- Reply to comment | Linux Journal
17 hours 12 min ago
- Favorite (and easily brute-forced) pw's
19 hours 4 min ago
- Have you tried Boxen? It's a
1 day 55 min ago
- seo services in india
1 day 5 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?