Windows安全加固

1 主要安全风险

1
2
3
4
1.核心交换机和服务器区域之间没有部署防火墙或其他网安产品
2.没有日志服务器
3.管理主机必须精确到主机级,不能以网段级别
4.主干链路未做冗余

2 账户管理和认证授权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
默认账户安全
禁用Guest账户 --- 提权 安全风险

禁用或删除其他账户(建议先禁用账户一段时间,待确认没有问题后删除) --- 优先禁用

设定不同的用户和用户组。例如,管理员用户、数据库用户、审计用户、来宾用户等。
- 三权分立用户 --- 三类用户 --- 系统管理员、审计管理员、安全管理员
系统管理员
应通过系统管理员对系统的资源和运行进行配置、控制和管理,包括用户身份、系统资源配置、 系统加载和启动、系统运行的异常处理、数据和设备的备份与恢复等。
安全管理员
应通过安全管理员对系统中的安全策略进行配置,包括安全参数的设置,主体、客体进行统一安全标记,对主体进行授权,配置可信验证策略等。
审计管理员
应通过审计管理员对审计记录进行分析,并根据分析结果进行处理,包括根据安全审计策略对审计记录进行存储、管理和查询等。
+ 创建三权用户
系统管理员 -- sysadmin/sys --- users
审计管理员 -- audamdin/aud --- Performance Log Users、Event Log Readers
安全管理员 -- secadmin/sec --- Network Configuration Operators、Access Control Assistance Operators
- 技术 --- net user 用户名 密码 /add --- net localgroup 组名 用户名 /add
+ 2008 r2

账户-不显示最后的用户名
操作步骤:
打开 控制面板 > 管理工具 > 本地安全策略 > 本地策略 > 安全选项 > 交互式登录:不显示最后的用户名

密码策略相关配置
操作步骤
打开 控制面板 > 管理工具 > 本地安全策略,在 帐户策略 > 密码策略 中

账户锁定策略
操作步骤
打开 控制面板 > 管理工具 > 本地安全策略,在 帐户策略 > 帐户锁定策略 中

用户授权
操作步骤
打开 控制面板 > 管理工具 > 本地安全策略,在 本地策略 > 用户权限分配 中,配置 从网络访问此计算机 权限给指定授权用户。

3 日志配置

1
2
3
4
5
6
开启审核策略
打开 控制面板 > 管理工具 > 本地安全策略,在 本地策略 > 审核策略

日志最大存储大小
打开 控制面板 > 管理工具 > 事件查看器,配置 应用日志、系统日志、安全日志 属性中的日志大小,以及设置当达到最大的日志尺寸时的相应策略。

4 IP协议安全

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SYN攻击保护启动路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters --- 新建 Dword32位 键值

键值名:SynAttackProtect
推荐值:2
有效值: 0 – 2
说明:使TCP 调整 SYN-ACK的重传。 配置此值后,在遇到 SYN攻击时,对 连接超时的响应将更快速。在超过 TcpMaxHalfOpen 或 TcpMaxHalfOpenRetried的值后,将 触发 SYN攻击保护。

键值名: TcpMaxPortsExhausted
推荐值:5
有效值: 0 – 65535
说明:指定触发 SYN洪水攻击保护所必须超过的 TCP连接请求数的阈值。

键值名:TcpMaxHalfOpen
推荐值:500
有效值: 100 – 65535
说明:在启用SynAttackProtect 后,该值指定处于 SYN_RCVD状态的TCP连接数的阈值。在超过SynAttackProtect 后,将触发 SYN洪水攻击保护。

键值名: TcpMaxHalfOpenRetried
推荐值:400
有效值: 80 – 65535
说明:在启用SynAttackProtect 后,该值指定处于至少已发送一次重传的SYN_RCVD状态中的 TCP连接数的阈值。在超过SynAttackProtect 后,将触发 SYN洪水攻击保护。

5 共享文件夹及访问权限

1
2
3
4
5
6
7
关闭默认共享
非域环境中,关闭Windows默认共享,例如C$,D$。
- 计算机管理 --- 共享文件夹
- 关闭server服务就可以关闭默认共享 --- 注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters 新建 DWORD 32 值 位 0 AutoshareServer

共享文件夹授权访问
每个共享文件夹的共享权限,只允许授权的帐户拥有共享此文件夹的权限。不要设置成为Everyone。

6 禁用TCP/IP上的NetBIOS

1
2
3
4
5
6
禁用TCP/IP上的NetBIOS协议,可以关闭监听的 UDP 137(netbios-ns)、
UDP 138(netbios-dgm)以及 TCP 139(netbios-ssn)端口。
操作步骤
1.在 计算机管理 > 服务和应用程序 > 服务 中禁用 TCP/IP NetBIOS Helper 服务。
2.在网络连接属性中,双击 Internet协议版本4(TCP/IPv4),单击 高级。
在 WINS 页签中,选择禁用TCP/IP上的NetBIOS: 禁用

7 禁用不必要的服务

按业务需求禁用/手动配置以下冗余服务,减少系统攻击面:

服务名称 配置建议
DHCP Client 不使用动态IP地址则禁用
Background Intelligent service 不启用系统自动更新则禁用
Computer Browser 直接禁用
Diagnostic Policy Service 设置为手动启动
IP Helper 直接禁用(用于IPv6转IPv4,非必要场景无需启用)
Print Spooler 无需打印功能则禁用
Remote Registry 直接禁用(避免远程注册表管理风险)
TCP/IP NetBIOS Helper 直接禁用
Windows Remote Management (WS-Management) 直接禁用
Windows Font Cache Service 直接禁用
WinHTTP Web Proxy Auto-Discovery Service 直接禁用
Windows Error Reporting Service 直接禁用

8 启用安全选项

配置路径:
控制面板 > 管理工具 > 本地安全策略 > 本地策略 > 安全选项,按以下要求配置:

安全选项 配置要求
交互式登录:试图登录的用户的消息标题 填写「注意」
交互式登录:试图登录的用户的消息文本 填写「内部系统只能因业务需要而使用,经由管理层授权。管理层将随时检测此系统的使用。」
Microsoft网络服务器:对通信进行数字签名(如果客户端允许) 启用
Microsoft网络服务器:对通信进行数字签名(始终) 启用
Microsoft网络客户端:对通信进行数字签名(如果服务器允许) 启用
Microsoft网络客户端:对通信进行数字签名(始终) 启用
网络安全:基于NTLM SSP的(包括安全RPC)服务器的最小会话安全 要求NTLMv2会话安全、要求128位加密
网络安全:基于NTLM SSP的(包括安全RPC)客户端的最小会话安全 要求NTLMv2会话安全、要求128位加密
网络访问:不允许SAM账户 启用
网络访问:可匿名访问的共享 清空(保持默认空值)
网络访问:可匿名访问的命名管道 清空(保持默认空值)
网络访问:可匿名访问的注册表路径 清空,禁止远程访问注册表
网络访问:可匿名访问的注册表路径和子路径 清空,禁止远程访问注册表

9 禁用未登录前关机

1
2
3
服务器默认是禁止在未登录系统前关机的。如果启用此设置,服务器安全性将会大大降低,给远程连接的黑客造成可乘之机,强烈建议禁用未登录前关机功能。
操作系统
打开 控制面板 > 管理工具 > 本地安全策略,在本地策略 > 安全选项 中,禁用关机: 允许系统在未登录前关机策略。

10 其他配置

1
2
3
4
5
6
7
8
9
10
11
12
防病毒管理
Windows系统需要安装防病毒软件。
操作步骤
安装企业级防病毒软件,并开启病毒库更新及实时防御功能。

限制远程登录空闲断开时间
对于远程登录的帐户,设置不活动超过时间15分钟自动断开连接。
操作步骤
打开 控制面板 > 管理工具 > 本地安全策略,在 本地策略 > 安全选项 中,设置 Microsoft网络服务器:暂停会话前所需的空闲时间数量 属性为15分钟。

操作系统补丁
及时更新操作系统补丁

11 Windows测评表格讲解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
+ 结果分析 --- 经过检查该系统存在什么问题
+ 整改建议 --- 根据查出的问题进行提出意见

身份鉴别
a)
应对登录的用户进行身份标识和鉴别
- 系统中的用户是否都有配置密码 --- 资产表、问业主
身份标识具有唯一性
- 是否存在相同用户 --- lusrmgr.msc --- 尝试新建同名用户
身份鉴别信息具有复杂度要求并定期更换
- 是否有配置密码复杂度和有效期 --- secpol.msc

结果分析:
该系统每个用户都有配置密码,并且系统中不存在同名的用户,但是该系统的密码必须符合复杂性要求为已禁用,密码长度最小值为0个字符,密码最短使用期限0天,密码最长使用期限42天,强制密码历史0个记住的密码均为不符合配置。
整改建议:
建议对该系统做如下配置:密码必须符合复杂性要求已启用,密码长度最小值为8个字符,密码最短使用期限2天,密码最长使用期限90天,强制密码历史5个记住的密码.

b)
1.是否有配置登录失败处理功能
2.是否有配置连接超时功能
3.是否有配置屏幕保护功能


访问控制
a
是否有配置三权用户 --- lusrmgr.msc

b
是否有存在默认的账户,并且是否有修改对应默认账户的口令,设置为强口令

c
是否有存在多余的账户 --- 资产表

d
是否有配置三权用户,并且是否存在最高权限账户


安全审计
a
是否有开启审计功能
- Windows 默认开启
是否有开启审核策略
- 根据要求
b
系统日志信息是否有包含日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息
- Windows默认都有包含 --- 前提是审计功能开启的情况下
日志存储大小是否有配置

入侵防范
a
是否安装除了业务以外的程序

b
是否存在高危端口 --- 22/80/137 138 139/445 .... --- netstat -ano
是否存在默认共享 --- net share

c
该设备是否有配置限制IP策略访问
- 是不是任何人都能访问 --- 查看防火墙是否有配置访问策略规则

剩余信息保护
a
是否在登录的时候会出现用户相关信息
- 锁定会话不显示用户信息是否有配置
- 不显示最后的用户名是否有配置
+ 本地安全策略

b
是否会自动清除敏感数据信息
- 清除虚拟内存是否有配置
+ 本地安全策略

12 粘滞键

1
2
3
4
5
sethc.exe

粘滞键后面 ---> cmd终端
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options ---> 在该项中创建一个项 sethc.exe ---> 在该项新建字符串值 debugger C:\Windows\System32\cmd.exe
- 镜像劫持