Real World Linux Security: Intrusion Prevention, Detection and Recovery

List of Figures. List of Tables. Foreword. Acknowledgments. About the Author. 1. Introduction. Introduction to the Second Edition. Who Should Read This Book? How This Book Is Organized. What Are You Protecting? Who Are Your Enemies? What They Hope to Accomplish. Costs: Protection versus Break-Ins. Protecting Hardware. Protecting Network and Modem Access. Protecting System Access. Protecting Files. Preparing for and Detecting an Intrusion. Recovering from an Intrusion. I. SECURING YOUR SYSTEM. 2. Quick Fixes for Common Problems. Understanding Linux Security. The Seven Most Deadly Sins. Passwords: A Key Point for Good Security. Advanced Password Techniques. Protecting the System from User Mistakes. Forgiveness Is Better than Permission. Dangers and Countermeasures During Initial System Setup. Limiting Unreasonable Access. Firewalls and the Corporate Moat. Turn Off Unneeded Services. High Security Requires Minimum Services. Replace These Weak Doors with Brick. New Lamps for Old. United We Fall, Divided We Stand. 3. Quick and Easy Hacking and How to Avoid It. X Marks the Hole. Law of the Jungle-Physical Security. Physical Actions. Selected Short Subjects. Terminal Device Attacks. Disk Sniffing. 4. Common Hacking by Subsystem. NFS, mountd, and portmap. Sendmail. Telnet. FTP. The rsh, rcp, rexec, and rlogin Services. DNS (named, a.k.a. BIND). POP and IMAP Servers. Doing the Samba. Stop Squid from Inking Out Their Trail. The syslogd Service. The print Service (lpd). The ident Service. INND and News. Protecting Your DNS Registration. 5. Common Hacker Attacks. Rootkit Attacks (Script Kiddies). Packet Spoofing Explained. SYN Flood Attack Explained. Defeating SYN Flood Attacks. Defeating TCP Sequence Spoofing. Packet Storms, Smurf Attacks, and Fraggles. Buffer Overflows or Stamping on Memory with gets(). Spoofing Techniques. Man-in-the-Middle Attack. 6. Advanced Security Issues. Configuring Netscape for Higher Security. Stopping Access to I/O Devices. Scouting Out Apache (httpd) Problems. Special Techniques for Web Servers. One-Way Credit Card Data Path for Top Security. Hardening for Very High Security. Restricting Login Location and Times. Obscure but Deadly Problems. Defeating Login Simulators. Stopping Buffer Overflows with Libsafe. 7. Establishing Security Policies. General Policy. Personal Use Policy. Accounts Policy. E-Mail Policy. Instant Messenger (IM) Policy. Web Server Policy. File Server and Database Policy. Firewall Policy. Desktop Policy. Laptop Policy. Disposal Policy. Network Topology Policy. Problem Reporting Policy. Ownership Policy. Policy Policy. 8. Trusting Other Computers. Secure Systems and Insecure Systems. Trust No One-The Highest Security. Linux and UNIX Systems Within Your Control. Mainframes Within Your Control. A Window Is Worth a Thousand Cannons. Firewall Vulnerabilities. Virtual Private Networks. Viruses and Linux. 9. Gutsy Break-Ins. Mission Impossible Techniques. Spies. Fanatics and Suicide Attacks. 10. Case Studies. Confessions of a Berkeley System Mole. Knights of the Realm (Forensics). Ken Thompson Cracks the Navy. The Virtual Machine Trojan. AOL's DNS Change Fiasco. I'm Innocent, I Tell Ya! Cracking with a Laptop and a Pay Phone. Take a Few Cents off the Top. Nonprofit Organization Runs Out of Luck. Persistence with Recalcitrant SysAdmins Pays Off. Net Shipped with Nimda. 11. Recent Break-Ins. Fragmentation Attacks. IP Masquerading Fails for ICMP. The Ping of Death Sinks Dutch Shipping Company. Captain, We're Being Scanned! (Stealth Scans). Cable Modems: A Cracker's Dream. Using Sendmail to Block E-Mail Attacks. Sendmail Account Guessing. The Mysterious Ingreslock. You're Being Tracked. Distributed Denial of Service (Coordinated) Attacks. Stealth Trojan Horses. Linuxconf via TCP Port 98. Evil HTML Tags and Script. Format Problems with syslog(). II. PREPARING FOR AN INTRUSION. 12. Hardening Your System. Protecting User Sessions with SSH. Virtual Private Networks (VPNs). Pretty Good Privacy (PGP). Using GPG to Encrypt Files the Easy Way. Firewalls with IP Tables and DMZ. Firewalls with IP Chains and DMZ. 13. Preparing Your Hardware. Timing Is Everything. Advanced Preparation. Switch to Auxiliary Control (Hot Backups). 14. Preparing Your Configuration. TCP Wrappers. Adaptive Firewalls: Raising the Drawbridge with the Cracker Trap. Ending Cracker Servers with a Kernel Mod. Fire Drills. Break into Your Own System with Tiger Teams. 15. Scanning Your Own System. The Nessus Security Scanner. The SARA and SAINT Security Auditors. The nmap Network Mapper. The Snort Attack Detector. Scanning and Analyzing with SHADOW. John the Ripper. Store the RPM Database Checksums. III. DETECTING AN INTRUSION. 16. Monitoring Activity. Log Files. Log Files: Measures and Countermeasures. Using Logcheck to Check Log Files You Never Check. Using PortSentry to Lock Out Hackers. HostSentry. Paging the SysAdmin: Cracking in Progress! An Example for Automatic Paging. Building on Your Example for Automatic Paging. Paging telnet and rsh Usage. Using Arpwatch to Catch ARP and MAC Attacks. Monitoring Port Usage. Monitoring Attacks with Ethereal. Using tcpdump to Monitor Your LAN. Monitoring the Scanners with Deception Tool Kit (DTK). Monitoring Processes. Cron: Watching the Crackers. Caller ID. 17. Scanning Your System for Anomalies. Finding Suspicious Files. Tripwire. Detecting Deleted Executables. Detecting Promiscuous Network Interface Cards. Finding Promiscuous Processes. Detecting Defaced Web Pages Automatically. IV. RECOVERING FROM AN INTRUSION. 18. Regaining Control of Your System. Finding the Cracker's Running Processes. Handling Running Cracker Processes. Drop the Modems, Network, Printers, and System. 19. Finding and Repairing the Damage. Check Your /var/log Logs. The syslogd and klogd Daemons. Remote Logging. Interpreting Log File Entries. Check Other Logs. Check TCP Wrapper Responses. How the File System Can Be Damaged. Planting False Data. Altered Monitoring Programs. Stuck in the House of Mirrors. Getting Back in Control. Finding Cracker-Altered Files. Sealing the Crack. Finding set-UID Programs. Finding the mstream Trojan. 20. Finding the Attacker's System. Tracing a Numeric IP Address with nslookup. Tracing a Numeric IP Address with dig. Who's a Commie: Finding . com Owners. Finding Entities Directly from the IP Address. Finding a G-Man: Looking Up . gov Systems. Using ping. Using traceroute. Neighboring Systems' Results. A Recent International Tracking of a Cracker. Be Sure You Found the Attacker. Other SysAdmins: Do They Care? 21. Having the Cracker Crack Rocks. Police: Dragnet or Keystone Kops? Prosecution. Liability of ISPs Allowing Illegal Activity. Counteroffenses. Appendix A. Internet Resources for the Latest Intrusions and Defenses. Mailing Lists: The Mandatory Ones. Mailing Lists: The Optional Ones. News Groups. URLs for Security Sites. URLs for Security Tools. URLs for Documentation. URLs for General Tools. URLs for Specifications and Definitions. Vendor Software and Updates. Other Software Updates. Appendix B. Books, CD-ROMs, and Videos. Linux System Security. Building Linux and OpenBSD Firewalls. Samba: Integrating UNIX and Windows. Linux Sendmail Administration. Secrets and Lies: Digital Security in a Networked World. The Cuckoo's Egg. Hackers. UNIX Complete. The Computer Contradictionary. U.S. Department of Defense DISA Resource. Internetworking with TCP/IP Vols. I, II, and III Linux Application Development. Consultants: The Good, the Bad, and the Slick. Appendix C. Network Services and Ports. Appendix D. Danger Levels. Appendix E. Appendix F. Abbreviations. Index.