第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如何工作 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面临的安全问题及其解决思路 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防止拒绝服务攻击(Denial of 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服务器的防范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服务器&1 85
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的最新版本的Vsftpd 210
8.3.8 使用quota为ftpuser加入磁盘限额 211
8.3.9 配置Linux FTP服务器vsftpd以支持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默认配置 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服务器不兼容 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的网络管理工具来配置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中使用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服务器 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时指定数据存储的位置 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 安装软件包并且配置审计守护进程 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