笔者是耐威迪公司的运维实施人员,负责梳理客户提供的数据并导入软件,配置软件,并且部署软件到客户的服务器。我们软件是部署在WindowsServer操作系统的服务器上的,由于我们耐威迪的线路可视化软件NVisual是通过2D可视化形式展现实际数据中心中设备和线路关系的软件,要完成这个功能,用户会提供给我们他们所要搭建2D平台的数据中心的所有机柜、设备、链路数据。所以我在服务器部署软件的时候要兼顾到服务器的安全配置,保护客户的数据资料不被泄露。虽然我们的软件NVisual本身有高强度的保护机制,但是如果服务器被黑客攻入直接访问到数据库,那么客户的数据仍会出安全问题,所以笔者对服务器的安全配置十分上心,下面想跟大家分享一下自己对WindowsServer服务器安全配置的心得和经验。
那么安全配置的基本功是什么:
①首先要关闭本机不用的端口或只允许指定的端口访问;
②要学会对进程操作,时时注意系统运行状况,看看是否有一些不明进程正运行并及时地将不明进程终止掉;
③关闭不必要的服务;
④建立安全账号策略和安全日志;
⑤设置安全的IIS,删除不必要的IIS组件和进行IIS安全配置。在 IIS安全配置时候,要注意修改默认的“Inetpub”目录路径。可以删除C盘的“Inetpub”目录,然后在D盘重建一个“Inetpub”,而后 在IIS管理器中将主目录指向新建立的“Inetpub”路径。此外,还需要删除默认的“scripts”、“print”等虚拟目录,然后在IIS管理 器中删除不必要的映射,一般情况下保留ASP、ASA就可以了。
具体方法是在“IIS信息服务”管理器中右击主机名,选择“属性”→ “主目录”标签,点击“高级”按钮,在“映射”标签中就可以删除不必要的映射了。
⑥SQL Server是各种网站系统中使用得最多的数据库系统,一旦遭受攻击,后果是非常严重的。虽然默认的SA用户具有对SQL Server数据库操作的全部权限,所以一定要为SA账号设置一个复杂的口令。
后门防御
接下来介绍一下服务器后门的防御。后门防范是一个不能忽视的关键点,后门是攻击者出入系统的通道,它隐蔽而危险。攻击者利用后门技术如入无人之境。针对Windows系统的后门是比较多的。
①嗅探欺骗:攻击者在控制了主机之后,并不创建新的帐户而是在主机上安装嗅探工具窃取管理员的密码。由于此类后门,并不创建新的帐户而是通过嗅探获取的管理员密码登录系统,因此隐蔽性极高,如果管理员安全意识不高并缺少足够的安全技能的话是根本发现不了的。
防范措施:
嗅探后门攻击者以正常的管理员帐户登录系统,因此很难发现,不过任何入侵都会留下蛛丝马迹,我们可以启用组策略中的“审核策略”使其对用户的登录情况进行记录,然后通过事件查看器查看是否有可疑时间的非法登录。下载杀毒软件清除安装在系统中的嗅探工具,然后更改管理员密码。
②放大镜程序:放大镜是系统集成的一个小工具,它是为方便视力障碍用户而设计的。在用户登录系统前可以通过“Win+U”组合键调用该工具,因此攻击者就用精心构造的magnify.exe同名文件替换放大镜程序,从而达到控制服务器的目的。
通常情况下,攻击者通过构造的magnify.exe程序创建一个管理员用户,然后登录系统。当然有的时候他们也会通过其直接调用命令提示符(cmd.exe)或者系统shell(explorer.exe)。需要说明的是,这样调用的程序都是system权限,即系统最高权限。不过,以防万一当管理员在运行放大镜程序时发现破绽,攻击者一般通过该构造程序完成所需的操作后,最后会运行真正的放大镜程序,以蒙骗管理员。
防范措施:
进入%Windir%\system32\查看magnify.exe的文件图标是否是原来的放大镜的图标,如果不是的话极有可能被植入了放大镜后门。当然,有的时候攻击者也会将其文件图标更改为和原放大镜程序的图标一样。此时我们可以查看magnify.exe文件的大小和修改时间,如果这两样有一项不符就比较怀疑了。我们也可以先运行magnify.exe,然后运行lusrmgr.msc查看是否有可疑的用户。如果确定服务器被放置了放大镜后门,首先要删除该文件,然后恢复正常的放大镜程序。当然,我们也可以做得更彻底一些,用一个无关紧要的程序替换放大镜程序。甚至我们也可以以其人之道还治其人之身,构造一个magnify.exe,通过其警告攻击者或者进行入侵监控和取证。
(补充:与放大镜后门类似的还有“粘滞键”后门,即按下SHIEF键五次可以启动粘滞键功能,其利用和防范措施与放大镜后门类似,只是将magnify.exe换成了sethc.exe。)
③telnet欺骗:telnet是命令行下的远程登录工具,不过在服务器管理时使用不多也常为管理员所忽视。攻击者如果在控制一台服务器后,开启“远程桌面”进行远程控制非常容易被管理员察觉,但是启动Telnet进行远程控制却不容易被察觉。不过,telnet的默认端口是23,如果开启后,别人是很容易扫描到的,因此攻击者会更改telnet的端口,从而独享该服务器的控制权。
防范措施:
对于telnet后门的方法非常简单,可以通过“tlntadmn config port=n”命令更改其端口,更彻底的运行“services.msc”打开服务管理器,禁用telnet服务。
服务器安全配置
基本功和重要的后门防范知识说完了,那么接下详细说一下对服务器的配置操作。我们都知道360杀毒软件是流氓软件,windows系统本身的防火墙就十分有效,只要我们配置的好,就可以不用这些流氓软件也不担心服务器安全。那么我们的防火墙该如何配置呢,首要的是管控好我们的入站端口。
允许特定的端口访问
这里以Windows防火墙为例进行说明(其实云服务商提供的防火墙规则是类似的),前提是防火墙是启用的。在“运行”中执行 WF.msc 打开“高级安全 Windows 防火墙”,点击左侧的“入站规则”,然后点击右侧的“新建规则…”打开“新建入站规则向导”窗口,选择“端口”然后点击“下一步”按钮;端口类型选择“TCP”,下面选择“特定本地端口”,里面输入设置的远程登录端口以及Web端口,如:80, 5000,13389,然后点击“下一步”按钮;选择“允许连接”,然后点击“下一步”按钮;选中所有的选项,然后点击“下一步”;最后输入一个规则的名称,比如“允许远程连接和Web服务”,最后点击“完成”保存。
默认情况下,Windows有很多端口是开放的,在你上网的时候,网络病毒和黑客可以通过这些端口连上你的电脑。为了让你的系统变为铜墙铁壁,应该封闭这 些端口,主要有:TCP 135、139、445、593、1025 端口和 UDP 135、137、138、445 端口,一些流行病毒的后门端口(如 TCP 2745、3127、6129 端口),以及远程服务访问端口3389(与开放端口操作是一样的,只不过在选“允许”那一步改为“禁止”)。但是还要远程访问该怎么办?更改远程终端默认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,打开“本地安全策略”窗口,依次打开“本地策略”-“用户权限分配”。双击右侧的“从网络访问此计算机”,将所有的用户组删除,然后点击下面的“添加用户或组…”按钮,点击“高级”按钮,然后点击“立即查询”按钮,从查询的结果中选择管理员的账号,然后依次确定保存;
关闭“同步主机_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
、D
、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客户端”,在右侧双击“关闭多播名称解析”项,然后设置为“已禁用”。
但有些端口是不能关掉的。像135端口,它是RPC服务打开的端口如果把这个服务停掉,那计算机就关机了。
然后就是关闭一些服务
在“运行”中执行 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(使远程用户能修改此计算机上的注册表设置)
Shell Hardware Detection
TCP/IP NetBIOS Helper(提供 TCP/IP (NetBT) 服务上的NetBIOS 和网络上客户端的
NetBIOS 名称解析的支持,从而使用户能够共享文件、打印和登录到网络)
Task Scheduler(使用户能在此计算机上配置和计划自动任务)