### 第3章 账号口令 ```shell net accounts ``` > 强制用户在时间到期之后多久必须注销?: 从不 > 密码最短使用期限(天): 0 > 密码最长使用期限(天): 42 > 密码长度最小值: 0 > 保持的密码历史记录长度: None > 锁定阈值: 从不 > 锁定持续时间(分): 30 > 锁定观测窗口(分): 30 > 计算机角色: WORKSTATION > 命令成功完成。 ### 第4章 认证授权 #### 4.1 检查是否已删除可远程访问的注册表路径和子路径 ```shell reg query "\\远程计算机名称\注册表路径" ``` 请将 "远程计算机名称" 替换为要访问的远程计算机的名称或 IP 地址,将 "注册表路径" 替换为要检查的注册表路径。如果命令返回 "ERROR: The network path was not found.",则表示该注册表路径和子路径已被删除或无法访问。 #### 4.2检查是否已限制匿名用户连接 ```shell net accounts ``` 执行此命令后,查找 "最大密码尝试次数" 和 "最小密码长度" 字段的值。如果 "最大密码尝试次数" 的值为 0 或 "最小密码长度" 的值为 0,则表示匿名用户连接已被限制。 #### 4.3检查是否已限制可关闭系统的帐户和组 ```shell net accounts /forcelogoff ``` 执行此命令后,如果返回 "强制用户注销:"后面的值为 "是",则表示已限制可关闭系统的帐户和组。如果返回 "强制用户注销:"后面的值为 "否",则表示未限制可关闭系统的帐户和组。 #### 4.4检查是否已限制可从远端关闭系统的帐户和组 ```shell reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v "restrictanonymous" ``` 执行此命令后,如果返回结果中 "restrictanonymous" 的值为 1,则表示已限制可从远程关闭系统的帐户和组。如果返回值为 0,则表示未限制可从远程关闭系统的帐户和组。 #### 4.5检查是否已限制“取得文件或其它对象的所有权”的帐户和组 ```shell reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v "RestrictAnonymous" ``` 执行此命令后,如果返回结果中 "RestrictAnonymous" 的值为 1,则表示已限制“取得文件或其他对象的所有权”的帐户和组。如果返回值为 0,则表示未限制该权限。 #### 4.6检查是否已正确配置“允许本地登录”策略 ```shell secedit /export /cfg "security.txt" ``` 执行此命令后,它将生成一个名为 "security.txt" 的文件,其中包含系统的安全策略配置。 打开生成的 "security.txt" 文件,查找以下行:**SeInteractiveLogonRight =** 如果此行中没有任何值,则表示未正确配置"允许本地登录"策略。如果此行中列出了帐户或组的名称,则表示已正确配置"允许本地登录"策略,并且指定的帐户或组具有允许本地登录的权限。 #### 4.7检查是否已正确配置“从网络访问此计算机”策略 ```shell reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA" /v "restrictanonymous" ``` 执行此命令后,如果返回结果中 "restrictanonymous" 的值为 0,则表示已正确配置"从网络访问此计算机"策略,允许来自网络的匿名访问。如果返回值为 1,则表示限制了从网络访问此计算机。 #### 4.8检查是否已删除可匿名访问的共享和命名管道 ```shell net share icacls \\.\pipe ``` 1、检查列出的共享是否允许匿名访问。如果共享权限中包含 "Everyone" 或 "Guest",并且权限设置为 "Read" 或 "Full",则表示该共享允许匿名访问。 2、检查是否存在允许 "Everyone" 或 "Guest" 进行匿名访问的权限。 ### 第5章 日志审计 #### 5.1检查是否已正确配置审核(日志记录)策略 ```shell secedit /export /cfg "security.txt" ``` 执行此命令后,它将生成一个名为 "security.txt" 的文件,其中包含系统的安全策略配置。 打开生成的 "security.txt" 文件,查找以下行:**EventAuditSystem =** 如果此行中的值为 "1",则表示已正确配置审核策略,允许系统事件的日志记录。如果此行中的值为 "0",则表示未正确配置审核策略。 #### 5.2检查是否已正确配置应用程序日志 ```shell wevtutil gl application ``` 在输出结果中,查找以下行: > LoggingEnabled: true 如果 "LoggingEnabled" 的值为 "true",则表示已正确配置应用程序日志,允许应用程序事件的日志记录。如果值为 "false",则表示未正确配置应用程序日志。 #### 5.3检查是否已正确配置系统日志 ``` wevtutil gl system ``` 如果 "LoggingEnabled" 的值为 "true",则表示已正确配置系统日志,允许系统事件的日志记录。如果值为 "false",则表示未正确配置系统日志。 #### 5.4检查是否已正确配置安全日志 ``` wevtutil gl security ``` 如果 "LoggingEnabled" 的值为 "true",则表示已正确配置安全日志,允许安全事件的日志记录。如果值为 "false",则表示未正确配置安全日志。 ### 第6章 协议安全 #### 6.1检查是否已修改默认的远程桌面(RDP)服务端口 ```shell reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" ``` 如果 "PortNumber" 的值(0xXXXX)不是默认的 RDP 端口0xd3d(默认为 3389),则表示已修改了默认的 RDP 服务端口。您可以通过查看 "PortNumber" 的十六进制值来确定实际的端口号。 #### 6.2检查是否已启用并正确配置源路由攻击保护 ``` netsh interface ipv4 show interfaces ``` 在输出结果中,查找您希望检查的接口,并查看 "SourceRouting" 字段的值。如果该值为 "已禁用",则表示已启用源路由攻击保护。如果该值为 "已启用",则表示未启用源路由攻击保护。 #### 6.3检查是否已开启Windows防火墙 ``` netsh advfirewall show allprofiles ``` 执行此命令后,它将显示所有网络配置文件的防火墙状态和设置。 在输出结果中,查找 "Firewall Status" 字段的值。如果该值为 "已启用",则表示已开启 Windows 防火墙。如果该值为 "已禁用",则表示未开启 Windows 防火墙。 #### 6.4检查是否已启用并正确配置SYN攻击保护 ``` netsh advfirewall show global ``` 在输出结果中,查找 "TCP InitialRtt" 字段的值。如果该值大于默认值(3000毫秒),则表示已启用 SYN 攻击保护。 #### 6.5检查是否已启用并正确配置ICMP攻击保护 ``` netsh advfirewall show global ``` 在输出结果中,查找 "ICMP Level" 字段的值。如果该值为 "Default" 或较低的数字,则表示已启用 ICMP 攻击保护。 #### 6.6检查是否已禁用失效网关检测 ``` netsh interface ipv4 show interface ``` 在输出结果中,查找您希望检查的接口,并查看 "Dhcp Enabled" 和 "Default Gateway" 字段的值。如果 "Dhcp Enabled" 的值为 "No" 并且 "Default Gateway" 的值为空,则表示失效网关检测已禁用。 #### 6.7检查是否已正确配置重传单独数据片段的次数 ``` netsh interface ipv4 show global ``` 在输出结果中,查找 "Reassembly Limit" 字段的值。该值表示允许重传单个数据片段的次数。如果该值为默认的 "2",则表示已正确配置重传次数。 #### 6.8检查是否已禁用路由发现功能 ``` netsh interface ipv6 show interface ``` 在输出结果中,查找您希望检查的接口,并查看 "Router Discovery" 字段的值。如果该值为 "Disabled",则表示已禁用路由发现功能。 #### 6.9检查是否已正确配置TCP“连接存活时间” ``` netsh interface tcp show global ``` 在输出结果中,查找 "KeepAliveTime" 字段的值。该值表示 TCP 连接的存活时间,以毫秒为单位。如果该值为默认的 "7200000"(2小时),则表示已正确配置连接存活时间。 #### 6.10检查是否已启用并正确配置TCP碎片攻击保护 ``` netsh advfirewall show global ``` 在输出结果中,查找 "TCP/IP Fragmentation" 字段的值。如果该值为 "Enabled",则表示已启用 TCP 碎片攻击保护。 #### 6.11检查是否已启用TCP/IP筛选功能 ``` netsh interface ipv4 show interfaces ``` 在输出结果中,查找您希望检查的接口,并查看 "TCP/IP Filtering" 字段的值。如果该值为 "Enabled",则表示已启用 TCP/IP 筛选功能。