前言\r\n\r\n第一部分 Linux安全基础\r\n\r\n第1章 Linux概述\r\n\r\n1.1 什么是Linux\r\n1.1.1 Linux是自由的\r\n1.1.2 Linux非常类似于Unix\r\n1.1.3 Linux来自哪里\r\n1.1.4 为什么Linux不适合所有人\r\n1.2 Linux作为独立的系统使用\r\n1.3 Linux作为Intranet/Internet服务器\r\n1.4 Linux安全概述\r\n1.4.1 用户账号\r\n1.4.2 自主访问控制\r\n1.4.3 网络访问控制\r\n1.4.4 加密\r\n1.4.5 内置日志、审计和网络监视功能\r\n1.4.6 入侵检测\r\n1.5 小结\r\n\r\n第2章 物理安全\r\n\r\n2.1 服务器的位置和物理访问\r\n2.1.1 网络运行中心\r\n2.1.2 公共计算实验室\r\n2.1.3 计算机使用策略\r\n2.2 网络拓扑结构\r\n2.2.1 网络拓扑结构分类\r\n2.2.2 拓扑结构安全小结\r\n2.3 网络硬件\r\n2.3.1 常规的网络硬件安全措施\r\n2.3.2 网络硬件小结\r\n2.4 工作站和安全\r\n2.4.1 BIOS和控制台口令\r\n2.4.2 生物统计学访问控制\r\n2.4.3 调制解调器安全\r\n2.4.4 防盗设备\r\n2.4.5 惟一数字、标价和其他技术\r\n2.5 小结\r\n\r\n第3章 安装问题\r\n\r\n3.1 关于不同Linux版本、安全性及安装方法\r\n3.1.1 不同Linux版本不尽相同\r\n3.2 分区和安全\r\n3.2.1 分区究竟是什么\r\n3.2.2 把Linux集中安装在单一分区\r\n3.2.3 多分区的其他优点\r\n3.2.4 分区大小\r\n3.2.5 创建交换分区和根分区\r\n3.2.6 创建扩展分区\r\n3.2.7 在扩展分区中创建逻辑分区\r\n3.2.8 其他分区工具\r\n3.2.9 分区和安全小结\r\n3.3 安装时选择网络服务\r\n3.3.1 提高系统安全5分钟\r\n3.3.2 chkconfig\r\n3.4 引导加载程序\r\n3.4.1 /etc/lilo.conf:LILO配置文件\r\n3.4.2 引导装载程序小结\r\n3.5 小结\r\n\r\n第4章 基本Linux系统管理\r\n\r\n4.1 基本概念\r\n4.1.1 你自己的账号\r\n4.2 创建和管理账号\r\n4.2.1 账号策略\r\n4.2.2 账号结构\r\n4.2.3 添加用户\r\n4.2.4 使用自己的工具添加用户\r\n4.2.5 删除用户\r\n4.3 使用su执行管理任务\r\n4.3.1 su——替代用户\r\n4.4 访问控制\r\n4.5 访问权限和所有权\r\n4.5.1 chmod:更改文件访问权限\r\n4.6 进一步了解组\r\n4.6.1 创建组\r\n4.6.2 chown:设置用户所有者和组访问权限\r\n4.6.3 删除组\r\n4.7 关闭系统\r\n4.7.1 shutdown:关闭Linux系统\r\n4.8 小结\r\n\r\n第二部分 Linux用户安全\r\n\r\n第5章 口令攻击\r\n\r\n5.1 什么是口令攻击\r\n5.2 Linux如何生成和保存口令\r\n5.2.1 口令回顾\r\n5.3 数据加密标准\r\n5.3.1 字典攻击\r\n5.4 案例研究:通过字典攻击来破解Linux口令\r\n5.4.1 字典攻击:历史透视\r\n5.5 口令隐藏和隐藏套件\r\n5.5.1 /etc/shadow:口令shadow数据库\r\n5.5.2 创建和删除用户和组的背后\r\n5.5.3 针对隐藏系统的可能的攻击\r\n5.6 安装完shadow套件之后\r\n5.6.1 口令选择及系统安全\r\n5.7 其他口令安全问题\r\n5.7.1 口令增殖和安全\r\n5.8 嵌入式认证模块\r\n5.9 其他口令安全解决方案\r\n5.9.1 关于网络信息服务和口令安全\r\n5.10 小结\r\n\r\n第6章 数据攻击\r\n\r\n6.1 什么时候需要考虑数据安全\r\n6.1.1 现实的攻击\r\n6.2 数据安全的类型\r\n6.2.1 私钥系统\r\n6.2.2 公共密钥系统\r\n6.3 通用加密算法\r\n6.4 mcrypt:安装和使用\r\n6.4.1 使用mcrypt\r\n6.5 GnuPG:安装和使用公共密钥加密工具\r\n6.5.1 生成密钥对\r\n6.5.2 使用密钥链\r\n6.5.3 加密和解密文档\r\n6.5.4 为GnuPG添加GUI\r\n6.6 隐藏术——另类加密\r\n6.6.1 安装和使用JPHIDE/JPSEEK\r\n6.7 其他资源\r\n6.8 小结\r\n\r\n第三部分 Linux网络安全\r\n\r\n第7章 恶意代码\r\n\r\n7.1 什么是恶意代码\r\n7.1.1 什么是特洛伊\r\n7.1.2 病毒\r\n7.2 检测恶意代码\r\n7.2.1 Tripwire\r\n7.2.2 Tripwire的获得\r\n7.2.3 安装Tripwire\r\n7.2.4 配置和运行Tripwire\r\n7.2.5 使用Tripwire检查文件完整性\r\n7.2.6 Tripwire小结\r\n7.3 其他文件完整性检查软件\r\n7.3.1 TAMU\r\n7.3.2 Aide\r\n7.3.3 ATP(反篡改程序)\r\n7.3.4 Distributed L6\r\n7.3.5 Hobgoblin\r\n7.3.6 sXid\r\n7.3.7 trojan.pl\r\n7.3.8 其他资源\r\n7.4 小结\r\n\r\n第8章 嗅探器和电子窃听\r\n\r\n8.1 嗅探器工作原理\r\n8.2 案例分析:执行几个简单的嗅探器攻击\r\n8.2.1 linsniffer\r\n8.2.2 linux_sniffer\r\n8.2.3 hunt\r\n8.2.4 sniffit\r\n8.3 其他嗅探器和网络监听工具\r\n8.4 嗅探器引起的风险\r\n8.5 嗅探器攻击的防范\r\n8.5.1 ifconfig\r\n8.5.2 NEPED:Ethernet网络混乱模式检测器\r\n8.5.3 其他更通用的嗅探器防范工具\r\n8.6 更多资料\r\n8.7 小结\r\n\r\n第9章 扫描器\r\n\r\n9.1 扫描器简介\r\n9.1.1 剖析系统扫描器\r\n9.1.2 剖析网络扫描器\r\n9.2 扫描器构件和扫描器发展\r\n9.2.1 SATAN\r\n9.3 将扫描器融入安全体系\r\n9.4 各种扫描工具\r\n9.4.1 SAINT\r\n9.4.2 Nessus\r\n9.4.3 nmap——网络映射器\r\n9.4.4 CGI扫描器v1.0\r\n9.4.5 扫描器是否合法\r\n9.5 防范扫描器攻击\r\n9.5.1 courtney(SATAN和SAINT检测器)\r\n9.5.2 IcmpInfo(ICMP扫描/炸弹探测器)\r\n5.5.3 scan-detector(通用UDP扫描检测器)\r\n9.5.4 klaxon\r\n9.5.5 Psionic PortSentry\r\n9.6 相关资源\r\n9.7 小结\r\n\r\n第10章 电子欺骗\r\n\r\n10.1 电子欺骗的真正含义\r\n10.2 TCP和IP欺骗\r\n10.3 案例分析:一个简单的欺骗攻击\r\n10.3.1 攻击实例\r\n10.3.2 TCP和IP欺骗工具\r\n10.3.3 容易遭受IP欺骗的服务\r\n10.4 阻止IP欺骗攻击\r\n10.5 ARP欺骗\r\n10.5.1 阻止ARP欺骗攻击\r\n10.6 DNS欺骗\r\n10.7 其他古怪的欺骗攻击\r\n10.8 Couic\r\n10.9 进一步的阅读\r\n10.10 小结\r\n\r\n第四部分 Linux Internet安全\r\n\r\n第11章 FTP安全\r\n\r\n11.1 文件传输协议\r\n11.1.1 FTP安全历史\r\n11.2 FTP默认的安全功能\r\n11.2.1 /etc/ftpusers:受限制的用户访问文件\r\n11.2.2 /etc/ftpcess:ftpd配置文件\r\n11.3 SSH文件传输\r\n11.3.1 scp\r\n11.3.2 sftp\r\n11.3.3 替代方案:SSLftp和sftp\r\n11.4 特定的FTP应用程序的安全\r\n11.4.1 ncftp\r\n11.4.2 filerunner\r\n11.4.3 ftpwatch\r\n11.4.4 wu-ftpd\r\n11.5 小结\r\n\r\n第12章 邮件安全\r\n\r\n12.1 SMTP服务器和客户端\r\n12.1.1 一个简单的SMTP客户程序\r\n12.2 sendmail安全基础\r\n12.2.1 sendmail服务保护\r\n12.2.2 其他sendmail资源\r\n12.3 用Qmail替代sendmail\r\n12.3.1 Qmail的安装\r\n12.3.2 其他Qmail资源\r\n12.4 小结\r\n\r\n第13章 Telnet和SSH安全\r\n\r\n13.1 Telnet的安全历史\r\n13.2 安全telnet系统\r\n13.3 deslogin\r\n13.3.1 安装deslogin软件包\r\n13.3.2 STEL(安全Telnet)\r\n13.4 德克萨斯农业与机械大学开发的SRA Telnet\r\n13.5 斯坦福SRP Telnet/FTP软件包\r\n13.5.1 重要文档\r\n13.6 Secure Shell\r\n13.6.1 ssh核心工具\r\n13.6.2 快速安装ssh软件包\r\n13.6.3 ssh服务器配置\r\n13.6.4 sshd启动命令行选项\r\n13.6.5 启动sshd\r\n13.6.6 使用ssh客户程序\r\n13.7 scp:安全拷贝远程文件拷贝程序\r\n13.8 为多操作系统网络提供ssh服务\r\n13.8.1 PuTTY\r\n13.8.2 Tera Term\r\n13.8.3 Macintosh下的ssh支持\r\n13.8.4 运行中的ssh实例\r\n13.9 ssh安全问题\r\n13.10 更多资料\r\n13.11 小结\r\n\r\n第14章 Web服务器安全\r\n\r\n14.1 删除不必要的服务\r\n14.1.1 文件传输协议(FTP)\r\n14.1.2 finger\r\n14.1.3 网络文件系统(NFS)\r\n14.1.4 其他RPC服务\r\n14.1.5 rwalld(rwall服务器)\r\n14.1.6 R服务\r\n14.1.7 其他服务\r\n14.1.8 对运行服务实施访问控制\r\n14.2 Web服务器安全\r\n14.2.1 httpd\r\n14.2.2 控制外部访问:httpd.conf\r\n14.2.3 影响安全的配置选项\r\n14.2.4 ExecCGI选项:允许CGI程序运行\r\n14.2.5 FollowSymLinks选项:允许用户跟随符号链接浏览\r\n14.2.6 Includes选项:激活服务器端嵌入(SSI)\r\n14.2.7 Indexes选项:激活目录索引\r\n14.3 使用基本的HTTP认证添加目录访问控制\r\n14.3.1 htpasswd\r\n14.4 基本HTTP认证的弱点\r\n14.5 HTTP和加密认证\r\n14.5.1 添加MD5摘要认证\r\n14.6 运行chroot Web环境\r\n14.7 WebDAV\r\n14.7.1 安装和配置WebDAV\r\n14.7.2 在Mac OS X下使用WebDAV\r\n14.7.3 在Windows下使用WebDAV\r\n14.8 授权和认证\r\n14.8.1 PricewaterhouseCoopers,Resource Protection Services(USA)\r\n14.8.2 美国合格公共会计师协会(AICPA)\r\n14.8.3 国际计算机安全协会(ICSA,其前身为NCSA)\r\n14.8.4 Troy Systems\r\n14.9 小结\r\n\r\n第15章 安全Web协议\r\n\r\n15.1 问题\r\n15.2 Netscape Communications公司开发的安全套接字层(SSL)\r\n15.2.1 SSL的安全历史\r\n15.3 安装mod_ssl\r\n15.3.1 解压、编译和安装OpenSSL\r\n15.3.2 解压、编译和安装mod_ssl\r\n15.3.3 测试服务器\r\nIS.3.4 关于证书和证书管理机构\r\n15.3.5 Apache-SSL小结\r\n15.3.6 SSL的进一步阅读资料\r\n15.4 小结\r\n\r\n第16章 安全Web开发\r\n\r\n16.1 开发风险因素概论\r\n16.2 生成Shell\r\n16.2.1 使用system()执行Shell命令\r\n16.2.2 C和C++中的popen()\r\n16.2.3 Perl中的open()\r\n16.2.4 eval(Perl和shell)\r\n16.2.5 Perl中的exec()\r\n16.3 缓冲溢出(Buffer Overrun)\r\n16.3.1 关于通常的用户输入\r\n16.4 路径、目录和文件\r\n16.4.1 chdir()\r\n16.4.2 文件\r\n16.5 嵌入式编程语言\r\n16.5.1 安装PHP\r\n16.5.2 其他嵌入式语言\r\n16.6 自动化CGI测试工具\r\n16.6.1 其他值得关注的安全编程和测试工具\r\n16.7 其他在线资源\r\n16.8 小结\r\n\r\n第17章 文件共享安全\r\n\r\n17.1 Linux作为文件服务器\r\n17.2 Samba\r\n17.2.1 全局安全指令\r\n17.2.2 共享级别指令\r\n17.2.3 SWAT\r\n17.2.4 其他资源\r\n17.3 Netatalk\r\n17.3.1 基本Netatalk配置\r\n17.3.2 更多信息\r\n17.4 NFS安全\r\n17.4.1 exports\r\n17.4.2 其他参考资料\r\n17.5 虚拟专用网\r\n17.5.1 IPSEC\r\n17.6 小结\r\n\r\n第18章 拒绝服务攻击\r\n\r\n18.1 什么是拒绝服务攻击\r\n18.2 拒绝服务攻击带来的危险\r\n18.2.1 分布式拒绝服务攻击(DDoS)\r\n18.3 本章的组织结构\r\n18.4 网络硬件DoS攻击\r\n18.5 针对Linux网络的攻击\r\n18.5.1 knfsd攻击\r\n18.5.2 ICMP分段攻击\r\n18.5.3 sesquipedalian.c\r\n18.5.4 inetd和NMAP\r\n18.5.5 lpd伪造打印请求\r\n18.5.6 mimeflood.pl\r\n18.5.7 portmap(以及其他RPC服务)\r\n18.5.8 Unix Socket垃圾收集DoS\r\n18.5.9 time和daytime DoS\r\n18.5.10 teardrop.c\r\n18.5.11 identd打开的套接字泛洪\r\n18.5.12 Lynx/chargen浏览器攻击\r\n18.5.13 nestea.c\r\n18.5.14 pong.c和ICMP泛洪\r\n18.5.15 Ping of Death\r\n18.5.16 octopus.c\r\n18.6 针对Linux应用程序的攻击\r\n18.6.1 Netscape Communicator内容类型(1)\r\n18.6.2 Netscape Communicator内容类型(2)\r\n18.6.3 passwd资源枯竭\r\n18.6.4 xdm\r\n18.6.5 wtmp锁\r\n18.7 其他DoS攻击\r\n18.8 防范拒绝服务攻击\r\n18.9 在线资源\r\n18.10 小结\r\n\r\n第19章 Linux和防火墙\r\n\r\n19.1 什么是防火墙\r\n19.1.1 网络级防火墙:数据包过滤器\r\n19.1.2 应用程序-代理防火墙/应用程序网关\r\n19.2 评估是否真正需要防火墙\r\n19.3 Internet网关/防火墙\r\n19.4 tcpd:TCP Wrappers\r\n19.4.1 TCP Wrappers和网络访问控制\r\n19.4.2 TCP Wrappers小结\r\n19.5 ipfwadm\r\n19.5.1 ipfwadm基础\r\n19.5.2 配置ifwadm\r\n19.6 ipchains\r\n19.6.1 ipchains的安全历史\r\n19.7 iptables\r\n19.8 Linux下的免费防火墙工具和附件\r\n19.9 商业防火墙\r\n19.9.1 CSM Proxy/企业版\r\n19.9.2 GNAT Box Firewall\r\n19.9.3 NetScreen\r\n19.9.4 Sun Cobalt Adaptive Firewall\r\n19.9.5 PIX Firewal\r\n19.10 其他资源\r\n19.11 小结\r\n\r\n第20章 入侵检测\r\n\r\n20.1 什么是入侵检测\r\n20.2 入侵检测基本概念\r\n20.3 一些值得关注的入侵检测工具\r\n20.3.1 chkwtmp\r\n20.3.2 tcplogd\r\n20.3.3 Snort\r\n20.3.4 HostSentry\r\n20.3.5 Shadow\r\n20.3.6 MOM\r\n20.3.7 蜂鸟系统\r\n20.3.8 AAFID\r\n20.4 实用入侵检测\r\n20.4.1 PortSentry\r\n20.4.2 安装并配置PortSentry\r\n20.4.3 自动启动\r\n20.4.4 入侵检测文档\r\n20.5 小结\r\n\r\n第21章 日志和审计跟踪\r\n\r\n21.1 日志究竟是什么\r\n21.2 Linux日志\r\n21.2.1 lastlog\r\n21.2.2 last\r\n21.2.3 xferlog\r\n21.2.4 httpd日志\r\n21.2.5 Samba\r\n21.2.6 系统和内核消息\r\n21.2.7 /Var/log/messages:记录系统和内核消息\r\n21.2.8 从自己的程序写入syslog\r\n21.2.9 备份和处理日志\r\n21.3 其他值得关注的日志和审计工具\r\n21.3.1 SWATCH(系统监视器)\r\n21.3.2 SNORT\r\n21.3.3 Watcher\r\n21.3.4 NOCOL/NetConsole v4.0\r\n21.3.5 PingLogger\r\n21.3.6 LogSurfer\r\n21.3.7 Netlog\r\n21.3.8 Analog\r\n21.4 小结\r\n\r\n第22章 灾难恢复\r\n\r\n22.1 什么是灾难恢复\r\n22.1.1 为什么需要灾难恢复计划\r\n22.2 在建立Linux网络前应采取的步骤\r\n22.2.1 硬件标准化\r\n22.2.2 软件标准化:基本配置\r\n22.3 选择备份工具\r\n22.4 简单归档:tar、Zip文件和目录\r\n22.4.1 创建tar档案文件\r\n22.4.2 使用gzip压缩tar档案文件\r\n22.4.3 kArchiver\r\n22.4.4 cpio:另一个文件档案工具\r\n22.4.5 创建“热”档案站点\r\n22.5 备份类型和备份策略\r\n22.6 备份软件包\r\n22.6.1 KDat\r\n22.6.2 KBackup(由Karsten开发)\r\n22.6.3 Enhanced Software Technologies的BRU\r\n22.6.4 AMANDA(高级马里兰自动网络磁盘归档器)\r\n22.7 其他\r\n22.8 小结\r\n\r\n第五部分 附录\r\n\r\n附录A Linux安全命令参考\r\n附录B Linux安全索引——已往的Linux安全问题\r\n附录C 其他有用的Linux安全工具\r\n附录D 更多的信息来源\r\n附录E 术语表