最近一个项目需要使用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 下面找到 OneSyncSvcOneSyncSvc_xxxUserDataSvcUserDataSvc_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 服务器安全配置和加固的更多相关文章

  1. Windows Server 服务器安全配置

    Windows Server 服务器安全配置 好吧,我标题党了.我只了解一些基本的安全配置.如果你是大湿,请绕道或者给予我严厉的批评让我进步谢谢. 编辑这篇文章用的编辑器编辑的,当我单击查看的时候发现 ...

  2. [转]Windows Server 2016 服务器IIS配置

    本文转自:https://blog.csdn.net/corson/article/details/82185407 多余的话就不说了,配置Windows Server 2016服务器具体如下图    ...

  3. windows Apache服务器简单配置虚拟域名(转载)

    1.找到apache目录下的conf下的extra下的httpd-vhosts.conf虚拟主机配置文件 将下面的代码复制粘贴到最下面:   #<VirtualHost *:80>#   ...

  4. windows server 服务器 环境配置

    自动备份 xcopy d:\web\zhiku\*.* d:\bak\web\zhiku\%date:~,4%%date:~5,2%%date:~8,2%\ /S /I

  5. Windows 2008 R2 域控制器迁移至windows 2016记录

    文章参考 https://social.technet.microsoft.com/Forums/zh-CN/21a5f5e9-feee-4454-acad-fd22989d7bed/22495296 ...

  6. 服务器 apache配置https,http强制跳转https(搭建http与https共存)

    公司linux服务器上的nginx的已经改成https了,现在还剩下一个windows云服务器没配置. 环境 windows wampserver2.5 64位 1.腾讯云申请的ssl 包含三个文件: ...

  7. Windows Server 2016 + SCO 2016 安装及配置介绍

    Windows Server 2016 + SCO 2016 安装及配置介绍 高文龙关注1人评论6332人阅读2017-02-26 23:23:02 Windows Server 2016 + SCO ...

  8. Ubuntu 系统服务器初始化配置、安全加固、内核优化和常用软件安装的Shell脚本分享

    转载自:https://www.bilibili.com/read/cv13875402?spm_id_from=333.999.0.0 描述: 适用于企业内部 Ubuntu 操作服务器初始化.系统安 ...

  9. CC++初学者编程教程(11) 配置Windows数据库服务器

    1.我们新建一个虚拟机. 2. 选择默认的WorkStation10.0. 3.我们选择VS2012的镜像. 4.我们设置用户密码,跳过WindowsSever2012密钥 5.我们选择是,稍后手动激 ...

随机推荐

  1. am335x system upgrade rootfs for dhcpcd cross compile(十三)

    dhcpcd移植 [目的] 移植dhcpcd的目是在AM335X开发板上使用dhcp功能,获取WAN口设备的IP,并且可以通过参数指定其matric,matric值越小,其优先级越高.如设备可以以太网 ...

  2. P3723 【[AH2017/HNOI2017]礼物】

    被某大佬指出这是多项式板子!? 我们假设我们原始数列是\(a_i, c_i\), 旋转后的数列是\(a_i, b_i\),我们的增加量为x \[\sum_{i = 1}^n(a_i - b_i + x ...

  3. Python中多层List展平为一层

    小书匠python 使用Python脚本的过程中,偶尔需要使用list多层转一层,又总是忘记怎么写搜索关键词,所以总是找了很久,现在把各种方法记录下来,方便自己也方便大家. 方法很多,现在就简单写8种 ...

  4. Code Chef October Challenge 2019题解

    传送门 \(MSV\) 设个阈值搞一搞就行了 //quming #include<bits/stdc++.h> #define R register #define pb emplace_ ...

  5. AtCoder Grand Contest 014题解

    传送门 \(A\) 首先大力猜测一下答案不会很大,所以次数大于\(10^6\)输出\(-1\)就行了 不过我并不会证上界,据说是因为如果\(a=b=c\)且都是偶数肯定\(-1\),否则设\(a\le ...

  6. 【一起来烧脑】一步学会AngularJS系统

    AngularJS是一个JavaScript框架 一个用JavaScript编写的库 [外链图片转存失败(img-JUTh171K-1563341248796)(https://upload-imag ...

  7. Javascript正则RegExp对象replace方法替换url参数值

    看别的博客有用eval执行正则表达式的写法, //替换指定传入参数的值,paramName为参数,replaceWith为新值 function replaceParamVal(paramName,r ...

  8. java 跳出多重循环

    public class Main { public static void main(String[] args) { System.out.println("start"); ...

  9. What are all the possible values for HTTP “Content-Type” header?

    What are all the possible values for HTTP “Content-Type” header? You can find every content type her ...

  10. windows下CEF3的关闭流程《转》

    原文地址:https://github.com/fanfeilong/cefutil/blob/master/doc/CEF_Close.md ============================ ...