第一篇 安全运维理论及背景准备 3
第1章 知彼:企业信息安全现状剖析 3
1.1信息安全问题概览 4
1.1.1黑客入侵 5
1.1.2病毒发展趋势 6
1.1.3内部威胁 6
1.1.4自然灾害 6
1.2各经济大国安全问题概要 7
1.3企业面临的主要信息安全威胁 12
1.3.1扫描 12
1.3.2特洛伊木马 12
1.3.3拒绝服务攻击和分布式拒绝服务攻击 14
1.3.4病毒 18
1.3.5 IP欺骗 21
1.3.6 ARP欺骗 21
1.3.7网络钓鱼 22
1.3.8僵尸网络 24
1.3.9跨站脚本攻击 25
1.3.10缓冲区溢出攻击 26
1.3.11 SQL注入攻击 26
1.3.13“社会工程学”攻击 28
1.3.14中间人攻击 29
1.3.15 密码攻击 29
1.4认识黑客 29
1.5剖析黑客的攻击手段 30
1.5.1确定攻击目标 31
1.5.2踩点和信息搜集 31
1.5.3获得权限 32
1.5.4权限提升 33
1.5.5攻击实施 33
1.5.6留取后门程序 33
1.5.7掩盖入侵痕迹 33
第2章 知己:企业信息安全技术概览 35
2.1物理层防护:物理隔离 36
2.2系统层防护:安全操作系统和数据库安全 38
2.2.1选用安全操作系统 38
2.2.2操作系统密码设定 40
2.2.3数据库安全技术 41
2.3网络层防护:防火墙 43
2.3.1防火墙简介 43
2.3.2防火墙的分类 45
2.3.3传统防火墙技术 46
2.3.4新一代防火墙的技术特点 47
2.3.5防火墙技术的发展趋势 49
2.3.6防火墙的配置方式 50
2.3.7防火墙的实际安全部署建议 51
2.4应用层防护:IDS/IPS 52
2.4.1入侵检测系统简介 52
2.4.2入侵检测技术的发展 53
2.4.3入侵检测技术的分类 55
2.4.4入侵检测系统的分类 56
2.4.5入侵防御系统(IPS) 58
2.4.6 IPS的发展 59
2.4.7 IPS的技术特征 59
2.4.8 IPS的功能特点 60
2.4.9 IPS的产品种类 62
2.5网关级防护:UTM 63
2.6 Web应用综合防护:WAF 64
2.7数据防护:数据加密及备份 66
2.7.1加密技术的基本概念 66
2.7.2加密系统的分类 66
2.7.3常用的加密算法 68
2.7.4加密算法的主要应用场景 69
2.7.5数据备份及恢复技术 70
2.8远程访问安全保障:VPN 72
2.8.1 VPN简介 72
2.8.2 VPN的分类 74
2.9身份认证技术 76
2.9.1静态密码 76
2.9.2智能卡(IC卡) 76
2.9.3短信密码 77
2.9.4动态口令牌 77
2.9.5 USB Key 77
2.9.6生物识别技术 78
2.9.7双因素身份认证 78
2.10管理层:信息安全标准化组织及标准 78
2.10.1国际信息安全标准概览 78
2.10.2国内信息安全标准概览 81
第二篇 企业Linux安全运维规划及选型 87
第3章 规划:企业信息安全工作思路 87
3.1信息安全的本质 88
3.2信息安全概念经纬线:从层次到属性 89
3.3业界信息安全专家定义的信息安全:信息安全四要素 91
3.4企业信息安全的实施内容和依据(框架) 92
3.4.1基本原则 92
3.4.2传统的企业信息安全架构 94
3.4.3新的企业信息安全框架及其实施内涵 95
3.5规划企业Linux安全的实施内容 98
第4章 选型:企业Linux软硬件选型及安装部署 100
4.1 Linux应用套件选择 101
4.1.1 Linux的历史 101
4.1.2与Linux相关的基本概念 101
4.1.3 Linux的主要特点 103
4.1.4 Linux的应用领域 104
4.1.5常见的Linux发行套件 104
4.1.6企业的选择:Fedora vs Red Hat Enterprise Linux 108
4.2 Linux内核版本选择 109
4.3 Linux服务器选型 109
4.3.1 CPU(处理器) 110
4.3.2 RAM(内存) 110
4.3.3处理器架构 110
4.3.4服务器类型选型 111
4.4 Linux安装及部署 115
4.4.1注意事项 115
4.4.2其他需求 116
4.5大规模自动部署安装Linux 116
4.5.1 PXE技术 117
4.5.2搭建Yum源 117
4.5.3安装相关服务 118
第三篇 企业Linux安全运维实战 125
第5章 高屋建瓴:“四步”完成企业Linux系统安全防护 125
5.1分析:企业Linux系统安全威胁 126
5.2理念:企业级Linux系统安全立体式防范体系 126
5.3企业Linux文件系统安全防护 127
5.3.1企业Linux文件系统的重要文件及目录 127
5.3.2文件/目录访问权限 129
5.3.3字母文件权限设定法 130
5.3.4数字文件权限设定法 130
5.3.5特殊访问模式及粘贴位的设定法 131
5.3.6使用文件系统一致性检查工具:Tripwire 132
5.3.7根用户安全管理 149
5.4企业Linux进程安全防护 160
5.4.1确定Linux下的重要进程 161
5.4.2进程安全命令行管理方法 164
5.4.3使用进程文件系统管理进程 165
5.4.4管理中常用的PROC文件系统调用接口 169
5.5企业Linux用户安全管理 171
5.5.1管理用户及组文件安全 171
5.5.2用户密码管理 176
5.6企业Linux日志安全管理 181
5.6.1 Linux下的日志分类 181
5.6.2使用基本命令进行日志管理 182
5.6.3使用syslog设备 185
5.7应用LIDS进行Linux系统入侵检测 190
5.7.1 LIDS简介 190
5.7.2安装LIDS 191
5.7.3配置和使用LIDS 192
第6章 锦上添花:企业Linux操作系统ACL应用及安全加固 196
6.1安全加固必要性分析 197
6.2加固第一步:使用ACL进行灵活访问控制 197
6.2.1传统的用户-用户组-其他用户(U-G-O)访问控制机制回顾 197
6.2.2扩展的访问控制列表(ACL)方式 199
6.3加固第二步:使用SELinux强制访问控制 206
6.3.1安全模型 206
6.3.2 SELinux: Linux安全增强机制原理 210
6.3.3 SELinux中的上下文(context) 212
6.3.4 SELinux中的目标策略(Targeted Policy) 216
6.3.5 SELinux配置文件和策略目录介绍 222
6.3.6使用SELinux的准备 224
6.3.7 SELinux中布尔(boolean)变量的使用 227
第7章 紧密布控:企业Web服务器安全防护 232
7.1 Web安全威胁分析及解决思路 233
7.2 Web服务器选型 233
7.2.1 HTTP基本原理 233
7.2.2为何选择Apache服务器 235
7.2.3安装Apache 236
7.3安全配置Apache服务器 236
7.4 Web服务访问控制 241
7.4.1访问控制常用配置指令 241
7.4.2使用.htaccess文件进行访问控制 242
7.5使用认证和授权保护Apache 244
7.5.1认证和授权指令 244
7.5.2管理认证口令文件和认证组文件 245
7.5.3认证和授权使用实例 246
7.6使用Apache中的安全模块 247
7.6.1 Apache服务器中安全相关模块 247
7.6.2开启安全模块 247
7.7使用SSL保证Web通信安全 249
7.7.1 SSL简介 249
7.7.2 Apache中运用SSL的基本原理 250
7.7.3使用开源的OpenSSL保护Apache通信安全 253
7.8 Apache日志管理和统计分析 256
7.8.1日志管理概述 256
7.8.2与日志相关的配置指令 257
7.8.3日志记录等级和分类 258
7.8.4使用Webalizer对Apache进行日志统计和分析 259
7.9其他有效的安全措施 262
7.9.1使用专用的用户运行Apache服务器 262
7.9.2配置隐藏Apache服务器的版本号 262
7.9.3设置虚拟目录和目录权限 263
7.9.4使Web服务运行在“监牢”中 265
7.10 Web系统安全架构防护要点 267
7.10.1 Web系统风险分析 267
7.10.2方案的原则和思路 268
7.10.3网络拓扑及要点剖析 270
第8章 谨小慎微:企业基础网络服务防护 272
8.1企业基础网络服务安全风险分析 273
8.1.1企业域名服务安全风险分析 273
8.1.2企业电子邮件服务安全风险分析 274
8.2企业域名服务安全防护 274
8.2.1正确配置DNS相关文件 274
8.2.2使用Dlint工具进行DNS配置文件检查 280
8.2.3使用命令检验DNS功能 281
8.2.4配置辅助域名服务器进行冗余备份 285
8.2.5配置高速缓存服务器缓解DNS访问压力 286
8.2.6配置DNS负载均衡 287
8.2.7限制名字服务器递归查询功能 288
8.2.8限制区传送(zone transfer) 288
8.2.9限制查询(query) 289
8.2.10分离DNS (split DNS) 289
8.2.11隐藏BIND的版本信息 290
8.2.12使用非root权限运行BIND 290
8.2.13删除DNS上不必要的其他服务 290
8.2.14合理配置DNS的查询方式 290
8.2.15使用dnstop监控DNS流量 291
8.3企业电子邮件服务安全防护 292
8.3.1安全使用Sendmail Server 292
8.3.2安全使用Postfix电子邮件服务器 296
8.3.3企业垃圾邮件防护 299
第9章 未雨绸缪:企业级数据防护 308
9.1企业数据防护技术分析 309
9.2 数据加密技术原理 309
9.2.1对称加密、解密 309
9.2.2非对称加密、解密 309
9.2.3公钥结构的保密通信原理 310
9.2.4公钥结构的鉴别通信原理 311
9.2.5公钥结构的鉴别+保密通信原理 311
9.3应用一:使用GnuPG进行应用数据加密 311
9.3.1安装GnuPG 311
9.3.2 GnuPG的基本命令 312
9.3.3 GnuPG的详细使用方法 312
9.3.4 GnuPG使用实例 315
9.3.5 GnuPG使用中的注意事项 316
9.4应用二:使用SSH加密数据传输通道 317
9.4.1安装最新版本的 OpenSSH 317
9.4.2配置OpenSSH 318
9.4.3 SSH的密钥管理 321
9.4.4使用scp命令远程拷贝文件 322
9.4.5使用SSH设置“加密通道” 323
9.5应用三:使用OpenSSL进行应用层加密 324
9.6数据防泄露技术原理及其应用 325
第10章 通道保障:企业移动通信数据防护 328
10.1 VPN使用需求分析 329
10.1.1 VPN简介 329
10.1.2 VPN安全技术分析 330
10.2 Linux提供的VPN类型 332
10.2.1 IPSec VPN 332
10.2.2 PPP Over SSH 333
10.2.3 CIPE: Crypto IP Encapsulation 333
10.2.4 SSL VPN 333
10.2.5 PPPTD 334
10.3使用OpenVPN构建SSL VPN 335
10.3.1 OpenVPN简介 335
10.3.2安装OpenVPN 335
10.3.3制作证书 335
10.3.4配置服务端 337
10.3.5配置客户端 338
10.3.6一个具体的配置实例 339
10.4使用IPSec VPN 340
10.4.1安装ipsec-tools 340
10.4.2配置IPSec VPN 340
第11章 运筹帷幄:企业Linux服务器远程安全管理 345
11.1远程控制及管理的基本原理 346
11.1.1远程监控与管理原理 346
11.1.2远程监控与管理的主要应用范围 346
11.1.3远程监控及管理的基本内容 347
11.2使用Xmanager 3.0实现Linux远程登录管理 347
11.2.1配置Xmanager服务器端 348
11.2.2配置Xmanager客户端 348
11.3使用VNC实现Linux远程管理 350
11.3.1 VNC简介 350
11.3.2启动VNC服务器 350
11.3.3使用VNC Viewer实现Linux远程管理 352
11.3.4使用SSH+VNC实现安全的Linux远程桌面管理 353
第12章 举重若轻:企业网络流量安全管理 355
12.1网络流量管理简介 356
12.1.1流量识别 356
12.1.2流量统计分析 357
12.1.3流量限制 357
12.1.4其他方面 357
12.2需要管理的常见网络流量 358
12.3网络流量捕捉:图形化工具Wireshark 359
12.3.1 Wireshark简介 359
12.3.2层次化的数据包协议分析方法 359
12.3.3基于插件技术的协议分析器 360
12.3.4安装Wireshark 360
12.3.5使用Wireshark 361
12.4网络流量捕捉:命令行工具tcpdump 363
12.4.1 tcpdump简介 363
12.4.2安装tcpdump 363
12.4.3使用tcpdump 364
12.5网络流量分析——NTOP 367
12.5.1 NTOP介绍 367
12.5.2安装NTOP 367
12.5.3使用NTOP 368
12.6网络流量限制——TC技术 371
12.6.1 TC (Traffic Control)技术原理 371
12.6.2使用Linux TC进行流量控制实例 372
12.7网络流量管理的策略 376
12.7.1网络流量管理的目标 376
12.7.2网络流量管理的具体策略 377
第13章 兵来将挡,水来土掩:企业级防火墙部署及应用 378
13.1防火墙技术简介 379
13.2 Netfiilter/Iptables防火墙框架技术原理 379
13.2.1 Linux中的主要防火墙机制演进 379
13.2.2 Netfilter/Iptables架构简介 379
13.2.3 Netfilter/Iptables模块化T作架构 381
13.2.4安装和启动Netfilter/Iptables系统 382
13.2.5使用Iptables编写防火墙规则 383
13.3使用Iptables编写规则的简单应用 385
13.4使用Iptables完成NAT功能 388
13.4.1 NAT简介 388
13.4.2 NAT的原理 389
13.4.3 NAT的具体使用 390
13.5防火墙与DMZ的配合使用 392
13.5.1 DMZ原理 392
13.5.2构建DMZ 393
13.6防火墙的实际安全部署建议 396
13.6.1方案一:错误的防火墙部署方式 396
13.6.2方案二:使用DMZ 397
13.6.3方案三:使用DMZ+二路防火墙 397
13.6.4方案四:通透式防火墙 397
第14章 铜墙铁壁:企业立体式入侵检测及防御 399
14.1入侵检测技术简介 400
14.2网络入侵检测及防御:Snort 400
14.2.1安装Snort 400
14.2.2配置Snort 400
14.3编写Snort规则 407
14.3.1规则动作 408
14.3.2协议 408
14.3.3 IP地址 408
14.3.4端口号 409
14.3.5方向操作符(direction operator) 409
14.3.6 activate/dynamic规则 409
14.3.7 Snort规则简单应用举例 410
14.3.8 Snort规则高级应用举例 411
14.4主机入侵检测及防御:LIDS 413
14.5分布式入侵检测:SnortCenter 413
14.5.1分布式入侵检测系统的构成 413
14.5.2系统安装及部署 414
第四篇 企业Linux安全监控 419
第15章 管中窥豹:企业Linux系统及性能监控 419
15.1常用的性能监测工具 420
15.1.1 uptime 420
15.1.2 dmesg 420
15.1.3 top 422
15.1.4 iostat 422
15.1.5 vmstat 423
15.1.6 sar 424
15.1.7 KDE System Guard 424
15.1.8 free 425
15.1.9 Traffic-vis 425
15.1.10 pmap 426
15.1.11 strace 428
15.1.12 ulimit 429
15.1.13 mpstat 430
15.2 CPU监控详解 433
15.2.1上下文切换 433
15.2.2运行队列 433
15.2.3 CPU利用率 433
15.2.4使用vmstat工具进行监控 434
15.2.5使用mpstat工具进行多处理器监控 436
15.2.6 CPU监控总结 438
15.3内存监控详解 438
15.3.1 Virtual Memory介绍 438
15.3.2 Virtual Memory Pages 438
15.3.3 Kernel Memory Paging 438
15.3.4 kswapd 438
15.3.5使用vmstat进行内存监控 439
15.3.6内存监控总结 440
15.4 I/O监控详解 440
15.4.1 I/O监控介绍 440
15.4.2读和写数据——内存页 440
15.4.3 Major and Minor Page Faults(主要页错误和次要页错误) 440
15.4.4 The File Buffer Cache(文件缓存区) 441
15.4.5 Type of Memory Pages 441
15.4.6 Writing Data Pages Back to Disk 442
15.4.7监控I/O 442
15.4.8 Calculating 1O’ s Per Second(IOPS的计算) 442
15.4.9 Random vs Sequential I/O(随机/顺序I/O ) 442
15.4.10判断虚拟内存对I/O的影响 444
15.4.11 I/O监控总结 445
第16章 见微知著:企业级Linux网络监控 446
16.1 Cacti网络监控工具简介 447
16.2安装和配置Cacti 448
16.2.1安装辅助工具 448
16.2.2安装Cacti 456
16.3使用Cacti 459
16.3.1 Cacti界面介绍 459
16.3.2创建监测点 461
16.3.3查看监测点 463
16.3.4为已有Host添加新的监控图 468
16.3.5合并多个数据源到一张图上 469
16.3.6使用Cacti插件 471
第17章 他山之石:发现企业网络漏洞 474
17.1发现企业网络漏洞的大致思路 475
17.1.1基本思路 475
17.1.2采用网络安全扫描 475
17.2端口扫描 476
17.2.1端口扫描技术的基本原理 476
17.2.2端口扫描技术的主要种类 476
17.2.3快速安装Nmap 479
17.2.4使用Nmap确定开放端口 480
17.3漏洞扫描 499
17.3.1漏洞扫描基本原理 499
17.3.2选择:网络漏洞扫描与主机漏洞扫描 500
17.3.3高效使用网络漏洞扫描 501
17.3.4快速安装Nessus 503
17.3.5使用Nessus扫描 505
第五篇 企业Linux安全运维命令、工具 509
第18章 终极挑战:企业Linux内核构建 509
18.1企业级Linux内核简介 510
18.2下载、安装和预备内核源代码 510
18.2.1先决条件 511
18.2.2下载源代码 511
18.2.3安装源代码 511
18.2.4预备源代码 512
18.3源代码配置和编译Linux内核 513
18.3.1标记内核 513
18.3.2 .config:配置内核 513
18.3.3定制内核 515
18.3.4清理源代码树 516
18.3.5复制配置文件 517
18.3.6编译内核映像文件和可加载模块 517
18.3.7使用可加载内核模块 517
18.4安装内核、模块和相关文件 518
18.5 Linux系统故障处理 518
18.5.1修复文件系统 519
18.5.2重新安装MBR 519
18.5.3当系统无法引导时 519
18.5.4挽救已安装的系统 519
第19章 神兵利器:企业Linux数据备份及安全工具 521
19.1安全备份工具 522
19.1.1 Amanda 522
19.1.2 BackupPC 522
19.1.3 Bacula 522
19.1.4 Xtar 523
19.1.5 Taper 523
19.1.6 Arkeia 523
19.1.7 webCDcreator 523
19.1.8 Ghost for Linux 523
19.1.9 NeroLINUX 524
19.1.10 mkCDrec 524
19.2 Sudo:系统管理工具 524
19.3 NetCat:网络安全界的瑞士军刀 525
19.4 LSOF:隐蔽文件发现工具 526
19.5 Traceroute:路由追踪工具 526
19.6 XProbe:操作系统识别工具 526
19.7 SATAN:系统弱点发现工具 527
附录A 企业级Linux命令速查指南 528
A.1文件系统管理命令 529
A.2系统管理命令 544
A.3系统设置命令 553
A.4磁盘管理及维护命令 559
A.5网络命令 586
附录B 网络工具资源汇总 591