Linux信息安全和滲透測試

Linux信息安全和滲透測試

《Linux信息安全和滲透測試》是2023年9月1日清華大學出版社出版的圖書,作者:蔡冰。

基本介紹

  • 中文名:Linux信息安全和滲透測試
  • 作者:蔡冰
  • 出版時間:2023年9月1日
  • 出版社:清華大學出版社
  • ISBN:9787302641070
  • 定價:129 元
  • 印次:1-1
  • 印刷日期:2023.08.16
內容簡介,圖書目錄,

內容簡介

《Linux信息安全和滲透測試》詳細闡述Linux下的信息安全和網路滲透技術,內容涵蓋各大主流加解密算法的原理,用Linux C/C++語言自主實現這些技術的方法,以及Linux核心開發技術和IPSec VPN的系統實現,這些都是以後打造自己信息安全工具所需的基本知識。最後介紹網路滲透技術Kail Linux,通過該環境可以了解常用的現成工具。本書共11章,內容包括Linux基礎和網路最佳化、搭建Linux C和C++安全開發環境、對稱密碼算法、雜湊函式和HMAC、非對稱算法RSA的加解密、身份認證和PKI、實戰PKI、IPSec VPN基礎知識、VPN實戰、SSL-TLS編程、核心和檔案系統、Kali Linux的滲透測試研究、DPDK開發環境的搭建等。
《Linux信息安全和滲透測試》適合Linux信息安全工程師或開發者閱讀,也適合高等院校和培訓機構相關專業的師生作為教學參 考書。

圖書目錄

目 錄
第 1 章 搭建Linux安全開發環境 1
1.1 準備虛擬機環境 1
1.1.1 在VMware下安裝Linux 1
1.1.2 開啟登錄時的root賬號 4
1.1.3 解決Ubuntu上的vi方向鍵問題 5
1.1.4 關閉防火牆 6
1.1.5 配置安裝源 6
1.1.6 安裝網路工具包 6
1.1.7 安裝基本開發工具 7
1.1.8 啟用SSH 7
1.1.9 創建一個快照 8
1.1.10 連線虛擬機Linux 9
1.1.11 通過終端工具連線Linux虛擬機 18
1.1.12 與虛擬機互傳檔案 20
1.1.13 支持圖形軟體的終端工具MobaXterm 21
1.2 搭建Samba網路檔案共享服務 22
1.3 在VMware中添加一塊硬碟 24
1.4 在Linux下搭建C/C++開發環境 27
1.5 在Windows下搭建Linux C/C++開發環境 28
1.5.1 Windows下非集成式的Linux C/C++開發環境 28
1.5.2 Windows下集成式的Linux C/C++開發環境 32
1.6 安全密碼庫OpenSSL 35
1.6.1 OpenSSL原始碼模組結構 36
1.6.2 OpenSSL加密庫調用方式 37
1.6.3 OpenSSL支持的對稱加密算法 37
1.6.4 OpenSSL支持的非對稱加密算法 38
1.6.5 OpenSSL支持的信息摘要算法 38
1.6.6 OpenSSL密鑰和證書管理 38
1.6.7 面向對象與OpenSSL 38
1.6.8 BIO接口 40
1.6.9 EVP接口 41
1.6.10 在Linux下編譯安裝OpenSSL 1.0.2 42
1.6.11 使用OpenSSL命令並查看版本號 51
1.7 國產密碼函式館GmSSL 51
1.7.1 GmSSL的特點 52
1.7.2 GmSSL的一些歷史 52
1.7.3 什麼是國密算法 52
1.7.4 GmSSL的下載 53
1.7.5 在Linux下編譯安裝GmSSL 53
1.7.6 默認編譯安裝GmSSL 57
1.7.7 在舊版本的Linux下編譯和安裝GmSSL 60
第 2 章 對稱密碼算法 64
2.1 基本概念 64
2.2 流加密算法 65
2.2.1 基本概念 65
2.2.2 流密碼和分組密碼的比較 66
2.2.3 RC4算法 66
2.3 分組加密算法 76
2.3.1 工作模式 76
2.3.2 短塊加密 84
2.3.3 DES和3DES算法 84
2.3.4 SM4算法 102
2.4 利用OpenSSL進行對稱加解密 119
2.4.1 基本概念 119
2.4.2 對稱加解密相關函式 119
第 3 章 雜湊函式和HMAC 128
3.1 雜湊函式概述 128
3.1.1 什麼是雜湊函式 128
3.1.2 密碼學和雜湊函式 129
3.1.3 雜湊函式的發展 129
3.1.4 雜湊函式的設計 130
3.1.5 雜湊函式的分類 130
3.1.6 雜湊函式的碰撞 130
3.2 SM3雜湊算法 131
3.2.1 常量和函式 131
3.2.2 填充 131
3.2.3 疊代壓縮 132
3.2.4 雜湊值 133
3.2.5 一段式SM3算法的實現 133
3.2.6 三段式SM3算法的實現 138
3.2.7 GmSSL實現SM3算法 145
3.3 HMAC 148
3.3.1 什麼是HMAC 148
3.3.2 產生背景 148
3.3.3 設計目標 149
3.3.4 算法描述 149
3.3.5 獨立自主實現HMAC-SM3 150
3.4 SHA系列雜湊算法 152
3.4.1 SHA算法概述 152
3.4.2 SHA的發展史 153
3.4.3 SHA系列算法的核心思想 153
3.4.4 單向性 153
3.4.5 主要用途 153
3.4.6 SHA256算法原理解析 153
3.4.7 SHA384和SHA512算法 168
3.5 更通用的基於OpenSSL的哈希運算 192
3.5.1 獲取摘要算法的函式EVP_get_digestbyname 192
3.5.2 創建結構體並初始化的函式EVP_MD_CTX_create 192
3.5.3 銷毀摘要上下文結構體的函式EVP_MD_CTX_destroy 193
3.5.4 摘要初始化的函式EVP_DigestInit_ex 193
3.5.5 摘要Update的函式EVP_DigestUpdate 194
3.5.6 摘要Final的函式EVP_Digest_Final_ex 194
3.5.7 單包摘要計算的函式EVP_Digest 194
第 4 章 非對稱算法RSA的加解密 197
4.1 非對稱密碼體制概述 197
4.2 RSA概述 199
4.3 RSA的數學基礎 199
4.3.1 素數 199
4.3.2 素性檢測 199
4.3.3 倍數 200
4.3.4 約數 200
4.3.5 互質數 200
4.3.6 質因子 200
4.3.7 強素數 201
4.3.8 因子 201
4.3.9 模運算 201
4.3.10 模運算的操作與性質 202
4.3.11 單向函式 202
4.3.12 費馬定理和歐拉定理 203
4.3.13 冪 203
4.3.14 模冪運算 204
4.3.15 同餘符號≡ 204
4.3.16 歐拉函式 204
4.3.17 最大公約數 204
4.3.18 實現歐幾里得算法 205
4.3.19 擴展歐幾里得算法 207
4.4 RSA算法描述 214
4.5 RSA算法實例 215
4.5.1 查找法計算私鑰d 216
4.5.2 簡便法計算私鑰d 218
4.5.3 擴展歐幾里得算法計算私鑰d 220
4.5.4 加密字母 221
4.5.5 分組加密字元串 221
4.6 實戰前的幾個重要問題 225
4.6.1 明文的值不能大於模值N 225
4.6.2 明文的長度 226
4.6.3 密鑰長度 227
4.6.4 密文長度 227
4.7 熟悉PKCS#1 227
4.7.1 PKCS#1填充 228
4.7.2 OpenSSL中的RSA填充 230
4.7.3 PKCS#1中的RSA私鑰語法 232
4.8 在OpenSSL命令中使用RSA 233
4.8.1 生成RSA公私鑰 233
4.8.2 提取私鑰的各個參數 234
4.8.3 使用RSA公鑰加密一個檔案 236
4.8.4 使用私鑰解密一個檔案 237
4.9 基於OpenSSL庫的RSA編程 237
4.9.1 OpenSSL的RSA實現 238
4.9.2 主要數據結構 239
4.9.3 主要函式 240
4.10 隨機大素數的生成 248
4.11 RSA算法的攻擊及分析 248
4.11.1 因子分解攻擊 248
4.11.2 選擇密文攻擊 249
4.11.3 公共模數攻擊 249
4.11.4 小指數攻擊 249
第 5 章 身份認證和PKI 250
5.1 身份認證概述 250
5.1.1 網路安全與身份認證 250
5.1.2 網路環境下身份認證所面臨的威脅 251
5.1.3 網路身份認證體系的發展現狀 252
5.2 身份認證技術基礎 254
5.2.1 用戶名/密碼認證 254
5.2.2 智慧卡認證 254
5.2.3 生物特徵認證 255
5.2.4 動態口令 255
5.2.5 USB Key認證 255
5.2.6 基於衝擊回響的認證模式 255
5.2.7 基於PKI體系的認證模式 256
5.3 PKI概述 256
5.3.1 PKI的國內外套用狀態 257
5.3.2 PKI的套用前景 258
5.3.3 PKI存在的問題及發展趨勢 258
5.4 基於X.509證書的PKI認證體系 260
5.4.1 數字證書 261
5.4.2 數字信封 264
5.4.3 PKI體系結構 264
5.4.4 基於X.509證書的身份認證 269
第 6 章 實戰PKI 271
6.1 只有密碼算法是不夠的 271
6.2 利用OpenSSL實現CA的搭建 273
6.2.1 準備實驗環境 273
6.2.2 熟悉CA環境 274
6.2.3 創建所需要的檔案 276
6.2.4 CA自簽名證書(構造根CA) 276
6.2.5 根CA為子CA頒發證書 278
6.2.6 普通用戶向子CA申請證書 281
6.3 基於OpenSSL的證書編程 283
6.3.1 把DER編碼轉換為內部結構體的d2i_X509函式 284
6.3.2 獲得證書版本的X509_get_version函式 285
6.3.3 獲得證書序列號的X509_get_serialNumber函式 285
6.3.4 獲得證書頒發者信息的X509_get_issuer_name函式 285
6.3.5 獲得證書擁有者信息的X509_get_subject_name函式 286
6.3.6 獲得證書有效期的起始日期的X509_get_notBefore函式 286
6.3.7 獲得證書有效期的終止日期的X509_get_notAfter函式 286
6.3.8 獲得證書公鑰的X509_get_pubkey函式 286
6.3.9 創建證書存儲區上下文環境的X509_STORE_CTX函式 286
6.3.10 釋放證書存儲區上下文環境的X509_STORE_CTX_free函式 287
6.3.11 初始化證書存儲區上下文環境的X509_STORE_CTX_init函式 287
6.3.12 驗證證書的X509_verify_cert函式 287
6.3.13 創建證書存儲區的X509_STORE_new函式 287
6.3.14 釋放證書存儲區的X509_STORE_free函式 288
6.3.15 向證書存儲區添加證書的X509_STORE_add_cert函式 288
6.3.16 向證書存儲區添加證書吊銷列表的X509_STORE_add_crl函式 288
6.3.17 釋放X.509結構體的X509_free函式 288
6.4 證書編程實戰 289
第 7 章 IPSec VPN基礎知識 295
7.1 概述 295
7.1.1 IPSec VPN技術現狀 296
7.1.2 國密VPN現狀 296
7.2 IPSec協定研究 297
7.2.1 IPSec體系結構 297
7.2.2 傳輸模式和隧道模式 299
7.2.3 AH協定概述 299
7.2.4 AH數據包封裝 300
7.2.5 ESP協定概述 301
7.2.6 ESP數據包封裝 302
7.2.7 安全聯盟 304
7.2.8 安全策略資料庫和安全聯盟資料庫 305
7.3 IKE協定 306
7.3.1 IKE概述 306
7.3.2 IKE的安全機制 307
7.3.3 ISAKMP 308
7.4 IKEv1協定 309
7.4.1 第一階段 310
7.4.2 第二階段 312
7.4.3 主模式和快速模式的9個包分析 312
7.5 IKEv2協定 320
7.5.1 IKEv2概述 320
7.5.2 初始交換 321
7.5.3 創建子SA交換 326
7.5.4 通知交換 326
7.6 IKEv1與IKEv2的區別 326
7.7 IKEv2的優點 327
第 8 章 VPN實戰 328
8.1 準備網路環境 328
8.2 strongSwan實戰 333
8.2.1 編譯安裝strongSwan 333
8.2.2 常用程式概述 339
8.2.3 配置檔案概述 342
8.2.4 使用ipsec.conf檔案 343
8.2.5 使用swanctl.conf 353
8.2.6 strongSwan簽發證書 357
8.3 OpenSwan實戰 364
8.3.1 OpenSwan概述 364
8.3.2 OpenSwan的整體架構 364
8.3.3 OpenSwan的下載和編譯 365
8.3.4 OpenSwan連線方式 367
8.3.5 OpenSwan的認證方式 367
8.3.6 配置檔案ipsec.conf 367
第 9 章 SSL-TLS編程 378
9.1 SSL協定規範 378
9.1.1 SSL協定的優點 378
9.1.2 SSL協定的發展 378
9.1.3 SSLv3/TLS提供的服務 379
9.1.4 SSL協定層次結構模型 380
9.1.5 SSL記錄協定層 380
9.1.6 SSL握手協定層 382
9.2 OpenSSL中的SSL編程 385
9.3 SSL函式 386
9.3.1 初始化SSL算法庫的函式SSL_library_init 386
9.3.2 初始化SSL上下文環境變數的函式SSL_CTX_new 386
9.3.3 釋放SSL上下文環境變數的函式SSL_CTX_free 387
9.3.4 以檔案形式設定SSL證書的函式SSL_CTX_use_certificate_file 387
9.3.5 以結構體方式設定SSL證書的函式SSL_CTX_use_certificate 387
9.3.6 以檔案形式設定SSL私鑰的函式SSL_CTX_use_PrivateKey_file 387
9.3.7 以結構體方式設定SSL私鑰的函式SSL_CTX_use_PrivateKey 387
9.3.8 檢查SSL私鑰和證書是否匹配的函式SSL_CTX_check_private_key 388
9.3.9 創建SSL結構的函式SSL_new 388
9.3.10 釋放SSL套接字結構體的函式SSL_free 388
9.3.11 設定讀寫套接字的函式SSL_set_fd 388
9.3.12 設定唯讀套接字的函式SSL_set_rfd 388
9.3.13 設定只寫套接字的函式SSL_set_wfd 389
9.3.14 啟動TLS/SSL握手的函式SSL_connect 389
9.3.15 接受SSL連線的函式SSL_accept 389
9.3.16 獲取對方的X.509證書的函式SSL_get_peer_certificate 389
9.3.17 向TLS/SSL連線寫數據的函式SSL_write 390
9.3.18 從TLS/SSL連線上讀取數據的函式SSL_Read 390
9.4 準備SSL通信所需的證書 390
9.4.1 準備實驗環境 390
9.4.2 熟悉CA環境 391
9.4.3 創建根CA的證書 391
9.4.4 生成服務端的證書請求檔案 393
9.4.5 簽發服務端證書 393
9.4.6 生成客戶端的證書請求檔案 394
9.4.7 簽發客戶端證書 395
9.5 實戰SSL網路編程 396
第 10 章 核心和檔案系統 404
10.1 認識QEMU 405
10.1.1 QEMU的兩種執行模式 405
10.1.2 QEMU的用途 406
10.1.3 使用QEMU虛擬機的幾種選擇 406
10.2 安裝Linux版的QEMU 407
10.3 下載和編譯核心 410
10.4 製作簡易的檔案系統 413
10.4.1 BusyBox簡介 414
10.4.2 編譯和安裝BusyBox 415
10.4.3 製作根檔案系統的映像檔案 417
10.5 非嵌入式方式啟動核心 419
10.5.1 BusyBox啟動過程簡要分析 423
10.5.2 在新核心系統中運行C程式 425
10.6 基本功能的完善 426
10.6.1 掛載proc支持ifconfig 426
10.6.2 掛載sysfs支持lspci 428
10.6.3 實現檔案系統可寫 433
10.7 QEMU的用戶網路模式 433
10.7.1 不使用-net選項 434
10.7.2 使用-net選項 437
10.8 QEMU橋接網路模式 438
10.8.1 網橋的概念 439
10.8.2 TUN/TAP的工作原理 439
10.8.3 帶TAP的QEMU系統架構 440
10.8.4 brctl命令的簡單用法 442
10.8.5 3個網路配置選項 444
10.8.6 實戰橋接模式網路 445
10.8.7 手工命令創建TAP網卡 450
10.8.8 使用qemu-ifup 452
10.9 QEMU運行國產作業系統 453
10.9.1 安裝Windows版的QEMU 454
10.9.2 UEFI固件下載 454
10.9.3 安裝麒麟作業系統 455
10.9.4 運行麒麟系統 457
10.10 開發一個核心模組 458
第 11 章 Kali Linux的滲透測試研究 461
11.1 滲透測試的概念 461
11.2 滲透測試的分類 464
11.2.1 基於信息量的測試 464
11.2.2 基於攻擊強度的測試 465
11.2.3 基於範圍的測試 465
11.2.4 基於方法的測試 466
11.2.5 基於技術的測試 466
11.2.6 基於初始攻擊點的測試 467
11.3 滲透測試的局限性 467
11.4 滲透測試方法 468
11.4.1 開源安全測試方法手冊 468
11.4.2 信息系統安全評估框架 469
11.4.3 信息安全測試與評估技術指南 469
11.4.4 開放式Web應用程式安全項目 469
11.4.5 滲透測試執行標準 469
11.5 滲透測試過程 470
11.5.1 計畫與準備階段 470
11.5.2 發現階段 471
11.5.3 評估階段 472
11.5.4 攻擊階段 472
11.5.5 報告階段 473
11.6 滲透測試平台與工具 473
11.6.1 Kali Linux 473
11.6.2 Metasploit 474
11.6.3 Nmap 475
11.6.4 OpenVAS 476
11.6.5 VMware Workstation 477
11.6.6 VirtualBox 478
11.7 實驗平台的設計 478
11.8 實驗過程設計 480

熱門詞條

聯絡我們