全网最全安全加固指南之windows系统加固
安全加固相关概念阐述
安全加固定义
安全加固和优化是实现信息系统安全的关键环节。通过安全加固,将在信息系统的网络层、主机层、软件层、应用层等层次建立符合安全需求的安全状态,并以此作为保证客户信息系统安全的起点。安全加固是配置软件系统的过程,针对服务器操作系统、数据库及应用中间件等软件系统,通过打补丁、强化帐号安全、加固服务、修改安全配置、优化访问控制策 略、增加安全机制等方法,堵塞漏洞及“后门”,合理进行安全性加强,提高其健壮性和安全性,增加攻击者入侵的难度,提升系统安全防范水平。
为什么需要安全加固
应用系统运行所需的软硬件,往往存在以下安全问题:
- 安装、配置不符合安全需求
- 参数配置错误
- 使用、维护不符合安全需求
- 系统完整性被破坏
- 被注入木马程序
- 帐户/口令问题
- 安全漏洞没有及时修补
- 应用服务和应用程序滥用
- 应用程序开发存在安全问题等
安全加固内容
- 正确的安装
- 安装最新和全部OS和应用软件的安全补丁
- 操作系统、系统软件、应用软件的安全配置
- 系统安全风险防范
- 提供系统使用和维护建议
- 系统功能测试
- 系统安全风险测试
- 系统完整性备份
- 必要时重建系统等
安全加固目标
加固目标也就确定系统在做过加固和优化后,达到的安全级别
- 解决目标系统在安全评估中发现的技术性安全问题。
- 对系统性能进行优化配置,杜绝系统配置不当而出现的弱点。
通常不同环境下的系统对安全级别的要求不同,由此采用的加固方案也不同。
安全加固原则
明确加固目标的结果必须能够明确做加固和优化的系统如何在功能性与安全性之间寻求平衡。
- 修补加固内容不能影响目标系统所承载的业务运行
- 修补加固不能严重影响目标系统的自身性能
- 修补加固操作不能影响与目标系统以及与之相连的其它系统的安全性, 也不能造成性能的明显下降
安全加固基线的内容
系统加固
Windows系统安全加固
Windows常用系统命令
命令 | 说明 |
---|---|
ver | 查看系统版本 |
hostname | 查看主机名 |
ipconfig /all | 查看网络配置 |
net user/localgroup/share/config | 查看用户/用户组/共享/当前运行可配置服务 |
at | 建立或查看系统作业 |
netstat | 查看开放端口 |
secpol.msc | 查看和修改本地安全设置 |
services.msc | 查看和修改服务 |
eventvwr.msc | 查看日志 |
regedit | 打开注册表 |
whoami | 查看当前操作用户的用户名 |
Windows常见端口
端口 | 说明 |
---|---|
80/8080/8081 | HTTP协议代理服务器常用端口号 |
443 | HTTPS协议代理服务器常用端口号 |
21 | FTP(文件传输协议)协议代理服务器常用端口号 |
23 | Telnet(远程登录)协议代理服务器常用端口号 |
22 | SSH(安全登录)、SCP(文件传输) |
1521 | Oracle 数据库 |
1433 | MS SQL SERVER数据库 |
1080 | |
3306 | Mysql数据库 |
25 | SMTP(简单邮件传输协议) |
Windows账号及安全策略
账号安全是计算机系统安全的第一关,如果计算机系统账号被盗用,那么计算机将非常危险,入侵者可以任意控制计算机系统,如果计算机中存在着重要的机密文件,或者银行卡号和密码,那么损失会非常严重。
账号安全设置
设置方法:“开始”—“运行”输入secpol.msc(控制面板——管理工具)
立即生效:gpupdate /force
账号策略
密码必须符合复杂性要求:启用
密码长度最小值 8个字符
密码最长使用期限: 30天
强制密码历史: 3个记住的密码
账号锁定
帐户锁定阀值: 3次无效登陆
帐户锁定时间: 30分钟
复位帐户锁定计数器:30分钟之后
账户密码策略
账户锁定策略
Administartor账号、组重命名
Administartor账号、组重命名,可增加账号安全性
wmic useraccount where name='Administrator' call Rename admin
禁用Guest账户权限
我的电脑“右击”管理“打开—计算机管理—本地用户和组—用户—Guest—右键—属性—常规—选择“账户已禁用”
net user guest /active:no
日志及审核策略
在一个完整的信息系统里面,日志系统是一个非常重要的功能组成部分。它可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。在安全领域,日志系统的重要地位尤甚,可以说是安全审计方面最主要的工具之一。
对重要事件进行审核记录,方便日后出现问题时查找问题根源。
审核策略:
审核策略更改 成功,失败
审核登陆事件 成功,失败
审核对象访问 失败
审核目录服务访问 失败
审核特权使用 失败
审核系统事件 成功,失败
审核账户登陆事件 成功,失败
审核帐户管理 成功,失败
调整事件日志的大小及覆盖策略
日志安全设置
设置方法:“开始”—“运行”输入eventvwr.msc
增大日志大小,避免由于日志文件容量过小导致重要日志记录遗漏
日志类型 日志大小 覆盖策略
应用程序 80000KB 覆盖早于30天的日志
安全日志 80000KB 覆盖早于30天的日志
系统日志 80000KB 覆盖早于30天的日志
安全选项策略设置
本地安全策略->本地策略->安全选项
- Microsoft 网络服务器:当登录时间用完时自动注销用户(启用)
目的:可以避免用户在不适合的时间登录到系统,或者用户登录到系统后忘记退出登录
- Microsoft 网络服务器:在挂起会话之前所需的空闲时间(小于等于30分钟)
目的:设置挂起会话之前所需的空闲时间为30分钟
- Microsoft 网络客户端:发送未加密的密码到第三方SMB服务器(禁用)
目的:禁止发送未加密的密码到第三方SMB服务器
- 故障恢复控制台:允许对所有驱动器和文件夹进行软盘复制和访问(禁用)
目的:禁止它访问硬盘驱动器上的所有文件和目录。它仅允许访问每个卷的根目录%systemroot%目
录及子目录,即使是这样它还限制不允许把硬盘驱动器上的文件拷贝到软盘上
- 故障恢复控 制台:允许自动系统管理级登录(禁用)
目的:恢复控制台是Windows 2003的一个新特性,它在一个不能启动的系统上给出一个受限的命令行访问界面。可能会导致任何可以重起系统的人绕过账号口令限制和其它安全设置而访问系统
- 关机:清除虚拟内存页面文件(启用)
目的:某些第三方的程序可能把一些没有的加密的密码存在内存中,页面文件中也可能含有另外一些敏感的资料。关机的时候清除页面文件,防止造成意外的信息泄漏
- 关机:允许系统在未登录前关机(禁用)
目的:在未登录前不能关闭计算机
- 交互式登录:不显示上次的用户名(启用)
目的:登陆时不显示上次的用户名,防止暴露用户名。
- 交互式登录:不需要按Ctrl+Alt+Del(禁用)
目的:登录时需要按CTRL+ALT+DEL
- 交互式登录:可被缓存的前次登录个数(设置缓存数为0,此项对域服务器无效。)
目的:登陆时不显示上次的用户名,防止暴露用户名
- 网络访问:不允许为网络身份验证储存凭证或 .NET passports(启用)
- 审核:如果无法记录安全审核则立即关闭系统 (启用)
- 审核:对全局系统对象的访问进行审核(启用)
- 网络访问:本地账户的共享和安全模式:仅来宾--本地账户以来宾用户身份验证
- 网络访问:可匿名访问的共享(全部删除)
- 网络访问:可匿名访问的命名管道 (全部删除)
- 网络访问:可远程访问的注册表路径(全部删除)
- 网络访问:可远程访问的注册表路径和子路径 (全部删除)
用户权限策略设置
- 通过终端服务拒绝登陆”中加入Guests、User组
- “通过终端服务允许登陆”中只加入Administrators组
- “从网络访问此计算机”中删除PowerUsers和BackupOperators
- “拒绝本地登录”中添加web和guest用户
NTFS安全
文件系统又被称作文件管理系统,它是指操作系统中负责管理和存储文件信息的软件机构。文件系统由与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构这三部分构成。
从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
Windows权限的继承性、累加性、优先性、交叉性四项基本原则
- Windows NT以后的文件,及文件夹共享设置有以下特性:继承性、累加性、优先性、交叉性。
- 继承性:下级的目录在没有经过重新设置之前,是拥有上一级目录权限设置的。
- 累加性:是说如一个组GROUP1中有两个用户USER1、USER2,他们同时对某文件或目录的访问权限分别为“读取”和“写入”,那么组GROUP1对该文件或目录的访问权限就为USER1和USER2的访问权限之和。
- 优先性:权限的这一特性又包含两种子特性,其一是文件的访问权限优先目录的权限,也就是说文件权限可以越过目录的权限,不顾上一级文件夹的设置。另一特性就是“拒绝”权限优先其它权限,也就是说“拒绝”权限可以越过其它所有其它权限,一旦选择了“拒绝”权限,则其它权限也就不能取任何作用,相当于没有设置。
- 交叉性:指当同一文件夹在为某一用户设置了共享权限的同时又为用户设置了该文件夹的访问权限,且所设权限不一致时,它的取舍原则是取两个权限的交集,也即最严格、最小的那种权限。如目录A为用户USER1设置的共享权限为“只读”,同时目录A为用户USER1设置的访问权限为“完全控制”,那用户USER1的最终访问权限为“只读”。
权限设置
系统分区C盘 administrator、system完全控制
C:\Documents and Settings\ administrator、system完全控制
C:\windows\system32\ administrator读写
C:\progran files 为Common File目录之外的所有目录赋予Administrators 和SYSTEM 完全控制
C:\windows 系统管理员完全控制、system拒绝(继承)
C:\windows\system32 其关键程序只允许administrator完全控制
C:\Inetpub\ administrator、system完全控制,必要时可以删除该目录
网站目录所在磁盘 administrator、system完全控制
注册表安全设置
通过注册表,用户可以轻易地添加、删除、修改windows系统内的软件配置信息或硬件驱动程序,这不仅方便了用户对系统软硬件的工作状态进行适时的调整,于此同时注册表也是入侵者攻击的目标,通过注册表也可称为入侵者攻击的目标,通过注册表植入木马、修改软件信息,甚至删除、停用或改变硬件的工作状态。
HKEY_LOCAL_MACHINE 包含关于本地计算机系统的信息,包括硬件和操作系统数据。
HKEY_LOCAL_ROOT 包含各种OLE技术使用的信息技术和文件类别关联数据
HKEY_LOCAL_USER 包含环境变量、桌面设置、网络连接、打印机和程序首选项。
HKEY_LOCAL_USERS 包含关于动态加载的用户配置文件和默认的配置文件的信息,有些信息和HKEY_CURRENT_USER交叉出现
HKEY_CURRENT_CONFIG 包含在启动时由本地计算机系统使用的硬件配置文件的相关信息。
利用文件管理器对regedit.exe文件设置成只允许管理员能使用命令访问修改注册表,其他用户只能读取,但不能修改这样就可以防止非法用户恶意修改注册表。
开始运行输入“regedit"运行注册表管理器
禁止自动登录
编辑注册表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\`
Winlogon\AutoAdminLogon(REG_DWORD)值设置为0
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /d 0 /f
启用源路由欺骗保护
System\CurrentControlSet\ Services\Tcpip\Parameters\ 新建(REG_DWORD) 值 名称为 DisableIPSourceRouting 参数为 2
reg add " System\CurrentControlSet\ Services\Tcpip\Parameters\ " /v DisableIPSourceRouting /t REG_DWORD /d 2 /f
目的:防护在网络上发生的源路由欺骗
禁止空链接
删除IPC共享
禁用IPC连接,编辑注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\restrictanonymous
值为1
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v restrictanonymous /d 0 /f
删除系统默认共享
删除服务器上的管理员共享
HKLM\System\CurrentControlSet\ Services\LanmanServer\Parameters\AutoShareServer参数为0
#查看默认共享
net share
#删除默认共享
net share <共享名> /del
修改默认3389远程端口
修改注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber
它默认值是3389,这样我们可以修改成自己的想要的端口号,修改的时候要点十进制。
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /d 4445 /f
关闭135.139.445隐患端口
- 关闭135端口
”开始“—“运行”,输入”dcomcnfg”,单击“确定”,打开组件服务
右键我的电脑,单击”属性”,在默认属性中去掉”在此计算机上启用分布式COM”前的勾
选择”默认协议”选项卡,选中“面向连接的TCP/IP”,单击”确定”按钮,设置完成,重新启动后即可关闭135端口
- 关闭139端口
右键我的“网上邻居”,单击“属性”,再打开本地连接的“属性”
选中Internet协议(TCP/IP),常规选项卡-高级
设置WINS选项卡”禁用TCP/IP上的“NETBIOS”
- 关闭445端口
修改注册表,添加一个键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters在右面的窗口新建一个SMBDeviceEnabled 为REG_DWORD类型键值为 0。
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT" /v SMBDeviceEnabled /t REG_DWORD /d 0 /f
让配置立即生效
- 修改完后立即生效
- 重启explorer.exe进程就可以让修改注册表生效
- 重启计算机