Windows 2016 服务器安全配置和加固
最近一个项目需要使用Windows服务器,选择安装了最新版的Windows 2016,上一次使用Windows服务器还是Windows 2003系统,发现变化还是挺多的,依次记录下来以备后面查阅。
系统更新配置
更换Windows更新服务器
如果你觉得默认的Windows更新服务器比较慢,或者如果选择了阿里云或腾讯云服务器的话,可以更换Windows服务器。
右键开始菜单图标,选择“运行”,然后输入gpedit.msc
,依次选择 “计算机配置” - “管理模板” - “Windows 组件” - “Windows 更新”,双击“指定 Intranet Microsoft 更新服务位置”:
选中 已启用
,然后设置检测更新的Intranet更新服务和统计服务器,如果是阿里云经典网络可以设置成 http://windowsupdate.aliyun-inc.com
,阿里云VPC网络可以设置成 http://update.cloud.aliyuncs.com
,腾讯云可以设置成 http://windowsupdate.tencentyun.com
,备用下载服务器设置成 http://wsus.neu.edu.cn
。
启用并允许自动更新
双击“允许自动更新立即安装”,选择“已启用”启用自动更新。然后双击“配置自动更新”,选中“已启用”并配置成“自动下载并通知安装”,如下图:
设置完上述两步之后,需要以管理员角色执行下面的命令:
gpupdate /force
COPY
解决执行自动更新时出现的 0x8024401f 和 0x8024401c 错误
完成上述操作之后,选择开始菜单-设置,执行检查更新,检查一下是否正常。
如果出现 0x8024401f 或 0x8024401c 错误的话,以管理员身份执行下面的命令:
net stop wuauserv reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate net start wuauserv
COPY
系统账号安全
设置账号安全策略
在“运行”中执行secpol.msc
命令,打开“本地安全策略”,进行如下设置:
(1)“账户设置”-“密码策略”
设置合适的密码复杂度,增强密码的强度。参考设置如下:
(2)“账户设置”-“账户锁定策略”
设置账号密码出错之后的锁定时间,需要先设置“账户锁定阀值”才能设置其他两项,参考设置如下:
(3)“本地策略”-“安全选项”
将“交互式登录: 不显示最后的用户名”设置为“启用”状态。
检查并优化账号
将账户安全设置完成之后,再对系统的账号进行优化。在“运行”中执行compmgmt.msc
命令,打开“计算机管理”,然后在“系统工具”-“本地用户和组”-“用户”中查看是否有不用的账户,将不用的账户删除或停用。除此之外,还要在命令行中使用 net user
命令查看一遍有没有多余的账号(有的账号会在计算机管理中隐藏),可以使用 net user <username> /del
命令删除对应的账号。
将默认的管理员用户名 Administrator 进行重命名,并且建议重新设置新的管理员密码。
禁止系统自动登录
系统休眠重新激活之后,需要密码才能登录系统。在“运行”中输入 control userpasswords2
,打开“用户账户”,然后启用“要是用本机,用户必须输入用户名和密码”的选项。
远程访问安全
更改远程终端默认3389端口
将默认的远程终端端口3389修改成其他的端口。运行regedit
打开注册表程序,需要修改注册表的两个地方:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\repwd\Tds\tcp
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp
将上述两个地方右侧 PortNumber
的值修改成新的端口号(建议将基数设置为十进制):
设置完成之后关闭注册表,然后重启服务器之后即可生效。如果设置防火墙的话,注意新端口加入防火墙的白名单中。
将远程关机、本地关机和用户权限分配只授权给Administrtors组
在“运行”中执行secpol.msc
,打开“本地安全策略”窗口,依次打开“本地策略”-“用户权限分配”。
(1)双击右侧的“从远程系统强制关机”,只保留“Administrators组”并将其他用户组删除;
(2)双击右侧的“关闭系统”,只保留“Administrators组”并将其他用户组删除;
(3)双击右侧的“取得文件或其它对象的所有权”,只保留“Administrators组”并将其他用户组删除;
将远程登录账户设置为具体的管理员账号
指定特定的管理员账号而不是Administrtors组,将增强登录系统的安全性,就算通过漏洞创建了Administrtors组的账号,也无法登录系统。
在“运行”中执行secpol.msc
,打开“本地安全策略”窗口,依次打开“本地策略”-“用户权限分配”。双击右侧的“从网络访问此计算机”,将所有的用户组删除,然后点击下面的“添加用户或组...”按钮,点击“高级”按钮,然后点击“立即查询”按钮,从查询的结果中选择管理员的账号,然后依次确定保存;
系统网络安全
关闭不需要的服务
在“运行”中执行 services.msc
命令,打开“服务”,根据情况建议将以下服务改为禁用:
Application Layer Gateway Service(为应用程序级协议插件提供支持并启用网络/协议连接)
Background Intelligent Transfer Service(利用空闲的网络带宽在后台传输文件。如果服务被停用,例如Windows Update 和 MSN Explorer的功能将无法自动下载程序和其他信息)
Computer Browser(维护网络上计算机的更新列表,并将列表提供给计算机指定浏览)
DHCP Client
Diagnostic Policy Service
Distributed Link Tracking Client
Distributed Transaction Coordinator
DNS Client
Print Spooler(管理所有本地和网络打印队列及控制所有打印工作)
Remote Registry(使远程用户能修改此计算机上的注册表设置)
Server(不使用文件共享可以关闭,关闭后再右键点某个磁盘选属性,“共享”这个页面就不存在了)
Shell Hardware Detection
TCP/IP NetBIOS Helper(提供 TCP/IP (NetBT) 服务上的NetBIOS 和网络上客户端的NetBIOS 名称解析的支持,从而使用户能够共享文件、打印和登录到网络)
Task Scheduler(使用户能在此计算机上配置和计划自动任务)
Windows Remote Management(47001端口,Windows远程管理服务,用于配合IIS管理硬件,一般用不到)
Workstation(创建和维护到远程服务的客户端网络连接。如果服务停止,这些连接将不可用)
关闭“同步主机_xxx”服务
Windows 2016中有一个“同步主机_xxx”的服务,后面的xxx是一个数字,每个服务器不同。需要手动关闭,操作如下:
首先在“运行”中执行regedit
打开注册表,然后在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
下面找到 OneSyncSvc
、OneSyncSvc_xxx
、UserDataSvc
和UserDataSvc_xxx
四个项,依次将其中的 start
值修改为4,退出注册表然后重启服务器即可。
关闭IPC共享
如果在上面停止并禁用 Server
服务的话就不会出现IPC共享了,执行 net share
命令之后会提示“没有启动Server服务”,否则会类似C$、D$等默认共享,可以使用 net share C$ /del
命令进行删除。
在注册表中找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
,在右侧空白处右键,依次选择“新建”-“DWORD项”,名称设置为AutoShareServer
,键值设置为0。
关闭139端口(Netbios服务)、445端口、5355端口(LLMNR)
(1)关闭139端口
依次打开“控制面板”-“查看网络状态和任务”,然后点击左侧的“更改适配器设置”,在网络连接中双击激活的网卡,点击“属性”按钮,双击“Internet 协议版本 4(TCP/IPv4)”,在打开的窗口中点击右下角的“高级”按钮,然后选择上面的“WINS”标签,在“NetBIOS设置”中选择“禁用 TCP/IP上的NetBIOS”,最后依次“确定”。
关闭此功能,你服务器上所有共享服务功能都将关闭,别人在资源管理器中将看不到你的共享资源。这样也防止了信息的泄露。
(2)关闭445端口
445端口是netbios用来在局域网内解析机器名的服务端口,一般服务器不需要对LAN开放什么共享,所以可以关闭。打开注册表,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
位置,在右侧右键并依次选择“新建”-“Dword值”,名称设置为SMBDeviceEnabled
,值设置为0。
(3)关闭5355端口(LLMNR)
LLMNR本地链路多播名称解析,也叫多播DNS,用于解析本地网段上的名称,可以通过组策略关闭将其关闭。打开“运行”,输入gpedit.msc
打开“本地组策略编辑器”,依次选择“计算机配置”-“管理模板”-“网络”-“DNS客户端”,在右侧双击“关闭多播名称解析”项,然后设置为“已禁用”。
网络访问限制
在“运行”中执行 secpol.msc
打开“本地安全策略”,打开“安全设置”-“本地策略”-“安全选项”,设置下面的策略:
网络访问: 不允许 SAM 帐户的匿名枚举:已启用
网络访问: 不允许 SAM 帐户和共享的匿名枚举:已启用
网络访问: 将 Everyone 权限应用于匿名用户:已禁用
帐户: 使用空白密码的本地帐户只允许进行控制台登录:已启用
设置完成之后,在命令行(管理员身份)中执行 gpupdate /force
使其立即生效。
日志审计
增强日志记录
增大日志量大小,避免由于日志文件容量过小导致日志记录不全。在“运行”中执行eventvwr.msc
命令,打开“事件查看器”窗口,打开“Windows 日志”文件,分别右键下面的“应用程序”、“安全”和“系统”项,选择“属性”,修改“日志最大大小”为 20480。
增强审核
对系统事件进行记录,在日后出现故障时用于排查审计。在“运行”中执行secpol.msc
命令,打开“本地安全策略”窗口,依次选择“安全设置”-“本地策略”-“审核策略”,建议将里面的项目设置如下:
审核策略更改:成功
审核登录事件:成功,失败
审核对象访问:成功
审核进程跟踪:成功,失败
审核目录服务访问:成功,失败
审核系统事件:成功,失败
审核帐户登录事件:成功,失败
审核帐户管理:成功,失败
上面的项目设置成功之后,在“运行”中执行 gpupdate /force
命令使设置立即生效。
开启并设置防火墙
如果使用了云服务器(如阿里云、腾讯云等),云服务商会提供一个防火墙工具,通常是放在路由级别的,使用起来更方便,如果误操作的话也不会将自己排除在服务器上,因此建议优先采用云服务商提供的防火墙。
开启或关闭Windows防火墙
打开“控制面板”,依次选择“系统和安全”-“Windows防火墙”,选择左侧的“启用或关闭Windows防火墙”,根据需要选择启用或关闭Windows防火墙。如果采用了云服务商提供的防火墙的话,建议将Windows防火墙关闭。PS:开启防火墙之前需要允许远程登录的端口访问,否则远程连接会中断!
允许特定的端口访问
这里以Windows防火墙为例进行说明(其实云服务商提供的防火墙规则是类似的),前提是防火墙是启用的。在“运行”中执行 WF.msc
打开“高级安全 Windows 防火墙”,点击左侧的“入站规则”,然后点击右侧的“新建规则...”打开“新建入站规则向导”窗口,选择“端口”然后点击“下一步”按钮;端口类型选择“TCP”,下面选择“特定本地端口”,里面输入设置的远程登录端口以及Web端口,如:80, 433, 3389
,然后点击“下一步”按钮;选择“允许连接”,然后点击“下一步”按钮;选中所有的选项,然后点击“下一步”;最后输入一个规则的名称,比如“允许远程连接和Web服务”,最后点击“完成”保存。
关闭ICMP(禁ping)
按照上面的步骤打开“高级安全 Windows 防火墙”并选中左侧的“入站规则”,从默认的规则里面双击“文件和打印机共享(回显请求 - ICMPv4-In)”,在“常规”中选中“已启用”,并在“操作”中选中“阻止连接”,最后“确定”保存即可。
其它安全设置
设置屏保,使本地攻击者无法直接恢复桌面控制
打开“控制面板”,依次进入“外观和个性化”-“个性化”-“屏幕保护程序”,选择某一个屏保,然后选中“在恢复时显示登录屏幕”,并将等待时间设置为10分钟。
关闭Windows自动播放功能
在“运行”中执行gpedit.msc
命令,依次打开“计算机配置”-“挂你模板”-“所有设置”,双击“关闭自动播放”,然后选择“已启用”。
参考资料:
Windows Server 2019/2016 配置自动更新和更换大陆更新服务器
Windows 10 加入網域後連線到 WSUS 碰到的錯誤 0x8024401f 跟 0x8024401c
腾讯云Windows系统更新
Windows server 2012安全加固与web环境配置优化
Windows Server 安全加固指南
Windows服务器的基础安全加固
WINDOWS服务器安全加固实战(适用于WINDOWS SERVER 2008 R2和WINDOWS SERVER 2012)
win10关闭主机同步服务
Windows 2016 服务器安全配置和加固的更多相关文章
- Windows Server 服务器安全配置
Windows Server 服务器安全配置 好吧,我标题党了.我只了解一些基本的安全配置.如果你是大湿,请绕道或者给予我严厉的批评让我进步谢谢. 编辑这篇文章用的编辑器编辑的,当我单击查看的时候发现 ...
- [转]Windows Server 2016 服务器IIS配置
本文转自:https://blog.csdn.net/corson/article/details/82185407 多余的话就不说了,配置Windows Server 2016服务器具体如下图 ...
- windows Apache服务器简单配置虚拟域名(转载)
1.找到apache目录下的conf下的extra下的httpd-vhosts.conf虚拟主机配置文件 将下面的代码复制粘贴到最下面: #<VirtualHost *:80># ...
- windows server 服务器 环境配置
自动备份 xcopy d:\web\zhiku\*.* d:\bak\web\zhiku\%date:~,4%%date:~5,2%%date:~8,2%\ /S /I
- Windows 2008 R2 域控制器迁移至windows 2016记录
文章参考 https://social.technet.microsoft.com/Forums/zh-CN/21a5f5e9-feee-4454-acad-fd22989d7bed/22495296 ...
- 服务器 apache配置https,http强制跳转https(搭建http与https共存)
公司linux服务器上的nginx的已经改成https了,现在还剩下一个windows云服务器没配置. 环境 windows wampserver2.5 64位 1.腾讯云申请的ssl 包含三个文件: ...
- Windows Server 2016 + SCO 2016 安装及配置介绍
Windows Server 2016 + SCO 2016 安装及配置介绍 高文龙关注1人评论6332人阅读2017-02-26 23:23:02 Windows Server 2016 + SCO ...
- Ubuntu 系统服务器初始化配置、安全加固、内核优化和常用软件安装的Shell脚本分享
转载自:https://www.bilibili.com/read/cv13875402?spm_id_from=333.999.0.0 描述: 适用于企业内部 Ubuntu 操作服务器初始化.系统安 ...
- CC++初学者编程教程(11) 配置Windows数据库服务器
1.我们新建一个虚拟机. 2. 选择默认的WorkStation10.0. 3.我们选择VS2012的镜像. 4.我们设置用户密码,跳过WindowsSever2012密钥 5.我们选择是,稍后手动激 ...
随机推荐
- (4)Angular的开发
angular框架,库,是一款非常优秀的前端高级JS框架,有了这个框架就可以轻松构建SPA应用程序,通过指令宽展了HTML,通过表达式绑定数据到HTML. 轻松构建SPA应用程序,单一页面应用程序 h ...
- (29)打鸡儿教你Vue.js
web阅读器开发 epub格式的解析原理 Vue.js+epub.js实现一个简单的阅读器 实现阅读器的基础功能 字号选择,背景颜色 有上一页,下一页的功能 设置字号,切换主题,进度按钮 电子书目录 ...
- 理解 ES6 语法中 yield* 关键字的作用
在 ES6 中新增了生成器函数的语法,本文解释了与生成器函数有关的 yield* 关键字,及其使用场景. 描述 根据语法规范,yield* 的作用是代理 yield 表达式,将需要函数本身产生(yie ...
- [内网渗透]Mimikatz使用大全
0x00 简介 Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码 ...
- window.location.href在微信端不起作用的解决方法?
在我从第一张图的某个活动进去到详情页,点击返回是可以的,这里我是用了一个click事件,window.location.href="某死链接" 但是第二次进去点击之后点击事件是可以 ...
- GO语言数组,切片,MAP总结
数组 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 数组的长度必须是常量,并且长度是数组类型的一部分.一旦定义,长度不能变.数 ...
- rapidxml学习
参考: 官网http://rapidxml.sourceforge.net/ https://blog.csdn.net/wqvbjhc/article/details/7662931 http:// ...
- mysql 使用的三个小技巧
mysql 使用的三个小技巧 快速阅读 Mysql查询工具中如何查询多条语名,Mysql中如何设置变量,Mysql中如何查特定字段,后面再加* Mysql查询工具中如何查询多条语名 默认myslq只能 ...
- java 面试题目(java高级架构)
题目信息 java基础: 1. Java 基础 JDK 和 JRE 有什么区别? Java中JDK和JRE的区别是什么?它们的作用分别是什么? == 和 equals 的区别是什么? 两个对象的 ...
- vue cli 静态资源导入 路径
1.public文件夹 使用绝对路径引入. 2.assets文件夹 使用相对路径引入. https://cli.vuejs.org/zh/guide/html-and-static-assets.ht ...