1 Baseline-check
Baseline-check 工具是基于 Windows 平台的基线检测工具。
使用方式:
使用 powershell 运行.\windowsBaselineCheck.ps1
检测内容包括:
1 | windows 基线检查脚本,检测内容包括: |
2 -Baseline-check
Windows 和 linux 基线检查,配套自动化检查脚本。检测完成后会输出结果文件。
基线配置文档: 本文规定了 LINUX 操作系统主机应当遵循的操作系统安全性设置标准,本文档旨在指导系统管理人员或安全检查人员进行 LINUX 操作系统的安全合规性检查和配置。 服务器安全基线是指为满足安全规范要求,考虑到信息安全管理的三+四个特性:保密性、完整性、可用性、可审计性、可靠性、抗抵赖性。服务器安全配置必须达到的标准,一般通过检查安全配置参数是否符合安全标准或公司标准来度量。主要包括了账号配置安全、口令配置安全、授权配置、日志配置、IP 通信配置等方面内容,这些安全配置直接反映了系统自身的安全脆弱性。
Windows 检测规则如下:
| 第 3 章 账号口令 | 6 |
|---|---|
| 3.1 检查是否已正确配置密码最短使用期限 | 6 |
| 3.2 检查是否已正确配置密码长度最小值 | 6 |
| 3.3 检查是否已正确配置“强制密码历史” | 7 |
| 3.4 检查是否已正确配置帐户锁定时间 | 7 |
| 3.5 检查是否已正确配置帐户锁定阈值 | 8 |
| 3.6 检查是否已正确配置“复位帐户锁定计数器”时间 | 8 |
| 3.7 检查是否按照权限、责任创建、使用用户账号 | 8 |
| 3.8 检查是否已更改管理员帐户名称 | 9 |
| 第 4 章 认证授权 | 9 |
| 4.1 检查是否已删除可远程访问的注册表路径和子路径 | 9 |
| 4.2 检查是否已限制匿名用户连接 | 10 |
| 4.3 检查是否已限制可关闭系统的帐户和组 | 10 |
| 4.4 检查是否已限制可从远端关闭系统的帐户和组 | 11 |
| 4.5 检查是否已限制“取得文件或其它对象的所有权”的帐户和组 | 11 |
| 4.6 检查是否已正确配置“允许本地登录”策略 | 12 |
| 4.7 检查是否已正确配置“从网络访问此计算机”策略 | 12 |
| 4.8 检查是否已删除可匿名访问的共享和命名管道 | 13 |
| 第 5 章 日志审计 | 13 |
| 5.1 检查是否已正确配置审核(日志记录)策略 | 13 |
| 5.2 检查是否已正确配置应用程序日志 | 14 |
| 5.3 检查是否已正确配置系统日志 | 14 |
| 5.4 检查是否已正确配置安全日志 | 15 |
| 第 6 章 协议安全 | 15 |
| 6.1 检查是否已修改默认的远程桌面(RDP)服务端口 | 15 |
| 6.2 检查是否已启用并正确配置源路由攻击保护 | 16 |
| 6.3 检查是否已开启 Windows 防火墙 | 16 |
| 6.4 检查是否已启用并正确配置 SYN 攻击保护 | 17 |
| 6.5 检查是否已启用并正确配置 ICMP 攻击保护 | 18 |
| 6.6 检查是否已禁用失效网关检测 | 18 |
| 6.7 检查是否已正确配置重传单独数据片段的次数 | 19 |
| 6.8 检查是否已禁用路由发现功能 | 19 |
| 6.9 检查是否已正确配置 TCP“连接存活时间” | 20 |
| 6.10 检查是否已启用并正确配置 TCP 碎片攻击保护 | 20 |
| 6.11 检查是否已启用 TCP/IP 筛选功能 | 21 |
| 6.12 检查是否已删除 SNMP 服务的默认 public 团体 | 21 |
| 第 7 章 其他配置操作 | 22 |
| 7.1 检查是否已安装防病毒软件 | 22 |
| 7.2 检查是否已启用并正确配置 Windows 自动更新 | 22 |
| 7.3 检查是否已启用“不显示最后的用户名”策略 | 23 |
| 7.4 检查是否已正确配置“提示用户在密码过期之前进行更改”策略 | 23 |
| 7.5 检查是否已正确配置“锁定会话时显示用户信息”策略 | 24 |
| 7.6 检查是否已禁用 Windows 硬盘默认共享 | 24 |
| 7.7 检查是否已启用并正确配置屏幕保护程序 | 25 |
| 7.8 检查是否已启用并正确配置 Windows 网络时间同步服务(NTP) | 25 |
| 7.9 检查是否已关闭 Windows 自动播放 | 26 |
| 7.10 检查是否已关闭不必要的服务-DHCP Client | 26 |
| 7.11 检查系统是否已安装最新补丁包和补丁 | 26 |
| 7.12 检查所有磁盘分区的文件系统格式 | 27 |
| 7.13 检查是否已正确配置服务器在暂停会话前所需的空闲时间量 | 27 |
| 7.14 检查是否已启用“当登录时间用完时自动注销用户”策略 | 28 |
| 7.15 域环境:检查是否已启用“需要域控制器身份验证以解锁工作站”策略 | 28 |
| 7.16 检查是否已禁用“登录时无须按 Ctrl+Alt+Del”策略 | 29 |
| 7.17 域环境:检查是否已正确配置“可被缓存保存的登录的个数”策略 | 29 |
| 7.18 域环境:检查是否已正确配置域环境下安全通道数据的安全设置 | 30 |
| 7.19 域环境:检查是否已启用“域环境下需要强会话密钥”策略 | 30 |
| 7.20 检查共享文件夹的权限设置是否安全 | 31 |
| 7.21 检查是否已启用 Windows 数据执行保护(DEP) | 31 |
| 7.22 检查是否已创建多个磁盘分区 | 31 |
| 7.23 检查是否已禁止 Windows 自动登录 | 32 |
| 7.24 检查是否已关闭不必要的服务-Simple TCP/IP Services | 32 |
| 7.25 检查是否已关闭不必要的服务-Simple Mail Transport Protocol (SMTP) | 33 |
| 7.26 检查是否已关闭不必要的服务-Windows Internet Name Service (WINS) | 33 |
| 7.27 检查是否已关闭不必要的服务-DHCP Server | 34 |
| 7.28 检查是否已关闭不必要的服务-Remote Access Connection Manager | 34 |
| 7.29 检查是否已关闭不必要的服务-Message Queuing | 34 |
Linux 检测规则
| 第 2 章 | 账号口令 | 3 |
|---|---|---|
| 2.1 | 检查是否已设置口令生存周期 | 3 |
| 2.2 | 检查口令最小长度 | 4 |
| 2.3 | 检查是否设置口令过期警告天数 | 4 |
| 2.4 | 检查设备密码复杂度策略 | 5 |
| 2.5 | 检查是否存在空口令账号 | 5 |
| 2.6 | 检查是否设置除 root 之外 UID 为 0 的用户 | 6 |
| 第 3 章 | 认证授权 | 6 |
| 3.1 | 检查用户 umask 设置 | 6 |
| 3.2 | 检查重要目录或文件权限设置 | 7 |
| 3.3 | 检查重要文件属性设置-需重启 | 9 |
| 3.4 | 检查用户目录缺省访问权限设置 | 11 |
| 3.5 | 检查是否设置 ssh 登录前警告 Banner | 11 |
| 第 4 章 | 日志审计 | 12 |
| 4.1 | 检查是否配置远程日志功能 | 12 |
| 4.2 | 检查安全事件日志配置 | 13 |
| 4.3 | 检查日志文件是否非全局可写 | 14 |
| 4.4 | 检查是否对登录进行日志记录 | 15 |
| 4.5 | 检查是否配置 su 命令使用情况记录 | 16 |
| 第 5 章 | 协议安全 | 17 |
| 5.1 | 检查系统 openssh 安全配置 | 17 |
| 5.2 | 检查是否已修改 snmp 默认团体字 | 17 |
| 5.3 | 检查使用 ip 协议远程维护的设备是否配置 ssh 协议,禁用 telnet 协议 | 18 |
| 5.4 | 检查是否禁止 root 用户登录 ftp | 18 |
| 5.5 | 检查是否禁止匿名用户登录 FTP | 19 |
| 第 6 章 | 其他配置操作 | 20 |
| 6.1 | 检查是否设置命令行界面超时退出-需重启 | 20 |
| 6.2 | 检查是否设置系统引导管理器密码 | 20 |
| 6.3 | 检查系统 core dump 设置 | 21 |
| 6.4 | 检查历史命令设置 | 21 |
| 6.5 | 检查是否使用 PAM 认证模块禁止 wheel 组之外的用户 su 为 root | 22 |
| 6.6 | 检查是否对系统账户进行登录限制 | 22 |
| 6.7 | 检查密码重复使用次数限制 | 23 |
| 6.8 | 检查用户认证失败次数限制 | 24 |
| 6.9 | 检查是否关闭绑定多 ip 功能 | 25 |
| 6.10 | 检查是否限制远程登录 ip 范围 | 25 |
| 6.11 | 检查别名文件/etc/aliases(或/etc/mail/aliases)配置 | 26 |
| 6.12 | 检查拥有 suid 和 sgid 权限的文件 | 28 |
| 6.13 | 检查是否配置定时自动屏幕锁定(适用于具备图形界面的设备) | 28 |
| 6.14 | 检查系统内核参数配置 | 30 |
| 6.15 | 检查是否按组进行账号管理 | 31 |
| 6.16 | 检查是否按用户分配账号 | 32 |
| 6.17 | 检查 root 用户的 path 环境变量 | 32 |
| 6.18 | 检查系统是否禁用 ctrl+alt+del 组合键-需重启 | 33 |
| 6.19 | 检查是否关闭系统信任机制 | 33 |
| 6.20 | 检查系统磁盘分区使用率 | 34 |
| 6.21 | 检查是否删除了潜在危险文件 | 34 |
| 6.22 | 检查是否删除与设备运行,维护等工作无关的账号 | 35 |
| 6.23 | 检查是否配置用户所需最小权限 | 36 |
| 6.24 | 检查是否关闭数据包转发功能(适用于不做路由功能的系统)-对于集群系统或者需要数据包转发的系统不做该配置 | 37 |
| 6.25 | 检查是否禁用不必要的系统服务 | 37 |
| 6.26 | 检查是否使用 NTP(网络时间协议)保持时间同步 | 38 |
| 6.27 | 检查 NFS(网络文件系统)服务设置 | 39 |
| 6.28 | 检查是否安装 OS 补丁 | 39 |
| 6.29 | 检查是否设置 ssh 成功登陆后 Banner | 40 |
| 6.30 | 检查 FTP 用户上传的文件所具有的权限 | 40 |
| 6.31 | 检查 FTP Banner 设置 | 41 |
| 6.32 | 检查/usr/bin/目录下可执行文件的拥有者属性 | 42 |
| 6.33 | 检查 telnet Banner 设置 | 42 |
| 6.34 | 检查是否限制 FTP 用户登录后能访问的目录 | 43 |
| 6.35 | 检查是否关闭不必要的服务和端口-需重启 | 44 |
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 dacker1993@gmail