目 錄
第1章 緒 論 1
1.1 計算機網絡概述 1
1.1.1 網絡結構和組成 1
1.1.2 網絡體系結構 4
1.2 計算機網絡脆弱性分析 6
1.3 計算機網絡安全概念 8
1.3.1 計算機網絡安全 8
1.3.2 與計算機網絡安全相關的概念 9
1.4 計算機網絡安全威脅 13
1.4.1 網絡安全威脅因素 13
1.4.2 網絡攻擊概述 14
1.5 網絡安全模型 15
1.6 網絡安全機制與服務 19
1.7 網絡安全技術的發(fā)展簡史 26
1.8 本書的內容與組織 28
1.9 習題 32
1.10 實驗 34
第2章密碼學基礎知識 36
2.1 密碼學基本概念 36
2.2 古典密碼系統(tǒng) 38
2.2.1 單表代換密碼 38
2.2.2 多表代替密碼 41
2.2.3 置換密碼算法 43
2.3 現代密碼系統(tǒng)概述 44
2.3.1 對稱密鑰密碼系統(tǒng) 44
2.3.2 公開密鑰密碼系統(tǒng) 46
2.4 典型對稱密鑰密碼系統(tǒng) 48
2.4.1 數據加密標準(DES) 48
2.4.2 高級數據加密標準(AES) 56
2.4.3 RC4 60
2.5 典型公開密鑰密碼系統(tǒng) 62
2.5.1 RSA公開密鑰密碼系統(tǒng) 62
2.5.2 Diffie-Hellman密鑰交換協議 65
2.5.3 ElGamal公鑰密碼體制 67
2.5.4 橢圓曲線密碼體制 68
2.5.5 基于身份標識的密碼體制 70
2.6 密碼分析 71
2.6.1 傳統(tǒng)密碼分析方法 71
2.6.2 密碼旁路分析 72
2.6.3 密碼算法和協議的工程實現分析 73
2.7 習題 74
2.8 實驗 76
2.8.1 DES數據加密、解密算法實驗 76
2.8.2 RSA數據加密、解密算法實驗 76
第3章認證與數字簽名 78
3.1 散列函數 78
3.1.1 散列函數的要求 78
3.1.2 MD算法 80
3.1.3 SHA算法 81
3.2 消息認證 83
3.2.1 報文源的認證 83
3.2.2 報文宿的認證 85
3.2.3 報文內容的認證 86
3.2.4 報文順序的認證 90
3.3 數字簽名 91
3.3.1 數字簽名的基本概念 92
3.3.2 利用RSA密碼系統(tǒng)實現數字簽名 93
3.3.3 利用ElGamal密碼系統(tǒng)實現數字簽名 94
3.3.4 利用橢圓曲線密碼實現數字簽名 95
3.3.5 散列函數在數字簽名中的作用 95
3.4 身份認證 96
3.4.1 一次性口令認證 98
3.4.2 基于共享密鑰的認證 100
3.4.3 可擴展認證協議EAP 107
3.5 習題 109
3.6 實驗 114
3.6.1 使用GPG4win進行數字簽名 114
3.6.2 OpenSSL軟件的安裝與使用 115
第4章 PKI與數字證書 116
4.1 密鑰管理 116
4.2 數字證書 117
4.2.1 證書格式 118
4.2.2 CRL格式 125
4.3 PKI 126
4.3.1 PKI組成 127
4.3.2 證書簽發(fā)和撤銷流程 132
4.3.3 證書的使用 134
4.3.4 PKIX 135
4.4 證書透明性 136
4.5 習題 138
4.6 實驗 141
第5章無線網絡安全 142
5.1 無線局域網安全 142
5.1.1 概述 142
5.1.2 WEP安全協議 145
5.1.3 WPA/WPA2安全協議 148
5.2 移動網絡安全 155
5.2.1 2G安全 155
5.2.2 3G安全 157
5.2.3 4G安全 159
5.2.4 5G安全 161
5.3 習題 166
5.4 實驗 168
第6章 IP及路由安全 169
6.1 IPv4協議及其安全性分析 169
6.2 IPsec 170
6.2.1 IPsec安全策略 171
6.2.2 IPsec運行模式 175
6.2.3 AH協議 176
6.2.4 ESP協議 179
6.2.5 網絡密鑰交換 182
6.2.6 SA組合 191
6.2.7 IPsec的應用 192
6.3 IPv6協議及其安全性分析 194
6.3.1 IPv6協議格式 194
6.3.2 IPv6安全性分析 196
6.4 路由安全 197
6.4.1 RIP協議及其安全性分析 198
6.4.2 OSPF協議及其安全性分析 200
6.4.3 BGP協議及其安全性分析 203
6.5 習題 206
6.6 實驗 209
6.6.1 IPsec VPN配置 209
6.6.2 用Wireshark觀察IPsec協議的通信過程 209
第7章傳輸層安全 211
7.1 傳輸層安全概述 211
7.1.1 端口和套接字 212
7.1.2 UDP協議及其安全性 212
7.1.3 TCP協議及其安全性 213
7.2 SSL 216
7.2.1 SSL體系結構 216
7.2.2 SSL記錄協議 218
7.2.3 SSL密碼變更規(guī)格協議 220
7.2.4 告警協議 220
7.2.5 握手協議 221
7.2.6 密鑰生成 226
7.3 TLS 227
7.3.1 TLS與SSL的差異 227
7.3.2 TLS 1.3 231
7.4 SSL/TLS VPN 234
7.5 習題 236
7.6 實驗 237
第8章 DNS安全 239
8.1 DNS概述 239
8.1.1 因特網的域名結構 240
8.1.2 用域名服務器進行域名轉換 241
8.2 DNS 面臨的安全威脅 245
8.2.1 協議脆弱性 245
8.2.2 實現脆弱性 249
8.2.3 操作脆弱性 250
8.3 DNSSEC 251
8.3.1 DNSSEC基本原理 251
8.3.2 DNSSEC配置 267
8.3.3 DNSSEC的安全性分析 271
8.3.4 DNSSEC部署 271
8.4 習題 273
8.5 實驗 274
8.5.1 DNSSEC配置 274
8.5.2 觀察DNSSEC域名解析過程 275
第9章 Web應用安全 276
9.1 概述 276
9.2 Web應用體系結構脆弱性分析 277
9.3 SQL注入攻擊及防范 282
9.3.1 概述 282
9.3.2 SQL注入漏洞探測方法 284
9.3.3 Sqlmap 289
9.3.4 SQL注入漏洞的防護 292
9.4 跨站腳本攻擊 293
9.4.1 跨站腳本攻擊原理 293
9.4.2 跨站腳本攻擊的防范 297
9.5 Cookie欺騙及防范 298
9.6 CSRF攻擊及防范 300
9.6.1 CSRF攻擊原理 300
9.6.2 CSRF攻擊防御 302
9.7 目錄遍歷及其防范 304
9.8 操作系統(tǒng)命令注入及防范 306
9.9 HTTP消息頭注入攻擊及防范 308
9.10 HTTPS 309
9.10.1 HTTPS基本原理 309
9.10.2 HTTPS服務器部署 310
9.11 HTTP over QUIC 311
9.12 Web應用防火墻 313
9.13 習題 314
9.14 實驗 316
9.14.1 WebGoat的安裝與使用 316
9.14.2 用Wireshark觀察HTTPS通信過程 316
第10章電子郵件安全 317
10.1 電子郵件概述 317
10.2 電子郵件的安全問題 319
10.3 安全電子郵件標準PGP 321
10.3.1 PGP基本原理 322
10.3.2 PGP密鑰管理 324
10.4 WebMail安全威脅及防范 327
10.5 垃圾郵件防范 332
10.5.1 基于地址的垃圾郵件檢測 334
10.5.2 基于內容的垃圾郵件檢測 335
10.5.3 基于行為的垃圾郵件檢測 337
10.6 習題 337
10.7 實驗 339
第11章 拒絕服務攻擊及防御 341
11.1 概述 341
11.2 劇毒包型拒絕服務攻擊 343
11.2.1 碎片攻擊 343
11.2.2 其他劇毒包型拒絕服務攻擊 344
11.3 風暴型拒絕服務攻擊 346
11.3.1 攻擊原理 346
11.3.2 直接風暴型拒絕服務攻擊 347
11.3.3 反射型拒絕服務攻擊 349
11.3.4 僵尸網絡 356
11.3.5 典型案例分析 359
11.4 拒絕服務攻擊的應用 361
11.5 拒絕服務攻擊的檢測及響應技術 362
11.5.1 拒絕服務攻擊檢測技術 362
11.5.2 拒絕服務攻擊響應技術 363
11.6 習題 366
11.7 實驗 369
11.7.1 編程實現SYN Flood DDoS攻擊 369
11.7.2 編程實現NTP反射型拒絕服務攻擊 370
第12章網絡防火墻 371
12.1 概述 371
12.1.1 防火墻的定義 371
12.1.2 防火墻的作用 371
12.1.3 防火墻的分類 373
12.2 防火墻的工作原理 375
12.2.1 包過濾防火墻 375
12.2.2 有狀態(tài)的包過濾防火墻 379
12.2.3 應用網關防火墻 381
12.3 防火墻的體系結構 384
12.3.1 屏蔽路由器結構 385
12.3.2 雙宿主機結構 385
12.3.3 屏蔽主機結構 386
12.3.4 屏蔽子網結構 387
12.4 防火墻的部署方式 388
12.5 防火墻的評價標準 389
12.6 防火墻技術的不足與發(fā)展趨勢 392
12.7 習題 395
12.8 實驗 398
第13章入侵檢測與網絡欺騙 399
13.1 入侵檢測概述 399
13.1.1 入侵檢測的定義 399
13.1.2 通用的入侵檢測模型 400
13.1.3 入侵檢測系統(tǒng)的作用 400
13.1.4 入侵檢測系統(tǒng)的組成 401
13.2 入侵檢測系統(tǒng)的信息源 402
13.2.1 以主機數據作為信息源 402
13.2.2 以應用數據作為信息源 403
13.2.3 以網絡數據作為信息源 403
13.3 入侵檢測系統(tǒng)的分類 404
13.4 入侵檢測的分析方法 405
13.4.1 特征檢測 406
13.4.2 異常檢測 407
13.5 典型的入侵檢測系統(tǒng)Snort 411
13.5.1 Snort的體系結構 412
13.5.2 Snort的規(guī)則結構 413
13.5.3 編寫Snort規(guī)則 416
13.6 入侵檢測技術的發(fā)展趨勢 418
13.7 網絡欺騙技術 420
13.7.1 蜜罐 421
13.7.2 蜜網 424
13.7.3 網絡欺騙防御 425
13.8 習題 429
13.9 實驗 431
13.9.1 Snort的安裝與使用 431
13.9.2 蜜罐的安裝與使用 431
第14章惡意代碼 433
14.1 概述 433
14.1.1 計算機病毒 433
14.1.2 計算機蠕蟲 436
14.1.3 計算機木馬 438
14.2 木馬的工作原理 440
14.2.1 配置木馬 441
14.2.2 傳播木馬 444
14.2.3 運行木馬 447
14.2.4 信息反饋 449
14.2.5 建立連接 451
14.2.6 遠程控制 452
14.3 木馬的隱藏技術 455
14.3.1 木馬在植入時的隱藏 455
14.3.2 木馬在存儲時的隱藏 456
14.3.3 木馬在運行時的隱藏 458
14.4 發(fā)現主機感染木馬的基本方法 462
14.5 針對木馬的防護手段 465
14.6 習題 467
14.7 實驗 468
第15章網絡安全新技術 470
15.1 軟件定義網絡安全 470
15.1.1 概述 470
15.1.2 SDN體系結構 470
15.1.3 OpenFlow 473
15.1.