189 8069 5689

shell实现对Windows服务器的安全基线检查-创新互联

1.   需求及功能

目前对服务器的管理,始终离不开安全这个话题。如果要对一台windows服务器的安全基线进行一个检查,你认为需要多长的时间呢?

创新互联是一家专业提供漳县企业网站建设,专注与网站制作、成都做网站HTML5、小程序制作等业务。10年已为漳县众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

我们的检查内容主要包括:当前服务器性能检查(CPU使用率\内存使用率\磁盘使用率)、安全组策略加固设置检查、注册表加固设置检查、系统服务加固设置检查等等。要求记录现有设置,并且通过与我们要求的设置进行对比,判断检查结果是否符合安全规范。

如果通过传统的方式,一个熟练的windows管理员要检查上述内容,保守估计用时每台15分钟,如果检查10台就是2个多小时了。有没有效率一点方法?

答案是肯定的。工作原因,用过某些厂商基线检查工具,对windows来说,检查内容都差不多,自己也可以写一个类似的东西,想检查什么都可以自己来定义,界面也简洁点。反正检查时只需敲下命令,然后喝茶,坐等1分钟左右完成检查,查看结果就行了。对需要周期性进行安全基线检查的朋友来说,绝对能大大节约时间。算上前期部署时间也不超过3分钟,部署后一劳永逸,以后安全基线检查只需要敲个命令就行。检查10台windows服务器可能就5分钟,因为可以在SecureCRT上开多个session来同时跑。

2.   实现原理及展示

2.1原理

原理是利用Python中的paramiko模块,通过ssh协议验证windows的登录信息,然后

调用windows的PowerShell来实现对window检查命令的执行,然后取得结果,通过shell进行判断,输出结果(包括htm格式的结果)。目前测试过windows server2008R2和 2012R2 服务器,可以正常执行。当然写脚本过程中会遇到一些问题,但是都有解决的思路,对脚本有兴趣的话可以讨论下。

2.2展示例子

执行脚本后,输入需要检查的windows服务器信息即可

shell实现对Windows服务器的安全基线检查

检查结果自动输出,并进行判断,红色为不符合规范,绿色为符合规范

shell实现对Windows服务器的安全基线检查

还有HTM格式结果,会通过脚本里的sz命令自动下载到你的secureCRT保存路径里

shell实现对Windows服务器的安全基线检查

检查内容主要包括检查项目符合率、服务器性能检查(CPU使用率\内存使用率\磁盘使用率)、安全组策略加固设置检查、注册表加固设置检查、系统服务加固设置检查、是否安装最新补丁、高危端口检查等

3.   准备

3.1  一台Centos系统:  我使用的虚拟机centos6.6 (centos7上运行可能会报错)用来执行脚本,然后执行windows命令。需要有python(一般已经安装了)

3.2  软件:freesshd       官网上下载即可,主要是在被管理的windows服务器上安装

4.   实现步骤

4.1各windows服务器安装freesshd:freesshd的安装直接默认下一步即可

freesshd安装完成后需要稍作设置,如图:

shell实现对Windows服务器的安全基线检查

shell实现对Windows服务器的安全基线检查

shell实现对Windows服务器的安全基线检查

shell实现对Windows服务器的安全基线检查

第一次运行freesshd如图

shell实现对Windows服务器的安全基线检查

然后点击右下角的freesshd图标进行相关设置,SSH选项卡中,将Command shell设置成C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe如图:

shell实现对Windows服务器的安全基线检查

Users选项卡中点击“Add…”

shell实现对Windows服务器的安全基线检查

在弹出的窗口加入windows服务器的管理员账号,然后将Shell打上√ 如图:

shell实现对Windows服务器的安全基线检查

最后可选择是否在Automatic updates里面关闭自动更新,我一般选择关闭

shell实现对Windows服务器的安全基线检查

设置完成后,在开始-运行 里面键入”services.msc”将freesshd服务重启一下

shell实现对Windows服务器的安全基线检查

Sshd在windows服务器上设置完成。

4.2安全设置(可选):各windows服务器上配置ipsec只允许我们的centos服务器连接sshd的22端口,这样就避免了其他未授权的ssh连接,建议设置。

如果启用了防火墙的话,还需要在防火墙里面设置允许freesshd程序通过防火墙,设置完成后可以在centos服务器上telnet X.X.X.X(windows服务器IP) 22 的方式来测试连接是否OK,如图测试正常:

      shell实现对Windows服务器的安全基线检查

4.3脚本准备

1)在本文后面下载shell脚本

2)在centos服务器中上传脚本,命令rz然后选择脚本上传即可

4.4运行脚本开始检查

5.   脚本下载地址


后续:脚本编写思路

明确要检查的内容-收集检查结果-从检查结果里面取需要的数据-对数据进行判断-生成结果

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:shell实现对Windows服务器的安全基线检查-创新互联
链接URL:http://cdxtjz.cn/article/doeiop.html

其他资讯