前言
第1章 Linux係統安全概述1
1.1 什麼是安全2
1.1.1 什麼是信息安全2
1.1.2 信息安全的木桶原理4
1.1.3 Linux係統安全與信息安全的關係5
1.2 威脅分析模型5
1.2.1 STRIDE模型5
1.2.2 常見的安全威脅來源6
1.3 安全的原則8
1.3.1 縱深防禦8
1.3.2 運用PDCA模型9
1.3.3 最小權限法則11
1.3.4 白名單機製12
1.3.5 安全地失敗12
1.3.6 避免通過隱藏來實現安全13
1.3.7 入侵檢測14
1.3.8 不要信任基礎設施14
1.3.9 不要信任服務15
1.3.10 交付時保持默認是安全的15
1.4 組織和管理的因素16
1.4.1 加強安全意識培訓16
1.4.2 特彆注意弱密碼問題17
1.4.3 明令禁止使用破解版軟件18
1.4.4 組建閤理的安全組織結構18
1.5 本章小結19
第2章 Linux網絡防火牆21
2.1 網絡防火牆概述21
2.2 利用iptables構建網絡防火牆23
2.2.1 理解iptables錶和鏈23
2.2.2 實際生産中的iptables腳本編寫25
2.2.3 使用iptables進行網絡地址轉換27
2.2.4 禁用iptables的連接追蹤29
2.3 利用Cisco防火牆設置訪問控製34
2.4 利用TCP Wrappers構建應用訪問控製列錶35
2.5 利用DenyHosts防止暴力破解36
2.6 在公有雲上實施網絡安全防護38
2.6.1 減少公網暴露的雲服務器數量39
2.6.2 使用網絡安全組防護40
2.7 使用堡壘機增加係統訪問的安全性41
2.7.1 開源堡壘機簡介43
2.7.2 商業堡壘機簡介44
2.8 分布式拒絕服務攻擊的防護措施46
2.8.1 直接式分布式拒絕服務攻擊46
2.8.2 反射式分布式拒絕服務攻擊47
2.8.3 防禦的思路48
2.9 局域網中ARP欺騙的防禦48
2.10 本章小結50
第3章 虛擬專用網絡52
3.1 常見虛擬專用網絡構建技術53
3.1.1 PPTP虛擬專用網絡的原理53
3.1.2 IPSec虛擬專用網絡的原理53
3.1.3 SSL/TLS虛擬專用網絡的原理54
3.2 深入理解OpenVPN的特性55
3.3 使用OpenVPN創建點到點的虛擬專用網絡55
3.4 使用OpenVPN創建遠程訪問的虛擬專用網絡61
3.5 使用OpenVPN創建站點到站點虛擬專用網絡69
3.6 迴收OpenVPN客戶端的證書70
3.7 使用OpenVPN提供的各種script功能71
3.8 OpenVPN的排錯步驟73
3.9 本章小結77
第4章 網絡流量分析工具79
4.1 理解tcpdump工作原理80
4.1.1 tcpdump的實現機製80
4.1.2 tcpdump與iptables的關係82
4.1.3 tcpdump的簡要安裝步驟82
4.1.4 學習tcpdump的5個參數和過濾器83
4.1.5 學習tcpdump的過濾器83
4.2 使用RawCap抓取迴環端口的數據84
4.3 熟悉Wireshark的最佳配置項85
4.3.1 Wireshark安裝過程的注意事項85
4.3.2 Wireshark的關鍵配置項86
4.3.3 使用追蹤數據流功能89
4.4 使用libpcap進行自動化分析90
4.5 案例1:定位非正常發包問題91
4.6 案例2:分析運營商劫持問題94
4.6.1 中小運營商的網絡現狀94
4.6.2 基於下載文件的緩存劫持95
4.6.3 基於頁麵的iframe廣告嵌入劫持99
4.6.4 基於僞造DNS響應的劫持100
4.6.5 網卡混雜模式與raw socket技術100
4.7 本章小結103
第5章 Linux用戶管理105
5.1 Linux用戶管理的重要性105
5.2 Linux用戶管理的基本操作107
5.2.1 增加用戶108
5.2.2 為用戶設置密碼108
5.2.3 刪除用戶109
5.2.4 修改用戶屬性109
5.3 存儲Linux用戶信息的關鍵文件詳解110
5.3.1 passwd文件說明110
5.3.2 shadow文件說明111
5.4 Linux用戶密碼管理112
5.4.1 密碼復雜度設置112
5.4.2 生成復雜密碼的方法113
5.4.3 弱密碼檢查方法116
5.5 用戶特權管理118
5.5.1 限定可以使用su的用戶118
5.5.2 安全地配置sudo118
5.6 關鍵環境變量和日誌管理119
5.6.1 關鍵環境變量設置隻讀119
5.6.2 記錄日誌執行時間戳119
5.7 本章小結120
第6章 Linux軟件包管理122
6.1 RPM概述122
6.2 使用RPM安裝和移除軟件123
6.2.1 使用RPM安裝和升級軟件123
6.2.2 使用RPM移除軟件124
6.3 獲取軟件包的信息125
6.3.1 列齣係統中已安裝的所有RPM包125
6.3.2 軟件包的詳細信息查詢125
6.3.3 查詢哪個軟件包含有指定文件126
6.3.4 列齣軟件包中的所有文件126
6.3.5 列齣軟件包中的配置文件127
6.3.6 解壓軟件包內容127
6.3.7 檢查文件完整性127
6.4 Yum及Yum源的安全管理129
6.4.1 Yum簡介129
6.4.2 Yum源的安全管理130
6.5 自啓動服務管理130
6.6 本章小結131
第7章 Linux文件係統管理133
7.1 Linux文件係統概述133
7.1.1 Inode134
7.1.2 文件的權限135
7.2 SUID和SGID可執行文件136
7.2.1 SUID和SGID可執行文件概述136
7.2.2 使用sXid監控SUID和SGID文件變化137
7.3 Linux文件係統管理的常用工具137
7.3.1 使用chattr對關鍵文件加鎖137
7.3.2 使用extundelete恢復已刪除文件138
7.3.3 使用srm和dd安全擦除敏感文件的方法141
7.4 案例:使用Python編寫敏感文件掃描程序141
7.5 本章小結143
第8章 Linux應用安全145
8.1 簡化的網站架構和數據流嚮145
8.2 主要網站漏洞解析146
8.2.1 注入漏洞147
8.2.2 跨站腳本漏洞148
8.2.3 信息泄露149
8.2.4 文件解析漏洞150
8.3 Apache安全152
8.3.1 使用HTTPS加密網站153
8.3.2 使用ModSecurity加固Web154
8.3.3 關注Apache漏洞情報158
8.4 Nginx安全158
8.4.1 使用HTTPS加密網站158
8.4.2 使用NAXSI加固Web159
8.4.3 關注Nginx漏洞情報160
8.5 PHP安全160
8.5.1 PHP配置的安全選項160
8.5.2 PHP開發框架的安全162
8.6 Tomcat安全163
8.7 Memcached安全165
8.8 Redis安全165
8.9 MySQL安全166
8.10 使用公有雲上的WAF服務167
8.11 本章小結168
第9章 Linux數據備份與恢復170
9.1 數據備份和恢復中的關鍵指標171
9.2 Linux下的定時任務172
9.2.1 本地定時任務172
9.2.2 分布式定時任務係統174
9.3 備份存儲位置的選擇175
9.3.1 本地備份存儲175
9.3.2 遠程備份存儲176
9.3.3 離綫備份177
9.4 數據備份178
9.4.1 文件備份178
9.4.2 數據庫備份179
9.5 備份加密181
9.6 數據庫恢復182
9.7 生産環境中的大規模備份係統案例182
9.8 本章小結184
第10章 Linux安全掃描工具186
10.1 需要重點關注的敏感端口列錶186
10.2 掃描工具nmap188
10.2.1 使用源碼安裝nmap188
10.2.2 使用nmap進行主機發現189
10.2.3 使用nmap進行TCP端口掃描190
10.2.4 使用nmap進行UDP端口掃描192
10.2.5 使用nmap識彆應用192
10.3 掃描工具masscan193
10.3.1 安裝masscan193
10.3.2 masscan用法示例193
10.3.3 聯閤使用masscan和nmap194
10.4 開源Web漏洞掃描工具195
10.4.1 Nikto2195
10.4.2 OpenVAS196
10.4.3 SQLMap198
10.5 商業Web漏洞掃描工具199
10.5.1 Nessus199
10.5.2 Acunetix Web Vulnerability Scanner201
10.6 本章小結202
第11章 入侵檢測係統204
11.1 IDS與IPS204
11.2 開源HIDS OSSEC部署實踐205
11.3 商業主機入侵檢測係統214
11.3.1 青藤雲215
11.3.2 安全狗215
11.3.3 安騎士215
11.4 Linux Prelink對文件完整性檢查的影響217
11.5 利用Kippo搭建SSH蜜罐218
11.5.1 Kippo簡介218
11.5.2 Kippo安裝219
11.5.3 Kippo捕獲入侵案例分析220
11.6 本章小結221
第12章 Linux Rootkit與病毒木馬檢查223
12.1 Rootkit分類和原理223
12.2 可加載內核模塊225
12.3 利用Chkrootkit檢查Rootkit226
12.3.1 Chkrootkit安裝227
12.3.2 執行Chkrootkit227
12.4 利用Rkhunter檢查Rootkit228
12.4.1 Rkhunter安裝228
12.4.2 執行Rkhunter228
12.5 利用ClamAV掃描病毒木馬229
12.6 可疑文件的在綫病毒木馬檢查230
12.6.1 VirusTotal231
12.6.2 VirSCAN231
12.6.3 Jotti232
12.7 Webshell檢測232
12.7.1 D盾233
12.7.2 LMD檢查Webshell234
12.8 本章小結235
第13章 日誌與審計237
13.1 搭建遠程日誌收集係統237
13.1.1 Syslog-ng server搭建238
13.1.2 Rsyslog/Syslog client配置239
13.2 利用Audit審計係統行為239
13.2.1 審計目標239
13.2.2 組件240
13.2.3 安裝241
13.2.4 配置241
13.2.5 轉換係統調用242
13.2.6 審計Linux的進程243
13.2.7 按照用戶來審計文件訪問244
13.3 利用unhide審計隱藏進程244
13.4 利用lsof審計進程打開文件245
13.5 利用netstat審計網絡連接246
13.6 本章小結246
第14章 威脅情報248
14.1 威脅情報的概況248
14.2 主流威脅情報介紹249
14.2.1 微步在綫威脅情報社區249
14.2.2 360威脅情報中心252
14.2.3 IBM威脅情報中心253
14.3 利用威脅情報提高攻擊檢測與防禦能力254
14.4 本章小結255
附錄A 網站安全開發的原則257
附錄B Linux係統被入侵後的排查過程273
· · · · · · (
收起)