ebook img

Hardening Linux PDF

570 Pages·2005·2.53 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Hardening Linux

Hardening Linux JAMES TURNBULL Hardening Linux Copyright © 2005 by James Turnbull All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN (pbk): 1-59059-444-4 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use atrademark symbol with every occurrence of atrademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Jim Sumser Technical Reviewer: Judith Myerson Editorial Board: Steve Anglin, Dan Appleman, Ewan Buckingham, Gary Cornell, Tony Davis, Jason Gilmore, Chris Mills, Dominic Shakeshaft, Jim Sumser Project Manager: Kylie Johnston Copy Edit Manager: Nicole LeClerc Copy Editor: Kim Wimpsett Production Manager: Kari Brooks-Copony Production Editor: Kelly Winquist Compositor: Linda Weidemann Proofreader: Lori Bring Indexer: Kevin Broccoli Artist: Kinetic Publishing Services, LLC Cover Designer: Kurt Krames Manufacturing Manager: Tom Debolski Distributed to the book trade in the United States by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013, and outside the United States by Springer-Verlag GmbH & Co. KG, Tiergartenstr. 17, 69112 Heidelberg, Germany. In the United States: phone 1-800-SPRINGER, fax 201-348-4505, e-mail [email protected], or visit http://www.springer-ny.com. Outside the United States: fax +49 6221 345229, e-mail [email protected], or visit http://www.springer.de. For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail [email protected], or visit http://www.apress.com. The information in this book is distributed on an “as is” basis, without warranty. Although every precau- tion has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liabil- ity to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at http://www.apress.comin the Downloads section. For Lucinda,who put up with having an absentee husband for many months and without whose love and support Iwould not have been able to write this book. For my grandparents,Alice and Jim Turnbull, whose love and support is greatly missed. Contents at a Glance About the Author. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv About the Technical Reviewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi CHAPTER 1 Hardening the Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 CHAPTER 2 Firewalling Your Hosts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 CHAPTER 3 Securing Connections and Remote Administration. . . . . . . . . . . . . 137 CHAPTER 4 Securing Files and File Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 CHAPTER 5 Understanding Logging and Log Monitoring . . . . . . . . . . . . . . . . . . . 233 CHAPTER 6 Using Tools for Security Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 CHAPTER 7 Securing Your Mail Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 CHAPTER 8 Authenticating and Securing Your Mail . . . . . . . . . . . . . . . . . . . . . . . . 373 CHAPTER 9 Hardening Remote Access to E-mail. . . . . . . . . . . . . . . . . . . . . . . . . . . 403 CHAPTER 10 Securing an FTP Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 CHAPTER 11 Hardening DNS and BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 APPENDIX A The Bastion Host Firewall Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 APPENDIX B BIND Configuration Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 APPENDIX C Checkpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 INDEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 v Contents About the Author. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv About the Technical Reviewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi ■CHAPTER 1 Hardening the Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Installing Your Distribution Securely. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Some Answers to Common Installation Questions. . . . . . . . . . . . . . . . 2 Install Only What You Need. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Secure Booting,Boot Loaders,and Boot-Time Services . . . . . . . . . . . . . . . 4 Securing Your Boat Loader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Init,Starting Services,and Boot Sequencing . . . . . . . . . . . . . . . . . . . . 8 Consoles,Virtual Terminals,and Login Screens. . . . . . . . . . . . . . . . . . . . . . 15 Securing the Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 The Red Hat Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Securing Virtual Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Securing Login Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Users and Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Shadow Passwording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Adding Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Adding Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Deleting Unnecessary Users and Groups. . . . . . . . . . . . . . . . . . . . . . . 28 Passwords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Password Aging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 sudo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 User Accounting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Process Accounting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Pluggable Authentication Modules (PAM). . . . . . . . . . . . . . . . . . . . . . . . . . . 46 PAM Module Stacking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 The PAM “Other”Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Restricting su Using PAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 vii viii ■CONTENTS Setting Limits with PAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Restricting Users to Specific Login Times with PAM. . . . . . . . . . . . . 53 Package Management,File Integrity,and Updating . . . . . . . . . . . . . . . . . . 56 Ensuring File Integrity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Downloading Updates and Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Compilers and Development Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Removing the Compilers and Development Tools . . . . . . . . . . . . . . . 64 Restricting the Compilers and Development Tools. . . . . . . . . . . . . . . 65 Hardening and Securing Your Kernel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Getting Your Kernel Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 The Openwall Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Other Kernel-Hardening Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Keeping Informed About Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Security Sites and Mailing Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Vendor and Distribution Security Sites. . . . . . . . . . . . . . . . . . . . . . . . . 76 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Mailing Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 ■CHAPTER 2 Firewalling Your Hosts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 So,How Does a Linux Firewall Work?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Adding Your First Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Choosing Filtering Criteria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 The iptables Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Creating a Basic Firewall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Creating a Firewall for a Bastion Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Securing the Bastion Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Firewall Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Handling ICMP Traffic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Spoofing,Hijacking,and Denial of Service Attacks. . . . . . . . . . . . . 108 iptables and TCP Flags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Some Final Bastion Host Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Kernel Modules and Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Patch-o-Matic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Kernel Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Managing iptables and Your Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 iptables-save and iptables-restore. . . . . . . . . . . . . . . . . . . . . . . . . . . 130 ■CONTENTS ix iptables init Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Testing and Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Mailing Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Books. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 ■CHAPTER 3 Securing Connections and Remote Administration. . . . . . 137 Public-Key Encryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 SSL,TLS,and OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Stunnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 IPSec,VPNs,and Openswan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 inetd and xinetd-Based Connections. . . . . . . . . . . . . . . . . . . . . . . . . 167 Remote Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 ssh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 scp and sftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 ssh-agent and Agent Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 The sshd Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Configuring ssh and sshd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Port Forwarding with OpenSSH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Forwarding X with OpenSSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Mailing Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 ■CHAPTER 4 Securing Files and File Systems. . . . . . . . . . . . . . . . . . . . . . . . . . 187 Basic File Permissions and File Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . 188 Access Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Ownership. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Immutable Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Capabilities and lcap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Encrypting Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Securely Mounting File Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Securing Removable Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Creating an Encrypted File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Installing the Userland Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Enabling the Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Encrypting a Loop File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Unmounting Your Encrypted File System. . . . . . . . . . . . . . . . . . . . . . 214 Remounting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 x ■CONTENTS Maintaining File Integrity with Tripwire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Configuring Tripwire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Explaining Tripwire Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Network File System (NFS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Mailing Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Sites About ACLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 ■CHAPTER 5 Understanding Logging and Log Monitoring. . . . . . . . . . . . . 233 Syslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Configuring Syslog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Starting syslogd and Its Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 syslog-NG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Installing and Configuring syslog-NG. . . . . . . . . . . . . . . . . . . . . . . . . 241 The contrib Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Running and Configuring syslog-NG. . . . . . . . . . . . . . . . . . . . . . . . . . 242 Sample syslog-ng.conf File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Logging to a Database with syslog-NG . . . . . . . . . . . . . . . . . . . . . . . 256 Secure Logging with syslog-NG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Testing Logging with logger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Log Analysis and Correlation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Installing and Running SEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Inputting Messages to SEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Building Your SEC Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Log Management and Rotation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Mailing Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Books. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 ■CHAPTER 6 Using Tools for Security Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Inner Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Scanning for Exploits and Root Kits . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Testing Your Password Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Automated Security Hardening with Bastille Linux . . . . . . . . . . . . . 290 Outer Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 NMAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Nessus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 ■CONTENTS xi Other Methods of Detecting a Penetration . . . . . . . . . . . . . . . . . . . . . . . . . 313 Recovering from a Penetration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Additional Security Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 dsniff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Ethereal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Ettercap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 LIDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Netcat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 SARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Snort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 tcpdump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Titan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 ■CHAPTER 7 Securing Your Mail Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Which Mail Server to Choose? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 How Is Your Mail Server at Risk? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Protecting Your Mail Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Chrooting a Sendmail SMTP Gateway or Relay . . . . . . . . . . . . . . . . 324 Chrooting Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Securing Your SMTP Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Obfuscating the MTA Banner and Version. . . . . . . . . . . . . . . . . . . . . 333 Disabling Dangerous and Legacy SMTP Commands. . . . . . . . . . . . 336 Some Additional Sendmail Privacy Flags. . . . . . . . . . . . . . . . . . . . . . 339 Sendmail and smrsh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Writing to Files Safely. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Limiting the Risk of (Distributed) DoS Attacks . . . . . . . . . . . . . . . . . 341 Relaying,Spam,and Viruses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Relaying. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Antispam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Antivirus Scanning Your E-mail Server. . . . . . . . . . . . . . . . . . . . . . . . 364 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Mailing Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 ■CHAPTER 8 Authenticating and Securing Your Mail . . . . . . . . . . . . . . . . . . 373 TLS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Creating Certificates for TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 xii ■CONTENTS TLS with Sendmail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 TLS with Postfix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 SMTP AUTH Using Cyrus SASL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Compiling Cyrus SASL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Configuring SASL saslauthd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 SMTP AUTH Using Cyrus SASL for Sendmail . . . . . . . . . . . . . . . . . . . . . . . 389 Compiling Cyrus SASL into Sendmail. . . . . . . . . . . . . . . . . . . . . . . . . 390 Configuring Cyrus SASL for Sendmail . . . . . . . . . . . . . . . . . . . . . . . . 391 Using SMTP Server Authentication with Sendmail. . . . . . . . . . . . . . 392 Using SMTP Client Authentication with Sendmail . . . . . . . . . . . . . . 394 SMTP AUTH Using Cyrus SASL for Postfix. . . . . . . . . . . . . . . . . . . . . . . . . . 395 Compiling Cyrus SASL into Postfix. . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Configuring Cyrus SASL for Postfix. . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Using SMTP Server Authentication with Postfix. . . . . . . . . . . . . . . . 398 Using SMTP Client Authentication with Postfix. . . . . . . . . . . . . . . . . 400 Testing SMTP AUTH with Outlook Express . . . . . . . . . . . . . . . . . . . . . . . . . 400 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 Mailing Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 ■CHAPTER 9 Hardening Remote Access to E-mail . . . . . . . . . . . . . . . . . . . . . 403 IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Choosing IMAP or POP Servers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 How Is Your IMAP or POP Server at Risk?. . . . . . . . . . . . . . . . . . . . . . . . . . 406 Cyrus IMAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Installing and Compiling Cyrus IMAP . . . . . . . . . . . . . . . . . . . . . . . . . 409 Installing Cyrus IMAP into a chroot Jail. . . . . . . . . . . . . . . . . . . . . . . 411 Configuring Cyrus IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Cyrus IMAP Authentication with SASL . . . . . . . . . . . . . . . . . . . . . . . . 422 Cyrus IMAP Access Control and Authorization . . . . . . . . . . . . . . . . . 425 Testing Cyrus IMAP with imtest/pop3test . . . . . . . . . . . . . . . . . . . . . 428 Fetchmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 Installing Fetchmail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Configuring and Running Fetchmail. . . . . . . . . . . . . . . . . . . . . . . . . . 434 Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Mailing Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.