第1章 导读
1.1 问题——从总体看
1.2 问题——从管理员的角度
1.3 如何使用本书
1.4 本书组织形式
1.4.1 加固/保护
1.4.2 准备阶段
1.4.3 检测阶段
1.4.4 响应阶段
1.4.5 改进阶段
1.4.6 各章结构
1.5 关键定义
1.6 本书资源
1.7 其他信息资源
1.8 小结
第I部分 计算机安全
第2章 保护网络服务器和用户工作站
2.1 概述
2.1.1 网络服务器安全需求
2.1.2 用户工作站安全需求
2.1.3 保护服务器和工作站的一种方法
2.2 在计算机部署计划中列出安全问题(NS,UW)
2.2.1 标识每台计算机的用途
2.2.2 标识要提供的网络服务
2.2.3 标识要安装的网络服务软件
2.2.4 标识用户
2.2.5 确定用户权限
2.2.6 计划身份验证
2.2.7 确定访问执行范围
2.2.8 制定入侵检测策略
2.2.9 文档化备份和恢复过程
2.2.10 确定如何维护网络服务并在出现不同类型的故障后恢复
2.2.11 开发并遵循文档化过程以安装操作系统
2.2.12 确定计算机如何接入网络
2.2.13 标识与日常管理相关的安全注意事项
2.2.14 保护不再用的、保存在硬件上的信息
2.2.15 及时更新计算机部署计划
2.2.16 策略考虑事项
2.3 选择服务器时列出安全需求(NS)
2.3.1 标识功能和性能需求
2.3.2 评审服务器产品特性
2.3.3 估计竞争产品的运行成本差异
2.3.4 策略考虑事项
2.4 及时更新操作系统和应用程序软件(NS,UW)
2.4.1 评估和安装更新
2.4.2 用最新软件部署新计算机
2.4.3 新建完整性检查信息
2.4.4 策略考虑事项
2.5 在服务器主机中只提供基本要素(NS)
2.5.1 确定功能
2.5.2 选择更安全的方法
2.5.3 只安装服务和应用程序的最小集合
2.5.4 创建和记录密码校验和
2.5.5 策略考虑事项
2.6 在工作站主机中只提供基本要素(UW)
2.6.1 确定功能
2.6.2 只安装最基本的软件
2.6.3 创建和记录密码校验和
2.6.4 策略考虑事项
2.7 配置网络服务客户机以加强安全(UW)
2.7.1 标识可能导致安全问题的行为
2.7.2 留意厂商更新
2.7.3 配置客户机以保证安全
2.7.4 策略考虑事项
2.8 配置计算机进行用户身份验证(NS,UW)
2.8.1 配置基于硬件的访问控制
2.8.2 控制账户和用户组
2.8.3 检查密码策略并确保用户遵守它
2.8.4 空闲一段时间后要求重新验证
2.8.5 几次登录尝试失败后拒绝登录
2.8.6 安装和配置其他身份验证机制
2.8.7 策略考虑事项
2.9 使用适当的对象、设备和文件访问控制来配置操作系统(NS,UW)
2.9.1 标识所需的保护
2.9.2 配置访问控制
2.9.3 为敏感数据安装和配置文件加密
2.9.4 策略考虑事项
2.10 配置计算机的文件备份(UW)
2.10.1 制定文件备份和恢复计划
2.10.2 安装和配置文件备份工具
2.10.3 测试备份恢复能力
2.10.4 策略考虑事项
2.11 使用测试过的模型配置和安全复制过程(UW)
2.11.1 创建和测试模型配置
2.11.2 在其他工作站上复制配置
2.11.3 根据不同情况逐一修改配
2.11.4 创建和记录密码校验和
2.12 防范病毒和类似程序威胁(NS,UW)
2.12.1 制定程序威胁的保护计划
2.12.2 安装和执行防病毒工具
2.12.3 培训用户
2.12.4 更新检测工具
2.12.5 策略考虑事项
2.13 配置计算机进行安全远程管理(NS,UW)
2.13.1 确保管理命令只来源于经身份验证的管理员和主机
2.13.2 确保所有管理任务操作在最小的必要权限级别上
2.13.3 确保机密信息不被入侵者拦截、读取或修改
2.13.4 使用可移动存储介质传输信息
2.13.5 使用安全方法审查所有日志文件
2.13.6 创建和记录密码校验和
2.13.7 策略考虑事项
2.14 只允许对计算机进行适当的实地访问(NS,UW)
2.14.1 防止安装非授权硬件
2.14.2 在安全地点部署计算机
2.14.3 策略考虑事项
2.15 制定和推广可接受的工作站使用策略(UW)
2.15.1 可接受的使用策略要点
2.15.2 培训用户
2.15.3 每次登录时明确提醒
2.16 本章实践核对清单
第3章 保护公共Web服务器
3.1 概述
3.1.1 保护公共Web服务器的必要性
3.1.2 保护公共Web服务器的方法
3.2 隔离Web服务器
3.2.1 将服务器放在隔离的子网中
3.2.2 使用防火墙限制通信
3.2.3 将提供支持服务的服务器主机放在另一个隔离的子网
3.2.4 禁用源路由和IP转发
3.2.5 可选的体系结构方法
3.2.6 策略考虑事项
3.3 用适当的对象、设备和文件访问控制来配置Web服务器
3.3.1 建立新用户和组身份
3.3.2 标识所需的保护
3.3.3 缓解拒绝服务的危害
3.3.4 保护敏感和受限信息
3.3.5 配置Web服务器软件访问控制
3.3.6 禁止提供Web服务器文件命令列表服务
3.3.7 策略考虑事项
3.4 标识并启用Web服务器特定的日志机制
3.4.1 标识要记录的信息
3.4.2 确定是否需要其他日志
3.4.3 启用日志
3.4.4 选择和配置日志分析工具
3.5 考虑程序、脚本和插件的安全问题
3.5.1 执行成本/效益权衡
3.5.2 选择可信来源
3.5.3 理解外部程序的所有功能
3.5.4 评审公共信息以识别漏洞
3.5.5 策略考虑事项
3.6 配置网络服务器以最小化程序、脚本和插件的功能
3.6.1 验证所得外部程序副本的真实性
3.6.2 使用隔离的测试机器
3.6.3 避免漏洞暴露
3.6.4 减少发布恶意代码的风险
3.6.5 禁用或限用服务器端包容功能
3.6.6 禁止执行Web服务器配置中的外部程序
3.6.7 限制访问外部程序
3.6.8 确保只有授权用户可访问外部程序
3.6.9 用惟一个人用户ID和组ID执行外部程序
3.6.10 让外部程序只访问最基本的文件
3.6.11 为所有外部程序创建完整性检查信息
3.6.12 策略考虑事项
3.7 配置Web服务器,使其使用身份验证和加密技术
3.7.1 确定敏感或限制信息的访问需求
3.7.2 在客户端(用户)和Web服务器之间建立信任
3.7.3 理解基于地址的身份验证的局限性
3.7.4 理解身份验证和加密技术
3.7.5 支持SSL的使用
3.7.6 策略考虑事项
3.7.7 其他加密方法
3.8 在安全主机上维护网站内容的授权副本
3.8.1 限制用户访问
3.8.2 实现和强制访问控制
3.8.3 强制使用强用户身份验证
3.8.4 接受经身份验证和加密的连接
3.8.5 人工传输Web内容
3.8.6 策略考虑事项
3.8.7 其他信息
3.9 本章实践核对清单
第4章 部署防火墙
4.1 概述
4.1.1 防火墙的必要性
4.1.2 部署防火墙的方法
4.2 设计防火墙系统
4.2.1 文档化环境
4.2.2 选择防火墙的功能
4.2.3 选择防火墙拓扑结构
4.2.4 进行体系结构权衡分析
4.2.5 保护防火墙系统,防止未经授权的访问
4.2.6 策略考虑事项
4.3 获得防火墙硬件和软件
4.3.1 确定所需的硬件组件
4.3.2 确定所需的软件组件
4.3.3 确定所需的测试组件
4.3.4 获得所有组件
4.4 获得培训、文档和支持
4.4.1 确定培训需求
4.4.2 确定支持需求
4.5 安装防火墙硬件和软件
4.5.1 安装最基本的、可接受的操作系统环境
4.5.2 安装所有可用的补丁程序
4.5.3 限制用户和主机访问
4.5.4 禁用包转发
4.5.5 备份系统
4.5.6 策略考虑事项
4.6 配置IP路由
4.6.1 获得IP地址
4.6.2 建立路由配置
4.6.3 策略考虑事项
4.6.4 考虑规范化IP路由配置和包过滤规则
4.7 配置防火墙包过滤
4.7.1 设计包过滤规则
4.7.2 文档化包过滤规则
4.7.3 安装包过滤规则
4.7.4 策略考虑事项
4.8 配置防火墙日志和警告机制
4.8.1 设计日志环境
4.8.2 为包过滤规则选择日志选项
4.8.3 设计警告机制配置
4.8.4 获得或开发支持工具
4.8.5 策略考虑事项
4.9 测试防火墙系统
4.9.1 制定测试计划
4.9.2 获得测试工具
4.9.3 在测试环境中测试防火墙功能
4.9.4 在生产环境中测试防火墙功能
4.9.5 选择和测试日志文件相关特性
4.9.6 测试防火墙系统
4.9.7 扫描漏洞
4.9.8 设计初始回归测试套件
4.9.9 准备生产用的系统
4.9.10 准备执行连续监视
4.9.11 策略考虑事项
4.10 安装防火墙系统
4.10.1 安装新的连接
4.10.2 安装替换连接
4.10.3 策略考虑事项
4.11 分阶段运行防火墙系统
4.11.1 准备过渡到备用的防火墙系统
4.11.2 通知用户
4.11.3 使专用通信通过新的防火墙系统
4.11.4 策略考虑事项
4.12 本章实践核对清单
第II部分 入侵检测和响应
第5章 建立入侵检测和响应实践
5.1 概述
5.1.1 准备入侵检测和响应的必要性
5.1.2 准备检测和响应的方法
5.2 确定策略和过程
5.2.1 在安全策略中阐述入侵检测和响应
5.2.2 文档化实现入侵检测策略的过程
5.2.3 文档化实现入侵响应策略的过程
5.2.4 文档化角色和职责
5.2.5 实施合法的评审
5.2.6 培训用户
5.2.7 保证策略、过程和培训符合当前实际
5.3 确定用于检测可疑行为信号的特征和其他数据
5.3.1 确定收集最有用的数据
5.3.2 确定要收集的数据
5.3.3 确定使用日志记录机制捕捉的数据
5.3.4 确定使用其他数据收集机制捕捉的数据
5.3.5 确定哪些事件应该产生警告
5.3.6 认识到数据的收集和特征化是重复的过程
5.3.7 文档化和验证特征化的置信假设
5.3.8 特征化典型的网络通信和性能
5.3.9 特征化预期的系统行为和性能
5.3.10 特征化预期的进程和用户行为
5.3.11 特征化预期的文件和目录信息
5.3.12 制定系统硬件的盘存清单
5.3.13 保护资产信息,并保持更新
5.3.14 策略考虑事项
5.3.15 其他信息
5.4 管理日志记录和其他数据收集机制
5.4.1 启用日志记录
5.4.2 保护日志
5.4.3 文档化日志文件的管理计划
5.4.4 保护数据收集机制及其输出
5.4.5 考虑特殊过程以保存证据
5.4.6 策略考虑事项
5.5 针对入侵响应,选择、安装和了解相关工具
5.5.1 建立启动盘和发行介质的文档集
5.5.2 建立安全相关补了程序的文档集
5.5.3 确定和安装支持重新安装的工具
5.5.4 确保足够的备份程序
5.5.5 建立测试结果的文档集
5.5.6 建立和维护联系信息的来源和方法
5.5.7 建立安全的通信机制
5.5.8 建立资源工具箱
5.5.9 确保测试系统和网络经过正确配置且可用
5.5.10 策略考虑事项
5.6 本章实践核对清单
第6章 检测入侵信号
6.1 概述
6.1.1 检测入侵信号的必要性
6.1.2 检测入侵信号的方法
6.2 确保用于检测系统的软件不受侵害
6.2.1 策略考虑事项
6.2.2 其他信息
6.3 监视并检查网络行为
6.3.1 通知用户
6.3.2 评审网络警告
6.3.3 评审网络错误报告
6.3.4 评审网络性能
6.3.5 评审网络通信
6.3.6 策略考虑事项
6.3.7 其他信息
6.4 监视并检查系统行为
6.4.1 通知用户
6.4.2 评审系统警告
6.4.3 评审系统错误报告
6.4.4 评审系统性能统计信息
6.4.5 监视进程动作和行为
6.4.6 监视用户行为
6.4.7 监视网络嗅探器的存在
6.4.8 运行网络映射和扫描工具
6.4.9 在所有系统上运行漏洞扫描工具
6.4.10 策略考虑事项
6.4.11 其他信息
6.5 检查文件和目录有无意外变化
6.5.1 验证完整性
6.5.2 确定意外变化及其含义
6.5.3 策略考虑事项
6.5.4 其他信息
6.6 调查已接入网络的、未经授权的硬件
6.6.1 审计与网络基础设施相连的所有系统和外设
6.6.2 探查未经授权的调制解调器
6.6.3 探查所有内部网段,确定未经授权的硬件
6.6.4 寻找企业网络和外部网络之间的意外路由
6.6.5 策略考虑事项
6.7 寻找末经授权的物理资源访问信号
6.7.1 检查所有物理形式的入口或出口
6.7.2 检查物理资源的篡改迹象
6.7.3 执行所有可移动存储介质的物理审计
6.7.4 报告所有未经授权的物理访问信号
6.7.5 策略考虑事项
6.8 评审可疑系统、网络行为和事件的报告
6.8.1 收到报告时执行“鉴别分类”
6.8.2 对每个报告进行评估、关联和确定优先级
6.8.3 调查每个报告或相关的一组报告
6.8.4 策略考虑事项
6.9 采取适当行动
6.9.1 文档化任何异常行为或活动
6.9.2 调查每一个异常文档
6.9.3 认识分析和调查的反复性
6.9.4 启动入侵响应过程
6.9.5 更新警告机制的配置
6.9.6 更新所有特征化信息
6.9.7 更新日志和数据收集机制的配置
6.9.8 处置所有已报告的事件
6.9.9 策略考虑事项
6.10 本章实践核对清单
第7章 入侵响应
7.1 概述
7.1.1 响应实践的必要性
7.1.2 入侵响应方法
7.2 分析所有可用的信息
7.2.1 捕获和记录系统信息
7.2.2 备份易受侵害的系统
7.2.3 隔离受侵害的系统
7.2.4 在其他系统上搜索入侵信号
7.2.5 检查日志
7.2.6 标识用于获取访问的攻击
7.2.7 确定入侵者做了什么
7.2.8 策略考虑事项
7.3 与相关各方进行通信
7.3.1 遵守信息发布过程
7.3.2 使用安全的通信渠道
7.3.3 通知受影响的其他站点
7.3.4 维护联系信息
7.3.5 策略考虑事项
7.4 收集和保护信息
7.4.1 收集所有信息
7.4.2 收集和保存证据
7.4.3 保存证据监管链
7.4.4 联系执法机关
7.4.5 策略考虑事项
7.5 遏制入侵
7.5.1 临时关闭系统
7.5.2 断开受侵害系统的网络连接
7.5.3 禁用访问、服务和账户
7.5.4 监视系统和网络行为
7.5.5 验证冗余系统和数据未受侵害
7.5.6 策略考虑事项
7.6 消除所有入侵访问方式
7.6.1 改变密码
7.6.2 重新安装受侵害的系统
7.6.3 删除所有入侵者访问方式
7.6.4 从原始发布介质恢复可执行程序和二进制文件
7.6.5 评审系统配置
7.6.6 校正系统和网络漏洞
7.6.7 改进保护机制
7.6.8 改进检测机制
7.6.9 策略考虑事项
7.7 恢复系统正常运行
7.7.1 确定需求和时间框架
7.7.2 恢复用户数据
7.7.3 重新建立服务和系统的可用性
7.7.4 观察入侵者返回的信号
7.7.5 策略考虑事项
7.8 实践所学知识
7.8.1 完整的通信步骤
7.8.2 召开事后评审会议
7.8.3 修订安全文档
7.8.4 其他步骤
7.9 本章实践核对清单
附录A 安全实现
A.1 概述
A.2 在运行Solaris 2.x的系统上安装、配置和使用Tripwire以验证目录和文件的完整性
A.3 在运行Solaris 2.x的系统上安装、配置和运行Secure Shell(SSH)
A.4 理解Solaris 2.x操作系统的系统日志文件
A.5 在运行Solaris 2.x的系统上配置和使用syslogd以收集日志消息
A.6 在运行Solaris 2.x的系统上安装、配置和使用logsurfer 1.5以分析日志消息
A.7 在运行Solaris 2.x的系统上安装、配置和使用spar 1.3
A.8 在运行Solaris 2.x的系统上安装和运行tcpdump 3.4
A.9 编写Snort规则,理解Snort警告
附录B 实践级策略考虑事项
缩略语
参考文献