目录 2
译者序 2
前言 2
致谢 2
第一部分 构建Linux网络 2
第1章 示例网络简介 2
1.1 示例网络介绍 2
1.1.1 与因特网的直接连接(DCI) 3
1.1.2 与因特网连接的DMZ网络(DMZI) 3
1.2 服务器的功能 5
1.2.1 DCI配置简介 7
1.2.2 DMZI配置简介 8
1.3 向两个示例网中添加子网 8
1.4 本章小结 9
第2章 配置Red Hat Linux的网络连接 11
2.1 因特网协议 11
2.1.1 联网和OSI网络模型 12
2.1.2 传输层协议 13
2.2 网络层协议(IP路由) 13
2.4 Red Hat Linux系统的网络布局 14
2.4.1 重要的网络配置文件 14
2.3 物理链路协议(以太网帧) 14
2.4.2 重要的应用程序和脚本 17
2.4.3 arp/rarp 17
2.4.4 ifconfig 18
2.4.5 netstat 18
2.4.6 nmap 19
2.4.7 ping 19
2.4.8 redhat-config-network-druid/redhat-config-network-cmd 19
2.4.9 route 19
2.4.11 tcpdump 21
2.4.12 modprobe 21
2.4.10 sysctl 21
2.5 配置一个或多个NIC 22
2.5.1 示例1:配置单个NIC 22
2.5.2 示例2:配置双网卡(机内双网卡) 25
2.5.3 示例3:配置Red Hat Linux路由器 27
2.6 本章小结 30
第3章 通过DSL连接因特网 31
3.1 DSL技术简介 31
3.2 DSL术语 35
3.2.1 通用术语 35
3.2.2 DSL服务的类型 38
3.3.1 获取DSL因特网连接 39
3.3.2 物理连接DSL调制解调器 39
3.3 创建DSL因特网连接 39
3.3.3 配置DSL提供商的设备 40
3.4 基本故障诊断提示 46
3.5 本章小结 48
第4章 构建防火墙 49
4.1 防火墙简介 49
4.1.1 封包过滤防火墙 50
4.1.2 代理防火墙 50
4.1.3 混合式防火墙 51
4.1.4 理解IP NAT或伪装 51
4.1.5 封包在因特网中的流动 52
4.1.6 全状态IP封包过滤器(Netfilter/iptables)简介 53
4.2 构建防火墙 57
4.2.1 用简单的规则集保护网络 58
4.2.2 使用自定义的链整固防火墙 63
4.3 通过安全外壳(Secure Shell)允许外部连接 68
4.3.1 配置SSH服务器 70
4.3.2 修改防火墙服务器(atlas)使之允许SSH 71
4.4 防火墙的管理 72
4.5 本章小结 73
第5章 基本故障诊断技术概述 75
5.1 用查错树来诊断故障 75
5.2 诊断Linux联网故障 76
5.2.2 网络接线是否有问题 77
5.2.1 电源是否接通 77
5.2.4 网络适配器是否配置正确 78
5.2.3 网络交换机或集线器是否配置正确 78
5.3 诊断DSL的故障 83
5.3.1 检查DSL调制解调器/路由器配置 83
5.3.2 检查DSL提供商的配置 84
5.3.3 检查ISP配置 85
5.4 防火墙/网关的故障诊断 85
5.4.1 检查Red Hat Linux的联网配置 85
5.4.2 检查网关路由和IP转发 86
5.4.3 检查防火墙脚本 87
5.4.5 使用网络嗅探工具 88
5.4.4 检查内核模块和标志 88
5.5 使用附加的信息 89
5.6 本章小结 90
第二部分 搭建万维网Web服务器 92
第6章 配置基本的Apache服务器 92
6.1 HTML和HTTP协议简介 92
6.1.1 HTTP协议 92
6.1.2 HTML标准(HTML不是协议) 93
6.2 探索Apache Web服务器 97
6.2.1 Apache的配置指令 97
6.2.2 Apache的配置文件 98
6.3 创建基本的Web站点 104
6.3.1 安装Apache Web服务器 105
6.3.2 配置Apache Web服务器 105
6.3.3 控制Apache Web服务器 109
6.3.4 访问Apache Web服务器 110
6.3.5 用.htaccess和.htpasswd控制对Web服务器的访问 110
6.4 开发虚拟Web站点 111
6.5 在Apache中应用SSL 113
6.5.1 安装mod ssl软件包 113
6.5.2 SSL协商和证书 113
6.5.3 证书授权 114
6.5.4 设置Apache让HTTPS使用SSL 114
6.6 制作CA签名证书 115
6.7 故障诊断 117
6.7.1 检查Linux系统日志 117
6.7.2 检查Apache日志 118
6.7.3 本地连接 118
6.7.4 检查Apache配置 118
6.7.5 使用简化的httpd.conf文件 119
6.7.6 逐步添加新的指令 119
6.8 本章小结 119
第7章 将数据库连接到Web服务器 120
7.1 SQL简介 120
7.2 安装和配置MySQL 121
7.3.1 创建数据库 123
7.3 访问SQL服务器 123
7.3.2 应用MySQL数据库 125
7.4 使用脚本与SQL服务器交互 126
7.4.1 显示MySQL数据库数据 126
7.4.2 在MySQL数据库中插入数据 130
7.4.3 修改MySQL数据库数据 132
7.4.4 使用CGI脚本通过Web浏览器访问SQL数据库 134
7.5 保护MySQL数据库 140
7.6 本章小结 141
第8章 创建简单的音频流式服务器 142
8.1 流式技术简介 142
8.2 Xiph.org基金会简介 143
8.3 使用Icecast V1提供MP3流式服务 144
8.3.1 安装和配置Icecast 144
8.3.2 安装和配置Ices 146
8.3.3 提供MP3流式服务 147
8.4 用Icecast 2提供Ogg Vorbis流式服务 148
8.4.1 在本地将Ogg Vorbis转化为流 148
8.4.2 在因特网上将Ogg Vorbis转化为流 152
8.4.3 Icecast2和Ices2配置文件概述 153
8.5 故障诊断 162
8.6 本章小结 163
9.1.1 域 165
9.1 域名服务器(DNS)简介 165
第三部分 提供基本因特网服务 165
第9章 构建域名服务器 165
9.1.2 区域 166
9.1.3 权威域名服务器 166
9.1.4 理解客户域名解析过程 167
9.1.5 示例的域名服务请求过程 168
9.2 理解资源记录 170
9.2.1 使用Start Of Authority(SOA)资源记录 170
9.2.2 定义azone资源记录 172
9.2.3 约束(bind)配置语句和参数简介 172
9.3 配置基本DNS服务器 174
9.2.4 /var/named/配置文件简介 174
9.3.1 配置主域名服务器 175
9.3.2 配置辅域名服务器 179
9.4 添加安全措施 180
9.4.1 使用ACL 180
9.4.2 使用转移签名 181
9.4.3 在chroot环境中执行named 182
9.4.4 启动与停止域名服务器 183
9.5 创建多个区域文件 183
9.6 配置分离域DNS服务器 186
9.6.1 配置分离域专用域名服务器 187
9.6.2 配置分离域DMZ域名服务器 188
9.7 故障诊断 189
9.7.1 named-checkzone 190
9.7.2 named-checkconf 190
9.7.3 dig 190
9.7.4 host 190
9.7.5 tcpdump 191
9.8 本章小结 191
第10章 创建SMTP电子邮件服务器 192
10.1 小邮件程序理论 192
10.2 理解邮件队列 193
10.3 理解配置参数 193
10.1.2 性能 193
10.1.3 充分利用该软件 193
10.1.1 兼容性 193
10.3.1 参数信息和句法 194
10.3.2 值 194
10.3.3 文件 194
10.3.4 数据库和表 194
10.4 处理垃圾电子邮件 195
10.5 考察main.cf文件中的重要参数 195
10.6.4 设置规范文件 203
10.6.3 设置虚拟文件 203
10.6.1 设置master.cf 203
10.6 设置重要文件 203
10.6.2 设置别名文件 203
10.6.5 设置访问文件 204
10.7 使用命令处理数据库文件 204
10.8 解电子邮件服务器的术语 204
10.8.1 邮件用户工具 205
10.8.2 消息存储 205
10.8.3 邮件传输工具 205
10.8.4 消息头部 205
10.8.5 信封 205
10.9.1 示例1:发送邮件 206
10.9 示例配置 206
10.9.2 示例2:接收多个域的电子邮件 207
10.9.3 示例3:Postfix风格的虚拟域 207
10.9.4 从虚拟地址向虚拟地址转发 208
10.9.5 示例4:确认电子邮件的DNS设置 209
10.9.6 示例5:将所有邮件导向到集中的邮件中心 216
10.9.7 示例6:作为邮件中心 216
10.9.8 示例7:减少讨厌的电子邮件 217
10.9.9 清除垃圾邮件的基本知识 218
10.10 本章小结 219
11.1 FTP协议简介 220
第11章 配置FTP 220
11.2 Washington University FTP(WU-FTP)简介 221
11.2.1 安装WU-FTP 222
11.2.2 WU-FTP/xinetd配置文件简介 223
11.2.3 ftpaccess配置文件简介 224
11.2.4 ftpconversions文件简介 228
11.3 配置Real模式的FTP服务器 228
11.4 配置Guest账户 229
11.5 配置匿名账户 230
11.5.1 配置匿名登录 230
11.5.2 配置匿名上传 231
11.6.1 进行一般目的的检查 233
11.6 诊断WU-FTP服务器的故障 233
11.6.2 诊断Guest FTP登录 235
11.6.3 诊断Anonymous FTP登录 236
11.7 本章小结 237
第12章 配置Samba 238
12.1 Samba简介 238
12.1.1 考察smb.conf的句法 239
12.1.2 考察smb.conf的参数 240
12.1.3 考察smb.conf的结构 240
12.2 通过示例学习Samba 241
12.2.1 配置Samba使之使用加密的密码 242
12.2.3 访问单个用户的主目录 244
12.2.2 创建Samba共享资源 244
12.2.4 Linux和Samba权限简介 245
12.2.5 向两个或多个用户导出服务 249
12.2.6 使用Samba的宏功能 250
12.2.7 使用Linux和Samba添加网络打印机 252
12.3 SWAT简介 255
12.4 故障诊断 256
12.5 本章小结 256
第四部分 管理Linux服务器 259
第13章 网络备份的自动化 259
13.1 AMANDA简介 259
13.2.1 AMANDA服务器和客户简介 260
13.2 理解AMANDA 260
13.2.2 网络服务简介 261
13.2.3 配置文件简介 262
13.2.4 AMANDA实用工具简介 263
13.3 使用AMANDA 264
13.3.1 建立最小的备份系统 265
13.3.2 建立简单的备份系统 267
13.3.3 备份的自动化 271
13.4 故障诊断 271
13.5 本章小结 272
14.1 查找单一故障点 274
第14章 增加Linux服务器的可靠性 274
14.2 使用Ext3日记文件系统 275
14.3 使用RAID增加可靠性 277
14.3.1 软件RAID简介 277
14.3.2 实现软RAID 279
14.4 创建高可用性的Linux集群 282
14.4.1 理解HA的原理 282
14.4.2 考察HA的故障切换模式 282
14.4.3 创建简单的HA Linux集群 283
14.4.4 测试Heartbeat 285
14.5 本章小结 287
15.1 了解对安全性的威胁 289
15.2 仅补丁还不够 289
第五部分 提高安全性 289
第15章 基本的服务器安全性简介 289
15.3 鉴别攻击者 291
15.4 对攻击的思考 292
15.5 考虑一种防护 294
15.6 本章小结 299
第16章 安全系统管理简介 300
16.1 系统管理员与安全员 300
16.2 自动更新、打补丁与警告 300
16.3 产品与开发环境 302
16.4 自动更新、警告和RedHat解决方案 304
16.5 最小化、标准化及简单化 305
16.5.1 掌握最小化 305
16.5.2 三个基本优点 307
16.6 监视与保护远程管理 308
16.7 中心管理系统 309
16.8 状态监视 310
16.9 本章小结 311
第17章 加固系统 312
17.1 理解系统加固 312
17.1.2 停止或删除不必要的程序 313
17.1.1 手工加固系统 313
17.1.3 Linux启动过程概述 315
17.1.4 返回网络监控程序审核 320
17.1.5 用Bastille Linux自动加固系统 331
17.1.6 账号安全模块 331
17.1.7 引导安全模块 332
17.1.8 配置各种PAM设置模块 332
17.1.9 停用各种监控程序模块 332
17.1.14 安全的inetd/xinetd模块 333
17.1.13 打印模块 333
17.1.12 日志记录模块 333
17.1.10 禁用用户工具模块 333
17.1.11 文件权限模块 333
17.1.15 临时目录保护模块 334
17.1.16 Apache模块 334
17.1.17 BIND(DNS)模块 334
17.1.18 FTP模块 334
17.1.19 sendmail电子邮件模块 335
17.1.20 防火墙模块 335
17.1.21 端口扫描攻击检测器(PSAD)模块 335
17.2 本章小结 335
18.1 检验网络与基于主机的入侵检测的对比 336
第18章 简单的入侵检测系统介绍 336
18.2 定义责任范围 337
18.2.1 责任 337
18.2.2 责任等于权力 338
18.3 复习有用的网络概念 339
18.3.1 封包 339
18.3.2 IP地址 340
18.3.3 端口 342
18.3.4 探测与威胁 347
18.4.2 进口/出口过滤 349
18.4.3 DMZ 349
18.4 设计一种防护网络配置 349
18.4.1 路由器过滤与防火墙 349
18.4.4 堡垒主机 350
18.4.5 专用服务器 350
18.5 设计ID策略 350
18.6 设置规则 351
18.6.1 入侵检测器不检测入侵 351
18.6.2 阳性规范——不好的事情 351
18.7 示例NIDS——Snort 352
18.7.1 描述与历史(当前版本:1.8.6) 352
18.6.4 启发式异常检测 352
18.6.3 阴性规范——不太好的事情 352
18.7.2 Snort功能概述(选择的命令行选项) 353
18.8 本章小结 355
第19章 日志监视与事件响应 356
19.1 阅读系统日志 356
19.2 日志记录 357
19.2.1 应用程序日志的记录 357
19.2.2 系统日志记录 358
19.2.3 混合日志记录 359
19.2.4 syslog 360
19.3 执行选择器动作 360
19.3.1 选择符域、工具和优先级 360
19.3.2 目标 362
19.4 使用日志 363
19.4.1 直接检验 363
19.4.2 日志分析工具 363
19.4.3 egrep——快速而不整洁 364
19.4.4 报告生成 365
19.4.5 日志监视工具 369
19.5 管理事件响应 370
19.5.1 遇事惊慌不如未雨绸缪 370
19.5.2 事先考虑意味着策略 370
19.6 本章小结 371
附录A www.wiley.com上的内容 372
附录B 配置拨号因特网连接 374
附录C 服务器的配置自动化 381
C.1 执行Kickstart安装过程 381
C.2 创建Kickstart配置文件 382
C.3 创建Kickstart引导软盘 383
C.4 执行Kickstart安装 384
C.5 创建自定义的RPM 384
C.5.1 RPM软件包布局简介 384
C.5.2 建立示例RPM软件包 385
附录D 使用DHCP 388
D.1 安装dhcpd 388
D.2 配置Red Hat Linux工作站使之使用DHCP 388
D.3 将Windows配置为DHCP客户 389