第一部分 適合所有任務的基本安全
第1章 選擇和安裝Linux版本
1.1 確定機器的任務
1.2 選擇Linux版本
1.2.1 功能/安全性平衡
1.2.2 選擇主流的Linux版本
1.3 安全為主的Linux安裝
1.3.1 第一步:從源代碼直接獲得Linux
1.3.2 第二步:定義若干分區(qū)
1.3.3 第三步:只安裝并激活基本組件
1.3.4 第四步:完成文件系統分離,并修改/etc/fstab文件
1.3.5 第五步:安裝所有的最近更新
1.4 小結
1.5 問與答
1.6 新名詞
第2章 BIOS和主板
2.1 安裝Linux之前的安全問題
2.2 系統BIOS
2.2.1 進入BIOS設置
2.2.2 瀏覽BIOS設置
2.2.3 BIOS口令保護
2.2.4 引導程序的口令保護
2.2.5 引導順序配置
2.3 輔助BIOS系統
2.4 外部/附加設備
2.5 控制Flash BIOS更新
2.6 小結
2.7 問與答
2.8 新名詞
第3章 物理安全
3.1 為什么說物理安全很重要
3.2 位置、位置、位置!
3.3 困難位置的對策
3.3.1 電源重啟
3.3.2 引導設備
3.3.3 鎖定“盒子”
3.4 訪問審核
3.5 小結
3.6 問與答
3.7 新名詞
第4章 引導過程
4.1 Linux裝載程序
4.1.1 /etc/lilo.conf文件
4.1.2 password關鍵字
4.1.3 restricted關鍵字
4.1.4 同時使用password和restricted
4.1.5 prompt和timeout關鍵字
4.1.6 保存更改
4.1.7 /etc/lilo.conf文件的權限
4.2 Init程序和/etc/inittab文件
4.2.1 缺省運行級別
4.2.2 Three-Key Smash
4.3 小結
4.4 問與答
4.5 新名詞
第5章 系統和用戶管理基礎
5.1 /etc/securetty、/etc/shells和.bash_logout文件
5.2 SysV風格的初始化進程
5.2.1 發(fā)現并禁止不需要的服務
5.2.2 重新激活被禁止的服務
5.3 安全地創(chuàng)建用戶賬號
5.3.1 Shadow和MD5
5.3.2 添加用戶的第一步:/usr/sbin/groupadd
5.3.3 添加用戶的第二步:/usr/sbin/useradd
5.3.4 添加用戶的第三步:passwd和chage
5.4 小結
5.5 問與答
5.6 新名詞
5.7 練習
第6章 TCP/IP網絡安全
6.1 保護inetd-Internet Daemon
6.1.1 為什么inetd是危險的
6.1.2 /etc/inetd.conf文件
6.1.3 /etc/services文件
6.2 適當使用TCP Wrappers
6.2.1 TCP Wrappers說明
6.2.2 健康Paranoia(/etc/hosts.deny文件)
6.2.3 保守的例外(/etc/hosts.allow文件)
6.2.4 更多的TCP Wrappers技巧
6.2.5 使用tcpdchk和tcpdmatch
6.3 日志、syslogd和安全
6.3.1 記錄一切信息
6.3.2 記錄到其他地方
6.4 小結
6.5 問與答
6.6 新名詞
6.7 練習
第7章 文件系統安全
7.1 理解權限
7.1.1 文件所有者
7.1.2 訪問權限
7.1.3 權限舉例
7.2 修改權限
7.2.1 使用字符方式的chmod
7.2.2 使用數字方式的chmod
7.3 使用umask設置缺省權限
7.4 特殊情況、風險和解決辦法
7.4.1 特別目錄權限
7.4.2 Device Node
7.4.3 SUID/SGID可執(zhí)行文件
7.4.4 利用chmod設置SUID/SGID
7.4.5 清除不必要的SUID/SGID權限
7.4.6 檢查反常的SUID/SGID文件
7.4.7 保持SUID/SGID二進制文件為最新
7.5 只能追加和只讀的文件
7.6 只讀root文件系統
7.7 mount和fstab的選項
7.8 小結
7.9 問與答
7.10 新名詞
第8章 特別文件系統安全工具
8.1 Linux上的POSIX訪問控制列表
8.1.1 一個需要ACL功能的示例
8.1.2 POSIX ACLs for Linux軟件包
8.1.3 setfacl命令的語法
8.1.4 getfacl命令的語法
8.1.5 缺省權限(getfacl、setfacl 和目錄)
8.1.6 ACL Mask權限
8.1.7 在文件之間復制ACL
8.1.8 告誡和需要考慮的事項
8.2 安全文件刪除工具
8.3 小結
8.4 問與答
8.5 新名詞
第9章 充分利用PAM
9.1 PAM配置基礎
9.2 PAM的工作原理基礎
9.3 使用PAM:過期口令
9.4 使用PAM:增強wheel安全
9.5 使用PAM:其他驗證
9.6 小結
9.7 問與答
9.8 新名詞
9.9 練習
第二部分 網絡安全
第10章 使用ipchains做防火墻和路由
10.1 網絡安全和內核
10.2 使用ipchains
10.2.1 理解ipchains規(guī)則
10.2.2 ipchains工具的調用語法
10.2.3 一個規(guī)則設置示例
10.2.4 masquerade
10.2.5 端口轉發(fā)
10.2.6 組合上述命令
10.3 小結
10.4 問與答
10.5 新名詞
10.6 練習
第11章 使用iptables做防火墻和路由
11.1 iptables是什么?它與ipchains有何關系
11.2 網絡安全與內核
11.3 使用iptables
11.3.1 理解iptables規(guī)則
11.3.2 iptables工具的調用語法
11.3.3 基于狀態(tài)的匹配
11.3.4 一個規(guī)則設置示例
11.3.5 Masquerade和NAT
11.3.6 端口轉發(fā)
11.3.7 組合上述命令
11.4 小結
11.5 問與答
11.6 新名詞
11.7 練習
第12章 保護Apache、FTP 和SMTP服務
12.1 安全與Apache HTTPD服務器
12.1.1 全局的基本安全指令
12.1.2 全局日志指令
12.1.3 Directory和DirectoryMatch作用域
12.1.4 其他的作用域
12.1.5 驗證
12.1.6 Options和AllowOverride指令
12.1.7 訪問文件
12.2 安全和FTP
12.2.1 匿名FTP與私有FTP
12.2.2 /etc/ftpaccess文件
12.2.3 /etc/ftpusers文件
12.2.4 匿名上傳權限
12.3 安全與sendmail
12.3.1 通過包過濾保護Sendmail
12.3.2 使用TCP Wrappers保護Sendmail
12.3.3 m4和sendmail.cf配置信息
12.4 小結
12.5 問與答
12.6 新名詞
12.7 練習
第13章 網絡安全——利用BIND做DNS
13.1 Chroot BIND之前的安全
13.1.1 域端口的包過濾
13.1.2 注意named.conf
13.2 在Chroot環(huán)境中運行named
13.2.1 添加用戶和組
13.2.2 創(chuàng)建“Jail”
13.2.3 為Chroot named設置syslogd
13.2.4 在chroot的Jail中啟動named
13.3 小結
13.4 問與答
13.5 新名詞
第14章 網絡安全——NFS和Samba
14.1 網絡文件系統NFS安全
14.1.1 選擇NFS服務器
14.1.2 包含基于內核的NFS支持
14.1.3 配置/etc/exports文件
14.1.4 NFS包過濾
14.2 Samba安全
14.2.1 啟動SWAT
14.2.2 SWAT的全局安全選項
14.2.3 SWAT中的共享安全選項
14.2.4 包過濾和Samba
14.3 小結
14.4 問與答
14.5 新名詞
第15章 保護X11R6訪問
15.1 為什么X的安全是一個問題
15.2 基于主機的認證
15.2.1 /etc/Xn.hosts文件
15.2.2 xhost命令
15.2.3 基于主機的認證問題
15.3 基于Token的認證
15.3.1 使用xauth命令
15.3.2 啟動X服務器
15.3.3 分發(fā)Cookie
15.3.4 基于主機的認證和基于token的認證的相互作用
15.3.5 X顯示管理器(XDM)
15.4 X與包過濾
15.5 小結
15.6 問與答
15.7 新名詞
第三部分 數據加密
第16章 加密數據流
16.1 SSH和OpenSSH的用途
16.2 安裝、配置和使用SSH
16.2.1 下載、安裝SSH
16.2.2 其他配置
16.2.3 利用SSH遠程登錄
16.2.4 基于主機的驗證
16.2.5 公鑰驗證
16.2.6 在FTP中使用SSH
16.2.7 通過SSH隧道TCP流
16.2.8 使用SSH增強X的安全
16.3 安裝、配置和使用OpenSSH
16.3.1 下載并安裝OpenSSL
16.3.2 下載并安裝OpenSSH
16.3.3 其他配置
16.3.4 利用OpenSSH遠程登錄
16.3.5 RhostsRSA驗證
16.3.6 基于用戶的公鑰驗證
16.3.7 通過OpenSSH隧道TCP流
16.3.8 使用OpenSSH增強X的安全
16.4 小結
16.5 問與答
16.6 新名詞
第17章 Kerberos簡介
17.1 Kerberos是什么
17.2 建立密鑰分發(fā)中心
17.2.1 下載和安裝Kerberos 5
17.2.2 配置Kerberos 5
17.3 管理Kerberos 5
17.3.1 添加管理員委托人
17.3.2 添加和配置主機委托人
17.3.3 添加用戶委托人
17.3.4 有關Kadmin的更多細節(jié)
17.4 使用Kerberos 5
17.4.1 獲得票證
17.4.2 刪除票證
17.4.3 更改口令
17.4.4 加密數據流
17.5 小結
17.6 問與答
17.7 新名詞
第18章 加密Web數據
18.1 編譯和安裝Apache+mod_ssl
18.1.1 下載Apache、OpenSSL和mod_ssl
18.1.2 解壓縮和編譯OpenSSL
18.1.3 解壓縮、配置、編譯mod_ssl和Apache
18.1.4 創(chuàng)建一個自己簽發(fā)的證書
18.1.5 安裝和配置Apache目錄樹
18.2 啟動SSL增強的Apache服務器
18.3 小結
18.4 問與答
18.5 新名詞
第19章 加密文件系統數據
19.1 TCFS簡介
19.2 TCFS的安裝準備
19.2.1 一個空的EXT2分區(qū)
19.2.2 安裝并運行NFS
19.2.3 準備好2.2.16或者2.2.17內核系統
19.3 下載和安裝TCFS
19.3.1 解壓縮源代碼并打補丁
19.3.2 編譯和安裝TCFS發(fā)行版本
19.3.3 編譯打補丁的內核
19.3.4 編譯加密模塊并激活TCFS
19.4 使用TCFS
19.4.1 激活TCFS訪問(管理任務)
19.4.2 利用加密(用戶任務)
19.4.3 加密文件
19.5 小結
19.6 問與答
19.7 新名詞
第20章 加密E-mail數據
20.1 快速瀏覽PGP
20.2 獲取并安裝GPG
20.3 生成你的密鑰
20.4 使用密鑰工作
20.4.1 密鑰列表
20.4.2 輸入和輸出密鑰
20.4.3 簽名和信任
20.5 使用GPG的具體細節(jié)
20.5.1 數據簽名
20.5.2 加密和解密數據
20.6 小結
20.7 問與答
20.8 新名詞
第四部分 入侵檢測、審核與恢復
第21章 審核與監(jiān)控
21.1 啟用SAINT
21.1.1 下載和安裝SAINT
21.1.2 使用SAINT
21.2 SWATCH監(jiān)控
21.2.1 下載和安裝SWATCH
21.2.2 利用SWATCH監(jiān)控日志
21.2.3 匹配文件格式
21.3 小結
21.4 問與答
21.5 新名詞
第22章 探測攻擊過程
22.1 Snort簡介
22.2 Snort的特殊需求
22.3 下載和安裝Snort
22.3.1 安裝libpcap
22.3.2 安裝libnet
22.3.3 安裝Snort
22.4 使用Snort
22.5 適當的Snort報告
22.5.1 練習使用SnortSnarf
22.6 小結
22.7 問與答
22.8 新名詞
第23章 保護數據
23.1 數據備份和安全
23.1.1 保護你的珍貴數據
23.1.2 系統二進制程序被修改
23.1.3 Root Kit
23.2 使用tar和afio進行備份
23.2.1 使用tar進行簡單的備份和恢復
23.2.2 使用afio進行簡單的備份和恢復
23.2.3 使用mt操作磁帶設備
23.2.4 使用mtx操作轉換器設備
23.3 定期備份、循環(huán)備份和保護備份
23.3.1 定期備份
23.3.2 循環(huán)備份
23.3.3 將備份存放到多個地點
23.4 專有的備份軟件
23.4.1 BRU
23.4.2 Arkeia
23.5 小結
23.6 問與答
23.7 新名詞
第24章 從攻擊中恢復
24.1 警示標記
24.2 最壞的情形
24.2.1 立即離線
24.2.2 停止Linux
24.2.3 謹慎引導
24.3 將剩余數據存檔
24.4 了解發(fā)生的問題
24.5 通知有關當局
24.6 回到在線狀態(tài)
24.6.1 重新格式化和重新安裝
24.6.2 恢復重要數據
24.6.3 注意漏洞
24.6.4 特別注意重復的訪問者
24.7 重新在線
24.8 小結
24.9 問與答
24.10 新名詞
第五部分 附錄
附錄A 有關安全的重要配置文件
附錄B 系統賬號文件格式
附錄C 著名的安全Web站點
C.1 通用安全站點
C.2 與Linux相關的安全站點
附錄D 快速安全清單
附錄E 相關軟件的Web鏈接