标题：Linux服务器安全策略详解(第二版)
图书信息
作　者：曹江华 著 
出 版 社： 电子工业出版社
出版时间： 2009-6-1
页　数：792页
开　本： 16开
I S B N ： 9787121086809
定价：89.00元
内 容 简 介
“Linux就是服务器，或者换句话说，是服务器成就了Linux。”相信读者对于这样的判断肯定会有不同意见。这里不是以偏概全，只为强调Linux与服务器与生俱来的天然联系。实际上，对于Linux厂商而言，约90%以上的收入都来自服务器应用市场。Linux主要用于架设网络服务器。如今关于服务器和网站被黑客攻击的报告几乎每天都可以见到，而且随着网络应用的丰富多样，攻击的形式和方法也千变万化。如何增强Linux服务器的安全性是Linux系统管理员最关心的问题之一。
本书共28章和1个附录。概括而言，实质是五部分内容：第一部分分级介绍对Linux服务器的攻击情况，以及Linux网络基础；第二部分是本书的核心，针对不同的Linux服务器分别介绍各自的安全策略；第三部分介绍Linux服务器的安全工具；第四部分是Linux 下开源数据库安全以及Linux 下新闻组服务器构建、网络钓鱼的防范、Linux 无线网络构建及其安全策略、使用Linux安全审计以及使用Selinux 保护Linux 服务器的方法；第五部分是1个附录，介绍Linux服务器应急响应流程与步骤。
本书适合作为大专院校计算机专业师生的教材或教学参考书，也适合于Linux网络管理员和系统管理员，以及对安全方面感兴趣的读者。
前    言
Linux系统属于开放源代码软件，由于Linux系统具有稳定、安全、网络负载力强、占用硬件资源少等技术特点，自问世以来得到了迅速推广和应用，并已发展为当今世界的主流操作系统之一。目前对Linux感兴趣的用户主要集中在一些垂直行业当中。在国外，企图提升利润率的有零售、家电行业，包括石油、动画设计等在内的计算密集型应用企业，还有想通过Linux的成本控制来提高企业竞争优势的一些电信、政府和医疗行业。对于零售行业的POS终端和数据中心而言，Linux既可靠又便宜。石油行业则通常利用上千个结点的Linux集群来承担石油勘探中的大量运算工作。国内的企业应用同样也迅速普及。由于电子政务的“崛起”，政府行业已占据了Linux市场的大量份额。能源行业的Linux应用在国内市场份额上也名列前茅。金融、电信等传统大行业应用Linux的趋势已然显露。可以总结出Linux的擅长应用领域是：
1．单一应用的基础服务器，如DNS和DHCP服务器、Web服务器、防火墙、文件和互联网代理服务器。
2．界定清晰，与其他系统没有交叉的应用。
3．高性能计算及计算密集型应用，如风险分析、数据分析、数据建模等。
4．中小型数据库。
对于那些应用很单纯的企业，购买Linux软件的成本优势则十分明显。与Windows系列相比，Linux令人欣慰的一点是其出色的安全性，可以降低管理成本。这也是使很多公司转向Linux的一个非常重要的原因。在Windows服务器上，补丁让人应接不暇，耗费大量时间和精力。于是，人们选择了Linux。尽管Linux也会受病毒和黑客的侵扰，但是Linux内核毕竟是由众多具有黑客背景的程序员逐步完善而来的，相对安全一些。
目前，关于Linux方面的书虽然较多，但大多数都是介绍如何安装，以及如何使用像KDE和GNOME这类图形界面的，对Linux作为服务器应用的介绍相对较少，Linux真正的优势和发展方向是作为服务器操作系统。根据需要，Linux可安装成各种各样的服务器。
Linux是一个十分稳定的操作系统，目前用户已逾千万。但是，Linux服务器是否安全，这对Linux的用户来说是十分关心的问题。本书的目的，就是要说明Linux服务器通过加固配置后是安全的。
第2版说明
本书第1版在2007年7月出版后，得到广大读者的关注，同时也得到一些热心读者的宝贵意见和反馈。所以在第2版中做了一些内容的添加和删除。在第8章FTP服务器安全策略部分删除了现在Linux平台应用比较少的Wu-ftp和ProFTPD 两种服务器的内容。从21章开始是第2版添加的主要内容，首先使用三章的篇幅详细论述了两大开源数据库MySQL和PostgreSQL安全策略。然后以此介绍了Linux下新闻组服务器构建、网络钓鱼的防范、Linux无线网络构建及其安全策略、使用Linux安全审计以及使用Selinux保护Linux服务器的方法。附录部分笔者介绍了Linux服务器应急响应的流程与步骤。
限于本书的篇幅已经比较多了，关于虚拟化、集群、Web 2.0 等内容本书没有介绍，对此感兴趣的读者可以查看笔者的《Red Hat Enterprise Linux 5.0服务器构建与故障排除》。另外对于第1版的附录也做了较大的修改。删除了Linux命令的介绍，这么做的原因是考虑到目前已经有专门介绍Linux命令的相关图书，于是这里笔者节省了宝贵的篇，对此感兴趣的读者可以查看笔者的《Linux系统最佳实践工具:命令行技术》。
本书主要内容
简介本书共分28章和1个附录。第一部分分级介绍对Linux服务器的攻击情况，以及Linux网络基础。
第二部分是这本书的核心，针对不同的Linux服务器分别介绍各自的安全策略。该部分重点介绍了Linux下各种服务器的安全和管理，这些内容在Linux系统的学习中非常重要，涉及到Linux系统的高级应用，是专业人员必须掌握的内容。这部分内容主要包括DNS服务器、DHCP服务器、Samba服务器的配置、NFS服务器、Squid服务器、Web服务器、FTP服务器和电子邮件服务器等。
第三部分介绍Linux服务器的安全工具。这些工具并不是Linux所特有的，但有几个在Linux系统中较为常用。另外，还介绍了Linux备份和恢复技术。
第四部分使用三章的篇幅详细论述了两大开源数据库MySQL和PostgreSQL安全策略。然后依次介绍了Linux下新闻组服务器构建、网络钓鱼的防范、Linux无线网络构建及其安全策略、使用Linux安全审计以及使用Selinux保护Linux服务器的方法。
第五部分是附录A，介绍Linux服务器应急响应流程与步骤。
本书中各章描述了下列主题：
章    节    主要内容第1章  Linux网络基础安全威胁第1章重点介绍Linux网络基础和Linux的TCP/IP网络配置，然后解析对Linux服务器攻击和开源软件网络安全概述第2章  OpenSSL与Linux网络安全第2章重点介绍理解SSL和OpenSSL如何工作，理解服务器证书（CA）、安装和配置OpenSSL、理解服务器证书、数字证书在客户端的应用、OpenSSL面临安全问题及其解决思路第3章  PAM与Open LDAP第3章重点介绍PAM工作原理和理解PAM配置文件工作，然后介绍建立PAM应用程序，使用不同的PAM模块来增强安全性。安全应用PAM，动手制作Linux下基于PAM机制的USB Key。然后对Liunx目录服务器进行介绍，安装配置OpenLDAP服务器及OpenLDAP客户端。监控OpenLDAP服务器，安全管理OpenLDAP服务器第4章  Linux网络服务和xinetd第4章重点介绍Linux启动过程、Linux守护进程的概念和结构、xinetd以及Linux服务管理工具、如何安全选择Linux服务第5章  DNS服务器的安全策略第5章重点介绍DNS服务器工作原理、DNS服务器面临的安全问题和应对策略，以及如何建立一个完整的DNS系统，掌握DNS故障排除工具。动手加固DNS服务器和DNS服务器安全策略第6章  Web服务器的安全策略第6章重点介绍Web面临的主要威胁，并结合在Linux中使用最多的Apache服务器，介绍进行Web服务器安全配置的技巧第7章  电子邮件服务器的安全策略第7章重点介绍电子邮件系统组成以及相关协议和电子邮件服务器工作原理。阐述电子邮件服务器面临的安全隐患，安装安全sendmail服务器和postfix服务器第8章  FTP服务器的安全策略第8章重点介绍FTP工作原理以及FTP服务面临的安全隐患。然后介绍如何配置安全的Wuftpd服务器及ProFTPD服务器、Vsftpd服务器和安全应用客户端FTP软件第9章  Samba服务器的安全策略第9章重点介绍Samba工作原理，安装配置Samba服务器，配置Samba服务器共享文件以及打印机，其他配置Samba方法和用好Linux下的网络邻居。然后介绍Samba服务面临的安全隐患以及Samba文件服务器安全策略第10章  NFS服务器的安全策略第10章重点介绍NFS服务器工作原理和安装配置NFS服务器，应用NFS客户端。然后介绍NFS服务器面临的安全隐患以及NFS服务器的安全策略第11章  DHCP服务器的安全策略第11章重点介绍DHCP服务器工作原理和安装DHCP服务器、DHCP服务器的故障排除和DHCP服务器的安全策略第12章  Squid服务器的安全策略第12章重点介绍代理服务器工作原理以及安装安全squid代理服务器。然后阐述代理服务器面临的安全隐患和代理服务器Squid安全策略。全面监控代理服务器Squid运行，关注Squid代理服务器的日志和为Squid代理服务器串列HAVP第13章  SSH服务器的安全策略第13章重点介绍SSH服务器工作原理和安装SSH服务器。然后阐述SSH服务器面临的安全隐患，以及SSH服务器的安全策略和如何安全应用SSH客户端第14章  Linux防火墙第14章重点介绍防火墙工作原理和Linux防火墙iptables以及iptables防火墙的配置实例第15章  Linux网络环境下的VPN构建第15章重点介绍VPN概述和Linux下实现VPN技术软件概述。然后分别介绍构建基于CIPE技术的Linux VPN、构建基于PPTP技术的Linux VPN、构建基于SSH VNC技术的Linux VPN和构建基于IPsec技术的Linux VPN第16章  使用IDS保护Linux服务器第16章重点介绍IDS概念，然后介绍Linux下配置基于主机的IDS和Linux下配置基于网络的IDS、Snort的安装配置和建立分布式snort入侵检测系统第17章  Linux网络监控策略第17章重点介绍SNMP简介和MRTG监控过程。然后介绍安装配置NTOP监控Linux网络和NTOP的安全策略第18章  Linux常用安全工具第18章重点介绍使用SAINT执行安全审核、使用端口扫描软件nmap、使用网络数据采集分析工具TcpDump、使用Ethereal分析网络数据、使用EtherApe分析网络数据、使用GunPGP进行数据加密和其他安全工具简介第19章  防范嗅探器攻击和Linux病毒第19章重点介绍防范嗅探器攻击和Linux病毒的防范。第20章  Linux数据备份恢复技术第20章重点介绍Linux备份恢复基础以及Linux备份恢复策略，然后介绍Linux常用备份恢复工具和Linux备份恢复实例第21章  数据库简介第21章数据库简介Linux开源数据库安全现状。本章将重点数据库模型及其相关内容，然后介绍了Linux开源数据库安全现状第22章  MySQL数据库服务器安全第22章首先介绍MySQL数据库简介及MySQL数据库在Linux中的安装配置，然后重点介绍MySQL数据库安全隐患、最大漏洞以及应对措施第23章  PostgreSQL数据库服务器安全第23章首先介绍PostgreSQL数据库及其在Linux中的安装配置，然后重点介绍PostgreSQL数据库安全隐患、最大漏洞以及应对措施第24章  搭建Linux新闻组服务器第24章重点介绍Linux下两大新闻组服务器：inn和Dnews，以及一些新闻组客户端的应用第25章  在Linux网络环境下防范网络钓鱼第25章重点介绍网络钓鱼的产生以及钓鱼实施的过程，然后介绍如何防范网络钓鱼第26章  Linux无线网络构建及其安全策略第26章重点介绍无线网络标准、Linux无线网卡驱动安装、Linux无线网络构建，然后介绍Linux无线网络的安全策略第27章  Linux安全审计系统第27章重点介绍Linux 内核中的安全审计系统配置和使用方法第28章  使用SELinux 系统第28章首先介绍Selinux的历史和框架，然后重点介绍Selinux的使用方法附录A  Linux服务器应急响应流程与步骤附录A重点介绍Linux服务器遭到攻击时的应急响应流程与步骤，另外还介绍了计算机辨识学和Linux常用端口使用情况
本书特色
 各章目标。每章的开头都详细地列出了本章中要掌握的概念。
 插图和表格。本书中有很多Linux工具的插图和概念的表格，帮助您直观地、更好地理解Linux的工具和技术方面的概念。
 详细的附录。
 本书详细介绍了Linux下最主要服务器的安全策略，几乎涉及所有主流Linux擅长的领域，弥补了国内图书在Linux安全领域的空白。
 本书针对服务器领域使用最为广泛的红帽企业版，同时兼顾一些Linux发行版。
 相对第一版，第二版重点关注了开源数据库安全、Linux无线安全、Selinux配置、内核安全审计等其他国内图书甚少涉及的领域。
 相对第一版，第二版根据广大读者反馈的信息进行了合理的内容调整，修改的篇幅比较多，更加符合现在linux服务器安全领域的现状。
读者对象
 大专院校计算机专业师生。
  IT行业的相关人员。
  Linux应用爱好者。
  Linux网络管理员和系统管理员，以及Linux信息安全、网络安全、管理、维护的从业人员。
致谢
首先，感谢编写过程中领导、朋友和家人的支持及帮助，包括51CTO网站编辑杨文飞、刘兵、李棉等人。另外，电子工业出版社的李冰和江立编辑在我写书的过程中给了我无私的帮助和鞭策，为了使本书能尽快与读者见面，李冰多次邀请专家对此书提出有益意见，对于此书的修改和完善起到了重要作用。
由于作者水平有限，书中不足及错误之处在所难免，敬请专家和读者给予批评指正。
曹江华  
2009年3月
目   录
第1章  Linux网络基础与Linux服务器的安全威胁    1
1.1  Linux网络基础    1
1.1.1  Linux网络结构的特点    1
1.1.2  TCP/IP四层模型和OSI七层模型    2
1.1.3  TCP/IP提供的主要用户应用程序    4
1.1.4  端口号分配    5
1.2  Linux的TCP/IP网络配置    7
1.2.1  Linux的TCP/IP网络配置文件    7
1.2.2  网络配置工具    8
1.2.3  配置网络接口    9
1.3  分级解析对Linux服务器的攻击    16
1.3.1  攻击者使用什么操作系统    16
1.3.2  典型的攻击者有什么特征    16
1.3.3  攻击者典型的目标是什么    16
1.3.4  实施攻击的原因是什么    17
1.3.5  攻击级别    17
1.3.6  反击措施    20
1.4  开源软件网络安全概述    20
1.5  本章小结    22
第2章  OpenSSL与Linux网络安全    23
2.1  理解SSL和OpenSSL
2.1  如何工作    23
2.1.1  SSL功能    23
2.1.2  SSL协议简介    24
2.1.3  SSL工作流程    24
2.1.4  OpenSSL简介    26
2.1.5  OpenSSL的组成    27
2.2  理解服务器证书（CA）    27
2.2.1  X.509协议简介    27
2.2.2  金字塔结构的优缺点    28
2.2.3  相关名词解释    28
2.3  Linux下安装和配置OpenSSL    30
2.3.1  下载OpenSSL源代码    30
2.3.2  安装OpenSSL    30
2.3.3  产生CA凭证    31
2.3.4  CA产生次级凭证    32
2.3.5  OpenSSL应用    34
2.3.6  OpenSSL常用命令    37
2.4  数字证书在客户端的应用    39
2.5  OpenSSL面临的安全问题及
2.5  其解决思路    40
2.5.1  OpenSSL面临的安全问题    40
2.5.2  解决思路    41
2.6  本章小结    42
第3章  PAM与Open LDAP    43
3.1  PAM工作原理    43
3.1.1  什么是PAM    43
3.1.2  为什么使用PAM    44
3.1.3  PAM体系结构    44
3.1.4  PAM工作流程图    45
3.2  PAM配置文件    46
3.3  建立PAM应用程序    47
3.4  PAM常用认证模块及其应用    49
3.4.1  PAM常用认证模块    49
3.4.2  PAM模块应用实例    51
3.5  安全应用PAM    51
3.5.1  删除不再需要的PAM配置文件和模块    51
3.5.2  对PAM配置进行备份    51
3.5.3  设置资源限制    52
3.5.4  限制su命令    52
3.6  动手制作Linux下基于PAM机制的USB Key    52
3.6.1  什么是USB Key    52
3.6.2  建立pam_usb应用    53
3.7  Liunx目录服务器介绍    55
3.8  安装配置OpenLDAP服务器    56
3.8.1  安装OpenLDAP服务器    56
3.8.2  配置OpenLDAP 服务器    57
3.8.3  启动OpenLDAP服务器    59
3.9  配置OpenLDAP客户端    60
3.9.1  配置Linux OpenLDAP客户端    60
3.9.2  Outlook如何使用OpenLDAP    60
3.10  监控OpenLDAP服务器    61
3.10.1  使用uptime命令    61
3.10.2  使用cron命令定时监测系统负载    61
3.10.3  OpenLDAP进程的监控    62
3.10.4  端口的监控    62
3.11  安全管理OpenLDAP服务器    62
3.11.1  自动启动OpenLDAP服务器    62
3.11.2  使用访问控制（Access Control）实现用户认证    62
3.11.3  禁止整个服务器的匿名访问    63
3.11.4  配置OpenLDAP使用TLS通信    63
3.11.5  管理OpenLDAP服务器    64
3.11.6  OpenLDAP在Linux上集群的应用    66
3.12  本章小结    66
第4章  Linux网络服务和xinetd    67
4.1  Linux启动过程    67
4.1.1  Linux的启动过程详解    67
4.1.2  Linux运行级    71
4.1.3  /etc/inittab文件详解    72
4.1.4  init和/etc/inittab    74
4.2  守护进程    75
4.2.1  Linux守护进程的概念    75
4.2.2  Linux系统提供的服务及其守护进程列表    75
4.2.3  Linux守护进程的运行方式    79
4.3  xinetd    81
4.3.1  什么是xinetd    81
4.3.2  xinetd的特色    81
4.3.3  使用xinetd启动守护进程    82
4.3.4  解读/etc/xinetd.conf和/etc/xinetd.d/*    83
4.3.5  配置xinetd    84
4.3.6  xinetd防止拒绝服务攻击（Denialof Services）的原因    89
4.4  Linux服务管理工具    90
4.4.1  redhat-config-services    90
4.4.2  ntsysv    91
4.4.3  chkconfig    92
4.5  安全选择Linux服务    92
4.6  本章小结    92
第5章  DNS服务器的安全策略    93
5.1  DNS服务器的工作原理    93
5.2  域名服务的解析原理和过程    94
5.3  DNS服务器面临的安全问题    95
5.3.1  DNS欺骗    97
5.3.2  拒绝服务攻击    99
5.3.3  缓冲区漏洞攻击    99
5.3.4  分布式拒绝服务攻击    99
5.3.5  缓冲区溢出漏洞攻击    99
5.3.6  不安全的DNS动态更新    100
5.4  增强DNS安全性的方法    100
5.4.1  选择安全没有缺陷的DNS版本    100
5.4.2  保持DNS服务器配置正确、可靠    101
5.5  建立一个完整的DNS    102
5.5.1  DNS分类    102
5.5.2  安装BIND域名服务器软件    102
5.5.3  named配置文件族内容    102
5.5.4  配置惟高速存域名服务器    103
5.5.5  配置主域名服务器    103
5.5.6  配置辅助域名服务器    105
5.5.7  配置域名服务器客户端    106
5.6  DNS故障排除工具    107
5.6.1  dlint    107
5.6.2  DNS服务器的工作状态检查    108
5.7  全面加固DNS服务器    110
5.7.1  使用TSIG技术    110
5.7.2  使用DNSSEC技术    113
5.8  配置安全的DNS服务器    114
5.8.1  隔离DNS服务器    114
5.8.2  为BIND创建chroot    114
5.8.3  隐藏BIND的版本号    114
5.8.4  避免透露服务器的信息    115
5.8.5  关闭DNS服务器的gluefetching选项    115
5.8.6  控制区域（zone）传输    115
5.8.7  请求限制    115
5.8.8  其他强化措施    116
5.8.9  为DNS服务器配置DNS Flood Detector    117
5.8.10  建立完整的域名服务器    118
5.8.11  建立DNS日志    119
5.8.12  增强DNS服务器的防范
5.8.12  DoS/DDoS功能    120
5.8.13  使用分布式DNS负载均衡    121
5.8.14  防范DNS服务器网络    121
5.8.15  配置防火墙    121
5.9  本章小结    121
第6章  Web服务器的安全策略    122
6.1  Web服务器软件Apache简介    122
6.1.1  Apache的发展历史    122
6.1.2  市场情况    123
6.1.3  Apache的工作原理    124
6.1.4  Apache服务器的特点    125
6.2  Apache服务器面临的安全问题    126
6.2.1  HTTP拒绝服务    127
6.2.2  缓冲区溢出    127
6.2.3  攻击者获得root权限    128
6.3  配置一个安全的Apache服务器    128
6.3.1  勤打补丁    128
6.3.2  隐藏和伪装Apache的版本    128
6.3.3  建立一个安全的目录结构    129
6.3.4  为Apache使用专门的用户和用户组    129
6.3.5  Web目录的访问策略    130
6.3.6  Apache服务器访问控制方法    130
6.3.7  管理Apache服务器访问日志    131
6.3.8  Apache服务器的密码保护    139
6.3.9  减少CGI和SSI风险    142
6.3.10  让Apache服务器在“监牢”中运行    142
6.3.11  使用SSL加固Apache    145
6.3.12  Apache服务器防范DoS    150
6.3.13  利用LDAP对Apache进行认证    150
6.3.14  其他安全工具    151
6.4  本章小结    152
第7章  电子邮件服务器的安全策略    153
7.1  电子邮件系统的组成和相关协议    153
7.1.1  操作系统    154
7.1.2  邮件传输代理MTA    154
7.1.3  邮件分发代理MDA    156
7.1.4  邮件用户代理MUA    156
7.1.5  电子邮件服务器协议及其相关命令    157
7.2  电子邮件服务器的工作原理    163
7.2.1  电子邮件的工作流程    163
7.2.2  电子邮件的历史    163
7.2.3  电子邮件地址的组成    164
7.2.4  电子邮件系统和DNS的联系    165
7.3  电子邮件服务器面临的安全隐患    166
7.3.1  Linux病毒    166
7.3.2  网络攻击    166
7.3.3  垃圾邮件及其防范    166
7.4  安装安全的Sendmail服务器    170
7.4.1  安装Sendmail服务器    170
7.4.2  提高Sendmail的防垃圾邮件能力    171
7.4.3  其他保护Sendmail的安全措施    173
7.4.4  配置基于Sendmail的Webmail    174
7.4.5  增强Webmail邮件服务器的安全    179
7.4.6  监控Sendmail的日志文件    180
7.5  安装安全的Postfix服务器    181
7.5.1  安装Postfix服务器    181
7.5.2  保护Postfix服务器    185
7.5.3  自动监控Postfix邮件服务器    186
7.6  本章小结    189
第8章  FTP服务器的安全策略    190
8.1  FTP的工作原理    190
8.1.1  FTP简介    190
8.1.2  FTP的功能    191
8.1.3  FTP服务器登录方式的分类    191
8.1.4  FTP的工作原理    191
8.1.5  FTP的典型消息和子命令    193
8.1.6  Linux服务器端的主要FTP软件    196
8.2  FTP服务器面临的安全隐患    197
8.2.1  缓冲区溢出攻击    197
8.2.2  数据嗅探    198
8.2.3  匿名访问缺陷    198
8.2.4  访问漏洞    198
8.3  配置安全的Vsftpd服务器    198
8.3.1  快速构建Vsftpd服务器    198
8.3.2  Vsftpd配置文件    200
8.3.3  Vsftpd的设置选项    200
8.3.4  通过Web浏览器管理Vsftpd服务器    207
8.3.5  分析Vsftpd服务器的日志文件    209
8.3.6  使用BlockHosts对抗暴力破解    210
8.3.7  在RHEL 4.0下安装支持SSL的
8.3.7  最新版本的Vsftpd    210
8.3.8  使用quota为ftpuser加入磁盘限额    211
8.3.9  配置Linux FTP服务器vsftpd
8.3.9  以支持IPv6    211
8.4  安全使用客户端工具    212
8.4.1  命令行模式    212
8.4.2  图形界面模式（gFTP）    212
8.4.3  使用Windows FTP客户端    217
8.5  本章小结    219
第9章  Samba服务器的安全策略    220
9.1  Samba简介    220
9.1.1  什么是Samba    220
9.1.2  Samba的历史起源    221
9.1.3  SMB协议    221
9.1.4  为什么使用Samba    222
9.1.5  Samba软件包的功能    222
9.2  安装配置Samba服务器    223
9.2.1  安装Samba服务器    223
9.2.2  Samba配置文件    224
9.2.3  设置Samba密码文件    228
9.2.4  启动Samba服务器    229
9.2.5  测试Samba配置文件    229
9.2.6  在Windows环境测试RHEL 4.0
9.2.6  默认配置    229
9.3  配置Samba服务器共享文件及打印机    231
9.3.1  配置文件共享    231
9.3.2  配置共享打印机    232
9.3.3  在Linux环境下应用Samba服务    234
9.4  其他配置Samba的方法和用好Linux下的网络邻居    235
9.4.1  图形化配置工具system-config-samba    235
9.4.2  使用SWAT管理工具管理Samba    237
9.4.3  其他工具    239
9.4.4  用好Linux下的网络邻居    240
9.5  Samba服务器面临的安全隐患    243
9.5.1  非法访问数据    243
9.5.2  计算机病毒    243
9.5.3  Samba文件服务器的安全级别    243
9.6  提升Samba服务器的安全性    245
9.6.1  不要使用明语密码    245
9.6.2  尽量不使用共享级别安全    245
9.6.3  尽量不要浏览器服务访问    245
9.6.4  通过网络接口控制Samba访问    245
9.6.5  通过主机名称和IP地址列表控制Samba访问    245
9.6.6  使用pam_smb对Windows NT/2000服务器的用户进行验证    246
9.6.7  为Samba配置防范病毒软件    247
9.6.8  使用Iptables防火墙保护Samba    248
9.6.9  使用Gsambad管理监控Samba服务器    248
9.6.10  使用SSL加固Samba    250
9.7  本章小结    251
第10章  NFS服务器的安全策略    252
10.1  NFS服务器的工作原理    252
10.1.1  NFS简介    252
10.1.2  为何使用NFS    253
10.1.3  NFS协议    253
10.1.4  什么是RPC（RemoteProcedure Call）    254
10.2  安装配置NFS服务器    256
10.2.1  NFS网络文件的系统结构    257
10.2.2  配置/etc/exports文件    257
10.2.3  激活服务portmap和nfsd    258
10.2.4  exportfs命令    258
10.2.5  检验目录/var/lib/nfs/xtab    259
10.2.6  showmount    259
10.2.7  观察激活的端口号    259
10.2.8  NFS服务器的启动和停止    260
10.3  NFS的图形化配置    260
10.3.1  NFS服务器配置窗口    260
10.3.2  添加NFS共享    261
10.3.3  常规选项    261
10.3.4  用户访问    262
10.3.5  编辑NFS共享    262
10.4  NFS的客户端配置    263
10.4.1  使用mount命令    263
10.4.2  扫描可以使用的NFS Server目录    264
10.4.3  卸载NFS网络文件系统    264
10.4.4  应用实例    265
10.4.5  其他挂载NFS文件系统的方法    265
10.5  NFS服务器面临的安全隐患    266
10.6  提升NFS服务器的安全性    266
10.6.1  使用tcp_wrappers    266
10.6.2  注意配置文件语法错误    267
10.6.3  使用Iptables防火墙    267
10.6.4  把开放目录限制为只读权限    267
10.6.5  禁止对某些目录的访问    268
10.6.6  root Squashing访问问题    268
10.6.7  使用nosuid和noexec选项    268
10.6.8  保护portmap的安全性    269
10.6.9  保留ACL    269
10.7  本章小结    270
第11章  DHCP服务器的安全策略    271
11.1  DHCP服务器的工作原理    271
11.1.1  DHCP简介    271
11.1.2  为什么使用DHCP    272
11.1.3  DHCP的工作流程    272
11.1.4  DHCP的设计目标    273
11.2  安装DHCP服务器    273
11.2.1  DHCP配置文件    273
11.2.2  配置实例    275
11.2.3  启动DHCP服务器    276
11.2.4  设置DHCP客户端    278
11.3  DHCP服务器的故障排除    280
11.3.1  客户端无法获取IP地址    280
11.3.2  DHCP客户端程序和DHCP
11.3.2  服务器不兼容    280
11.4  提升DHCP服务器的安全性    281
11.4.1  管理监控DHCP服务器    281
11.4.2  让DHCP服务器在监牢中运行    283
11.4.3  提供备份的DHCP设置    285
11.5  本章小结    286
第12章  Squid服务器的安全策略    287
12.1  代理服务器的工作原理    287
12.1.1  各种代理服务器的比较    287
12.1.2  Squid工作原理和流程图    288
12.1.3  代理服务器的优点    289
12.1.4  代理服务器的分类及特点    290
12.2  配置安全的Squid代理服务器    291
12.2.1  Squid的启动    291
12.2.2  Squid的配置文件    292
12.2.3  Squid的命令参数    293
12.3  代理服务器面临的安全隐患    295
12.3.1  客户端非法访问不良网站    295
12.3.2  计算机病毒    295
12.4  提升Squid代理服务器的安全性    296
12.4.1  控制对客户端访问    296
12.4.2  管理代理服务器端口    297
12.4.3  使用用户认证    298
12.5  全面监控Squid代理服务器的运行    299
12.6  关注Squid代理服务器的日志    304
12.6.1  Squid日志格式    304
12.6.2  分析access.log日志文件    304
12.6.3  使用Linux命令    305
12.6.4  使用专业软件分析    305
12.7  为Squid代理服务器串联HAVP    309
12.8  本章小结    311
第13章  SSH服务器的安全策略    312
13.1  SSH服务器的工作原理    312
13.1.1  传统远程登录的安全隐患    312
13.1.2  SSH能保护什么    313
13.1.3  SSH服务器和客户端工作流程    313
13.2  安装配置OpenSSH服务器    314
13.2.1  安装与启动OpenSSH    314
13.2.2  配置文件    315
13.3  SSH服务器面临的安全隐患    318
13.3.1  软件漏洞    318
13.3.2  口令暴力破解    318
13.3.3  SSH所不能防范的网络攻击    318
13.3.4  OpenSSH中可能安放有特洛伊木马    319
13.4  提升SSH服务器的安全性    319
13.4.1  升级旧版本    319
13.4.2  使用xinetd模式运行OpenSSH    319
13.4.3  使用BlockHosts对抗暴力破解    320
13.4.4  使用TCP会绕程序    320
13.4.5  管理SSH监听端口    322
13.4.6  关闭Telnet服务    322
13.4.7  禁止root用户登录SSH服务器    323
13.4.8  启用防火墙保护OpenSSH服务器    323
13.4.9  使用Protocol 2    323
13.4.10  不使用r系列命令    323
13.4.11  修改配置文件    323
13.5  如何安全应用SSH客户端    325
13.5.1  安全应用Linux下的SSH客户端    325
13.5.2  生成密钥对    329
13.5.3  命令测试    331
13.5.4  使用Windows SSH客户端登录OpenSSH服务器    333
13.6  本章小结    338
第14章  Linux防火墙    339
14.1  防火墙简介    339
14.1.1  什么是防火墙    339
14.1.2  防火墙的功能    339
14.1.3  防火墙技术分类    340
14.2  Linux防火墙    342
14.2.1  Linux防火墙的历史    342
14.2.2  Netfilter/Iptables系统是如何工作的    343
14.2.3  Iptables的基础    345
14.2.4  建立规则和链    351
14.3  Iptables配置实战    355
14.3.1  初试化配置方案    356
14.3.2  Web服务器设置    356
14.3.3  DNS服务器设置    356
14.3.4  邮件服务器Sendmail设置    356
14.3.5  不回应ICMP封包    356
14.3.6  防止IP Spoofing    357
14.3.7  防止网络扫描    357
14.3.8  允许管理员以SSH方式连接到防火墙修改设定    357
14.3.9  快速构架Linux个人防火墙    357
14.4  升级Iptables控制BT    362
14.4.1  P2P应用现状    362
14.4.2  下载软件    362
14.4.3  安装    363
14.4.4  测试    363
14.4.5  使用    364
14.5  本章小结    364
第15章  Linux网络环境下的VPN构建    366
15.1  VPN概述    366
15.1.1  VPN定义    366
15.1.2  VPN的功能    367
15.1.3  VPN的分类    367
15.1.4  VPN的隧道协议    369
15.2  Linux下的主要VPN技术    370
15.2.1  IPSec（Internet Protocol Security）    370
15.2.2  PPP OVER SSH    370
15.2.3  CIPE（Crypto IP Encapsulation）    371
15.2.4  PPTP    371
15.3  构建基于CIPE技术的Linux VPN    371
15.3.1  CIPE概述    371
15.3.2  使用Red Hat Linux 的网络管理
15.3.2  工具来配置CIPE VPN    372
15.3.3  通过配置文件配置CIPE VPN    376
15.4  构建基于PPTP技术的Linux VPN    380
15.4.1  PPTP以及Poptop简介    380
15.4.2  PPP简介    381
15.4.3  在Linux2.4内核下安装配置PPTP服务器    381
15.4.4  在Linux2.6内核下安装配置PPTP服务器    386
15.4.5  Linux下PPTP客户端连接VPN服务器    387
15.5  构建基于SSH VNC技术的Linux VPN    390
15.5.1  VNC技术概述    390
15.5.2  使用NHC＋SSH建立Linux和Windows的安全隧道    391
15.5.3  使用SSHTools实现Linux下远程VPN办公    393
15.5.4  VNC服务器维护技巧    398
15.6  构建基于IPSec技术的Linux VPN    400
15.6.1  IPSec及IKE简介    400
15.6.2  在RHEL 4.0配置IPSec    401
15.7  本章小结    404
第16章  使用IDS保护Linux服务器    405
16.1  什么是IDS    405
16.1.1  IDS定义    405
16.1.2  IDS的工作流程    405
16.1.3  IDS部署的位置    406
16.1.4  IDS的功能    407
16.1.5  IDS（入侵检测系统）模型    407
16.1.6  IDS分类    408
16.2  Linux下配置基于主机的IDS    408
16.2.1  RPM包管理器作为一种IDS    408
16.2.2  其他基于主机的IDS    410
16.2.3  安装配置Tripwire    410
16.3  Linux下配置基于网络的IDS    412
16.3.1  什么是基于网络的IDS    412
16.3.2  Snort简介    413
16.4  Snort的安装配置    414
16.4.1  配置IDS的网络拓扑结构    415
16.4.2  安装Snort    416
16.4.3  建立Snort数据库    416
16.4.4  安装配置ACID    416
16.4.5  配置Apache服务器用户认证    417
16.4.6  建立Snort规则    417
16.4.7  启动Apache和MySQL服务进程    418
16.4.8  为Snort创建专用的用户和组来启动Snort    418
16.4.9  使用Web浏览器监控Snort    419
16.5  建立分布式Snort入侵检测系统    419
16.5.1  安装SnortCenter3    419
16.5.2  修改配置文件    420
16.5.3  snortcenter-agent下载配置步骤    420
16.5.4  完成配置    420
16.6  本章小结    422
第17章  Linux网络监控策略    423
17.1  安装配置MRTG监控Linux网络    423
17.1.1  SNMP简介和MRTG监控过程    423
17.1.2  Linux下MRTG的安装与配置    424
17.1.3  建立MRTG监控中心    426
17.1.4  MRTG软件的不足和RRDTool的对比    426
17.2  安装配置NTOP监控Linux网络    427
17.2.1  P2P对于网络流量提出挑战    427
17.2.2  NTOP的安装    430
17.2.3  软件使用方法    432
17.3  NTOP的安全策略    438
17.3.1  经常查看NTOP的进程和日志    439
17.3.2  进行Web访问认证    439
17.3.3  加密连接NTOP    440
17.3.4  NTOP使用技巧和总结    441
17.4  本章小结    443
第18章  Linux常用安全工具    444
18.1  使用SAINT执行安全审核    444
18.1.1  什么是SAINT    444
18.1.2  工作模式    445
18.1.3  安装SAINT    445
18.1.4  SAINT设置    446
18.1.5  启动SAINT    447
18.2  使用端口扫描软件Nmap    451
18.2.1  Nmap简介    451
18.2.2  使用Nmap    452
18.2.3  nmap命令实例    452
18.2.4  Nmap图形前端    454
18.2.5  Nmap使用注意事项    455
18.3  使用网络数据采集分析工具Tcpdump    455
18.3.1  Tcpdump简介    455
18.3.2  Tcpdump的安装    456
18.3.3  Tcpdump的命令行选项    456
18.3.4  Tcpdump的过滤表达式    457
18.3.5  Tcpdump过滤数据包实例    458
18.3.6  Tcpdump的输出结果    458
18.4  使用Ethereal分析网络数据    460
18.4.1  Ethereal简介    460
18.4.2  安装Ethereal    460
18.4.3  使用Ethereal    461
18.5  使用EtherApe分析网络流量    465
18.5.1  EtherApe简介    465
18.5.2  EtherApe软件下载安装    465
18.5.3  EtherApe软件使用方法    466
18.6  使用GnuPGP进行数据加密    468
18.6.1  GnuPGP简介    468
18.6.2  GnuPGP安装    468
18.6.3  生成密钥    468
18.6.4  查看密钥    469
18.6.5  公钥的使用    469
18.6.6  GnuPGP应用实例（软件包签名验证）    470
18.6.7  GnuPGP应用实例（在Mutt中
18.6.7  使用GnuPG）    470
18.7  其他安全工具简介    470
18.7.1  密码分析工具John the ripper    471
18.7.2  系统管理工具sudo    471
18.7.3  开放源代码风险评估工具Nessus    471
18.7.4  网络瑞士军刀Netcat    471
18.7.5  网络探测工具Hping2    471
18.7.6  列出打开的文件命令工具LSOF    471
18.7.7  强大的无线嗅探器Kismet    471
18.7.8  802.11 WEP密码破解工具AirSnort    472
18.7.9  安全管理员的辅助工具SARA    472
18.7.10  高级的traceroute工具Firewalk    472
18.7.11  主动操作系统指纹识别工具XProbe2    472
18.8  本章小结    472
第19章  防范嗅探器攻击和Linux病毒    473
19.1  防范嗅探器攻击    473
19.1.1  嗅探器攻击原理    473
19.1.2  嗅探器的检测技术    475
19.1.3  嗅探器的安全防范    475
19.2  Linux病毒的防范    477
19.2.1  Linux病毒的历史    477
19.2.2  Linux平台下的病毒分类    478
19.2.3  Linux病毒的防治    479
19.2.4  Linux防病毒软件    480
19.2.5  安装配置f-prot反病毒软件    480
19.3  本章小结    490
第20章  Linux数据备份恢复技术    491
20.1  Linux备份恢复基础    491
20.1.1  什么是备份    491
20.1.2  备份的重要性    492
20.2  Linux备份恢复策略    492
20.2.1  备份前需考虑的因素    492
20.2.2  备份介质的选择    492
20.2.3  Linux备份策略    494
20.2.4  确定要备份的内容    495
20.2.5  Linux常用备份恢复命令    497
20.3  Linux常用备份恢复工具    502
20.3.1  Xtar    503
20.3.2  Kdat    503
20.3.3  Taper    504
20.3.4  Arkeia    505
20.3.5  Ghost for Linux    506
20.3.6  mkCDrec    507
20.3.7  NeroLINUX    508
20.3.8  K3b    509
20.3.9  KOnCD    510
20.3.10  CD Creator    510
20.3.11  X-CD-Roast    511
20.3.12  webCDcreator    512
20.3.13  rsync    513
20.3.14  mirrordir    514
20.3.15  partimage    514
20.3.16  dvdrecord    515
20.3.17  DVD+RW-Tools    515
20.4  Linux备份恢复实例    516
20.4.1  用mirrordir做硬盘分区镜像    516
20.4.2  使用partimage备份恢复Linux分区    518
20.4.3  Linux异构网络中共享光盘刻录    527
20.5  本章小结    541
第21章  数据库简介Linux开源数据库安全现状    542
21.1  数据库简介    542
21.1.1  数据库和DBMS简介    542
21.1.2  数据管理技术的产生和发展    544
21.2  SQL简介    546
21.2.1  SQL语言具有四个特点：    546
21.2.2  SQL语法的分类    546
21.2.3  SQL语言的功能    547
21.2.4  SQL语言的种类及结构    547
21.2.5  SQL语言的执行类型    548
21.3  Linux下数据库安全现状    549
21.4  本章小结    553
第22章  MySQL数据库服务器安全    554
22.1  MySQL简介    554
22.1.1  MySQL的历史和现状    554
22.1.2  MySQL的技术特点    555
22.2  MySQL服务器的安装与配置    556
22.2.1  安装测试MySQL服务器    556
22.2.2  管理MySQL服务器    558
22.2.3  MySQL服务器的用户管理    564
22.2.4  MySQL服务器日志管理    565
22.3  使用GUI工具管理MySQL
22.3  服务器    568
22.3.1  使用MySQL Control Center    568
22.3.2  使用phpMyAdmin    570
22.4  MySQL服务器数据备份、恢复    576
22.4.1  使用MySQL相关命令进行简单的本地备份    576
22.4.2  使用网络备份    578
22.4.3  实时恢复MySQL数据方法    580
22.4.4  使用phpMyBackupPro备份恢复MySQL数据库    582
22.5  全面了解MySQL安全漏洞    586
22.5.1  安全漏洞相关术语    586
22.5.2  主要MySQL安全漏洞    588
22.6  MySQL的SQL注入    602
22.6.1  SQL注入简介    602
22.6.2  MySQL中的SQL注入    603
22.7  MySQL的安全配置    608
22.7.1  操作系统的安全    608
22.7.2  MySQL用户安全配置    609
22.7.3  MySQL有些加固配置    611
22.7.4  MySQL的安全例行审计    612
22.7.5  了解MySQL安全信息    614
22.7.6  用GreenSQL为MySQL服务器建立防火墙    615
第23章  PostgreSQL数据库服务器安全    619
23.1  PostgreSQL简介    619
23.1.1  什么是PostgreSQL    619
23.1.2  PostgreSQL的历史简介    620
23.1.3  PostgreSQL体系基本概念    621
23.2  安装使用PostgreSQL    622
23.2.1  安装    622
23.2.2  为数据库管理员postgres设置密码    624
23.2.3  测试PostgreSQL    624
23.2.4  数据库状态管理    625
23.2.5  PostgreSQL数据库用户管理    625
23.2.6  PostgreSQL数据库的管理与维护    626
23.2.7  PostgreSQL数据库的备份和恢复    627
23.2.8  使用psql访问PostgreSQL    628
23.2.9  启动PostgreSQL时指定数据
23.2.8  存储的位置    630
23.3  关注PostgreSQL安全问题    630
23.4  掌握PostgreSQL访问认证设置    634
23.4.1  访问认证基础    634
23.4.2  配置实例    639
23.4.3  TCP/IP安全连接    640
23.4.4  安全认证总结    640
23.5  保护PostgreSQL数据库的安全性指导方针    640
23.5.1  使pg_hba.conf文件中各条目尽量受到限制    640
23.5.2  启用SSL并且使用客户机证书    641
23.5.3  尽量运行单用户系统    641
23.5.4  关注数据库补丁并保持更新    642
23.5.5  其他方面    644
第24章  搭建Linux新闻组服务器    645
24.1  新闻组简介    645
24.1.1  什么是新闻组服务    645
24.1.2  新闻组应用流程    646
24.1.3  服务器端有四种存储方法    648
24.2  搭建INN新闻组服务器    648
24.2.1  INN安装软件配置    648
24.2.2  新闻组的管理命令：    655
24.3  使用Dnews搭建Linux新闻组服务器    656
24.3.1  安装DNEWS    656
24.3.2  监控管理新闻组服务器    657
24.4  Linux网络环境使用新闻组客户端    660
24.4.1  Linux新闻组客户端应用软件特点    660
24.4.2  应用实例    660
24.4.3  Linux新闻组资源和使用注意事项    665
24.5  本章小结    667
第25章  在Linux网络环境下防范网络钓鱼    668
25.1  网络钓鱼简介    668
25.1.1  什么是网络钓鱼及其发展    668
25.1.2  网络钓鱼的最新发展    669
25.2  Linux用户对网络钓鱼的防范    671
25.2.1  电子邮件防范网络钓鱼的设置    671
25.2.2  增强火狐（Firefox）的安全性防范钓鱼攻击    673
25.3  其他方面    676
25.3.1  个人的责任    676
25.3.2  企业领导和网络管理员的责任    677
25.4  本章小结    678
第26章  Linux无线网络构建及其安全策略    679
26.1  Linux无线网络简介    679
26.1.1  Linux无线网络驱动模型    679
26.1.2  主要Linux驱动程序    680
26.1.3  802.11 标准    681
26.1.4  WPA : Wi-Fi保护访问    682
26.1.5  Linux无线工具wireless_tools    683
26.2  Linux无线网络组建    687
26.2.1  迅驰无线网卡笔记本Linux驱动安装    687
26.2.2  Atheros AR5007EG无线网卡笔记本Linux驱动安装    688
26.2.3  USB接口无线网卡台式机Linux无线驱动安装    689
26.2.4  使用wpa_supplicant    692
26.3  Linux无线网络高级应用    692
26.3.1  把Linux无线计算机配置一个AP    692
26.3.2  蓝牙技术以及在Linux计算机中应用    697
26.4  Linux 无线网络安全策略    705
26.4.1  对Linux无线网络安全的主要威胁    705
26.4.2  Linux无线工具    706
26.4.3  Linux无线网络安全策略    711
26.5  本章总结    714
第27章  Linux安全审计系统    716
27.1  安装软件包并且配置审计
27.1  守护进程    716
27.1.1  安装软件包    716
27.1.2  了解Audit配置文件    717
27.2  启动auditd守护进程    724
27.3  分析auditd记录    725
27.4  使用ausearch命令使用搜索记录    727
27.5  使用autrace用审计跟踪进程    728
27.6  SUSE Linux服务器下的audit简介    729
27.6.1  日志文件    729
27.6.2  auditd发送程序配置    730
27.6.3  auditd磁盘空间配置    730
27.7  本章小结    731
第28章  使用SELinux 系统    732
28.1  SeLinux简介    732
28.1.1  SELinux起源    732
28.1.2  SELinux构架    733
28.1.3  为什么使用SELinux    736
28.1.4  SELinux决策进程    738
28.1.5  SELinux相关的文件    738
28.2  SELinux使用实战    740
28.2.1  启动SELinux    740
28.2.2  SELinux布尔值和上下文配置    742
28.2.3  SELinux的日志文件    750
28.3  SELinux典型应用案例总结    753
28.3.1  RHEL5.0中，如何去掉/var/log/audit/audit.log文件中的虚假审计信息    753
28.3.2  使用mount命令时如何指定SELinux上下文    753
28.3.3  在RHEL4.0上怎么只禁用SELinux对Apache的保护    753
28.3.4  如何打开SELinux的enforcing和permissive模式    754
28.3.5  在RHEL 5.0下如何设置让SELinux阻止一个守护进程监听和默认端口不同的端口    755
28.3.6  如何查看文件或者目录的安全上下文属性    755
28.3.7  如何重新应用SELinux的安全标签到指定的文件或目录    755
28.3.8  系统登录或是su的时候，会有消息“choose a different context”    756
28.3.9  在RHEL 4.0上转换SELinux的状态方法    756
28.3.10  SELinux下Apache使用SSL加密配置，当服务启动的时候，为什么服务器没有要求密码短语而是直接启动失败了    757
28.3.11  如果重新应用SELinux的安全标签到指定的文件或目录    757
28.4  SELinux小结    758
附录A  Linux服务器应急响应流程与步骤    759