标签:%% windows HKEY echo MACHINE 排查 基线 LOCAL REG
什么是安全基线
安全基线是为了实现基本防护需求而制定的一系列基准,通过对系统生命周期不同阶段的安全检查,建立良好的安全配置项和安全措施,通过分析安全状态的变化趋势控制安全风险。
在建立事件响应机制之前,必须存在基础的能力。这些基础能力用于保障数字资产/业务的可用性、保密性、完整性
安全基线的发展
1994年,我国首次颁布《中华人民共和国计算机信息系统安全保护条例》
1999年推出《计算机信息系统安全保护等级划分准则》
2007年,《信息安全等级保护管理办法》
2010年,公安部发布《关于推动信息安全等级保护测评体系建设和开展等级测评工作的通知》,决定在全国部署开展信息安全等保测评工作
安全基线实施的必要性
将已有的安全投资发挥功效,实现企业间的通信安全,实现本企业网络、主机 、数据、应用安全,以最小成本提高风险对抗能力
安全基线与漏洞的区别
相同点:
同属于扫描类产品,同属主动安全范畴,主动安全核心是弱点管理,
弱点有两类:
漏洞:系统自身固有的安全问题,软硬件BUG
配置缺陷:也叫暴露缺陷,一般是配置方面的错误并会被攻击者利用
不同点:
来源不同
漏洞:是供应商的技术问题,用户是无法控制的,与生俱来的
配置缺陷:配置是客户自身的管理问题,主要问题包括:账号、口令、授权、日志等方面内容
检查方式不同
漏洞:黑盒测试
配置缺陷:白盒测试
windows服务器安全基线
1.账户与认证
基本要求:对登录操作系统的用户进行身份标识和鉴别
测试内容:检查系统登录是否需要密码
预期结果:不能存在空密码帐户
2. 基本要求:管理缺省账户
测试内容:对于管理员帐号,应使用非缺省Administrator帐户名称,即重命名管理员帐户,禁用guest(来宾)帐户。
.基本要求:应启用登录失败处理功能,限制非法登录次数等
测试内容:检查当用户连续认证失败次数的限制
3. 基本要求:应限制非管理员账户关闭计算机
测试内容:检查是否仅有管理员账户授权本地关机、远程关机
预期结果:除Administrators组外用户均无关机权限
4. 日志
1. 基本要求:应配置日志功能,对用户登录进行记录,记录内容包括用户登 录使用的账号,登录是否成功,登录时间,以及远程登录时, 用户使用的 IP 地址。
测试内容:审核登录
预期结果:查看本地安全策略,审核登录事件,应设置为成功和失败都审核
2. 基本要求:应启用Windows系统的审核帐户管理,成功和失败都要审核
测试内容:审核账户管理
预期结果:查看本地安全策略,“审核策略更改”设置为成功和失败都审核。
3.基本要求:配置日志文件大小
测试内容:设置日志文件大小至少为8192KB
预期结果:"应用日志""系统日志""安全日志"属性中的日志大小设置不小于"8192KB"
4入侵防范与访问控制
基本要求:对共享文件夹进行权限控制
测试内容:共享文件夹限制
预期结果:共享分区、文件夹或文件应设置访问权限,用户里不应包含Everyone(任何人)。
5基本要求:修改远程桌面服务默认端口
测试内容:远程桌面服务端口管理
预期结果:RDP服务不再是3389端口
6基本要求:应禁止远程访问操作系统注册表路径和子路径,防止系统被入侵破坏
测试内容:注册表远程管理
预期结果:禁止远程连接注册表
7基本要求:安装终端防护软件
测试内容:恶意代码防范
预期结果:采购并安装正版授权计算机病毒防护软件
5.系统服务
基本要求:关闭不必要的系统服务
测试内容:系统服务管理
操作步骤:
进入“控制面板->管理工具->计算机管理”,进入“服务和应用程序”,查看所有服务,建议关闭以下服务:
Error Reporting Service、错误报告服务
Computer browser 浏览局域网计算机列表
Print Spooler 打印队列服务
Remote Registry 远程注册表操作
Routing and Remote Access 路由与远程访问
Shell Hardware Detection 为自动播放硬件事件提供通知Telnet 远程管理
TCP/IP NetBIOS Helper 允许客户端共享文件,打印机和登录到网络
预期结果:关闭不必要的服务,提高系统安全性
6.系统更新
基本要求:系统自动更新安全补丁
测试内容:系统服务管理
预期结果:应安装关键和重要系统补丁,开启系统自动更新功能
7.基线排查脚本
windows下的基线检查就是基于注册表表项进行检查,如果windows组策略有些不存在于注册表中,
就要用到组策略命令行工具secedit
inf脚本 security.inf
[Unicode]
Unicode=yes
[Event Audit]
AuditLogonEvents = 3
AuditPolicyChange = 3
AuditObjectAccess = 3
AuditDSAccess = 3
AuditPrivilegeUse = 3
AuditSystemEvents = 3AuditAccountManage = 3
AuditProcessTracking = 2
[Registry Values]
MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymous=4,1
MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymousSAM=4,1
MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserNam
e=4,1
MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\EnableForcedLogOff=4,1
MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\ClearPageFile
AtShutdown=4,1
[System Access]
EnableGuestAccount = 0
NewAdministratorName = "Administrator"
MinimumPasswordLength = 8
PasswordComplexity = 1
PasswordHistorySize = 60
LockoutBadCount = 5
LockoutDuration = 30
[Privilege Rights]
SeRemoteShutdownPrivilege = *S-1-5-32-544
SeTakeOwnershipPrivilege = *S-1-5-32-544
SeNetworkLogonRight = *S-1-5-32-544,*S-1-5-32-545,*S-1-5-32-551,*S-1-5-32-547
[Version]
signature="$CHICAGO$"
Revision=1
bat脚本 build_security_Strategy.bat
@echo off
echo.
echo _ .-.
echo :_; : :
echo ,-.,-.,-. .--. .-. .--. : `-. .-..-. .--. ,-.,-. .--.
echo : ,. ,. :' '_.': :' ..': .. :: :; :' .; ; : ,. :' .; :
echo :_;:_;:_;`.__.':_;`.__.':_;:_;`.__.'`.__,_;:_;:_;`._. ;
echo .-. :
echo 一键执行,配置windows安全策略
echo 正在配置中......
secedit /configure /db gp.sdb /cfg security.inf
::管理缺失账户
for /f "skip=4 tokens=1-3" %%i in ('net user') do (
if "%%i"=="Administrator" echo 请修改默认管理员账号:%%i
if "%%i"=="Guest" echo 请禁用用户:%%i
if "%%j"=="Administrator" echo 请修改默认管理员账号:%%j
if "%%j"=="Guest" echo 请禁用用户:%%j
if "%%k"=="Administrator" echo 请修改默认管理员账号:%%k if "%%k"=="Guest" echo 请禁用用户:%%k
)
::启用SNMP攻击保护
set EnableDeadGWDetect=False
for /f "skip=2 tokens=1-3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Services\Tcpip\Parameters') do if "%%i"=="EnableDeadGWDetect" if "%%k"=="0x0" set Enab
leDeadGWDetect=True
if %EnableDeadGWDetect%==False (
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v
EnableDeadGWDetect /t REG_DWORD /d 0
echo 启用SNMP攻击保护成功
rem echo 请添加EnableDeadGWDetect=0x0
)
::启用ICMP攻击保护
set EnableICMPRedirect=False
for /f "skip=2 tokens=1-3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Services\Tcpip\Parameters') do (
if "%%i"=="EnableICMPRedirect" if "%%k"=="0x0" set EnableICMPRedirect=True
)
if %EnableICMPRedirect%==False (
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v Enab
leICMPRedirect /t REG_DWORD /d 0
echo 启用ICMP攻击保护成功
rem echo 请添加EnableICMPRedirect=0x0
)
::启用SYN攻击保护
set SynAttackProtect=False
for /f "skip=2 tokens=1-3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Services\Tcpip\Parameters') do (
if "%%i"=="SynAttackProtect" if "%%k"=="0x2" set SynAttackProtect=True
)
if %SynAttackProtect%==False (
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v SynA
ttackProtect /t REG_DWORD /d 2
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v TcpM
axPortsExhausted /t REG_DWORD /d 5
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v TcpM
axHalfOpen /t REG_DWORD /d 500
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v TcpM
axHalfOpenRetried /t REG_DWORD /d 400
)
::禁用IP源路由
set DisableIPSourceRouting=Falsefor /f "skip=2 tokens=1-3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Services\Tcpip\Parameters') do (
if "%%i"=="DisableIPSourceRouting" if "%%k"=="0x1" set DisableIPSourceRouting=True
)
if %DisableIPSourceRouting%==False (
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v Disa
bleIPSourceRouting /t REG_DWORD /d 1
echo 禁用IP源路由成功
rem echo 请添加DisableIPSourceRouting=0x1
)
::启用碎片攻击保护
set EnablePMTUDiscovery=False
for /f "skip=2 tokens=1-3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Services\Tcpip\Parameters') do (
if "%%i"=="EnablePMTUDiscovery" if "%%k"=="0x0" set EnablePMTUDiscovery=True
)
if %EnablePMTUDiscovery%==False (
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v Enab
lePMTUDiscovery /t REG_DWORD /d 0
echo 启用碎片攻击保护成功
rem echo 请添加EnablePMTUDiscovery=0x0
)
::远程桌面服务端口管理
set tcp_PortNumber=False
set rdp-tcp_PortNumber=False
for /f "skip=2 tokens=1-3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Control\Terminal" "Server\Wds\rdpwd\Tds\tcp') do (
if "%%i"=="PortNumber" if "%%k"=="0xd3d" set tcp_PortNumber=True
)
for /f "skip=2 tokens=1-3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Control\Terminal" "Server\WinStations\RDP-Tcp') do (
if "%%i"=="PortNumber" if "%%k"=="0xd3d" set rdp-tcp_PortNumber=True
)
if %tcp_PortNumber%==True if %rdp-tcp_PortNumber%==True (
echo 请修改远程桌面端口不为默认端口3389
)
::终端服务登录管理
set DontDisplayLastUserName=False
for /f "skip=2 tokens=1-3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wind
ows" "NT\CurrentVersion\Winlogon') do (
if "%%i"=="DontDisplayLastUserName" if "%%k"=="0x1" set DontDisplayLastUserName=True
)
if %DontDisplayLastUserName% == False (
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows" "NT\CurrentVersion\Winlogon /f /v
DontDisplayLastUserName /t REG_DWORD /d 1rem echo 请禁止显示上次登录名 DontDisplayLastUserName=0x1
)
::禁止windows自动登录
set AutoAdminLogon=False
for /f "skip=2 tokens=1,3" %%i in ('REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Win
dows" "NT\CurrentVersion\Winlogon\ /v AutoAdminLogon') do (
if "%%j"=="0" set AutoAdminLogon=True
)
if %AutoAdminLogon%==False (
REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows" "NT\CurrentVersion\Winlogon\ /f /
v AutoAdminLogon /t REG_SZ /d 0
echo 禁止windows自动登录成功
rem echo 请添加EnableDeadGWDetect=0
)
::操作系统补丁更新
::net start wuauserv
echo 配置完成
pause
备注:如果各位安全网友对于本文章中的基线配置脚本,如果复制粘贴有问题,可以联系我,我发源文件给你,作者:卢烈楚 电话:18096285540
标签:%%,
windows,
HKEY,
echo,
MACHINE,
排查,
基线,
LOCAL,
REG
From: https://www.cnblogs.com/tanhualang/p/18284404