目前对服务器的管理,始终离不开安全这个话题。如果要对一台windows服务器的安全基线进行一个检查,你认为需要多长的时间呢?
我们的检查内容主要包括:当前服务器性能检查(CPU使用率\内存使用率\磁盘使用率)、安全组策略加固设置检查、注册表加固设置检查、系统服务加固设置检查等等。要求记录现有设置,并且通过与我们要求的设置进行对比,判断检查结果是否符合安全规范。
如果通过传统的方式,一个熟练的windows管理员要检查上述内容,保守估计用时每台15分钟,如果检查10台就是2个多小时了。有没有效率一点方法?
答案是肯定的。工作原因,用过某些厂商基线检查工具,对windows来说,检查内容都差不多,自己也可以写一个类似的东西,想检查什么都可以自己来定义,界面也简洁点。反正检查时只需敲下命令,然后喝茶,坐等1分钟左右完成检查,查看结果就行了。对需要周期性进行安全基线检查的朋友来说,绝对能大大节约时间。算上前期部署时间也不超过3分钟,部署后一劳永逸,以后安全基线检查只需要敲个命令就行。检查10台windows服务器可能就5分钟,因为可以在SecureCRT上开多个session来同时跑。
2.1原理
原理是利用Python中的paramiko模块,通过ssh协议验证windows的登录信息,然后
调用windows的PowerShell来实现对window检查命令的执行,然后取得结果,通过shell进行判断,输出结果(包括htm格式的结果)。目前测试过windows server2008R2和 2012R2 服务器,可以正常执行。当然写脚本过程中会遇到一些问题,但是都有解决的思路,对脚本有兴趣的话可以讨论下。
2.2展示例子
执行脚本后,输入需要检查的windows服务器信息即可
检查结果自动输出,并进行判断,红色为不符合规范,绿色为符合规范
还有HTM格式结果,会通过脚本里的sz命令自动下载到你的secureCRT保存路径里
检查内容主要包括检查项目符合率、服务器性能检查(CPU使用率\内存使用率\磁盘使用率)、安全组策略加固设置检查、注册表加固设置检查、系统服务加固设置检查、是否安装最新补丁、高危端口检查等
3.1 一台Centos系统: 我使用的虚拟机centos6.6 (centos7上运行可能会报错)用来执行脚本,然后执行windows命令。需要有python(一般已经安装了)
3.2 软件:freesshd 官网上下载即可,主要是在被管理的windows服务器上安装
4.1各windows服务器安装freesshd:freesshd的安装直接默认下一步即可
freesshd安装完成后需要稍作设置,如图:
第一次运行freesshd如图
然后点击右下角的freesshd图标进行相关设置,SSH选项卡中,将Command shell设置成C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe如图:
Users选项卡中点击“Add…”
在弹出的窗口加入windows服务器的管理员账号,然后将Shell打上√ 如图:
最后可选择是否在Automatic updates里面关闭自动更新,我一般选择关闭
设置完成后,在开始-运行 里面键入”services.msc”将freesshd服务重启一下
Sshd在windows服务器上设置完成。
4.2安全设置(可选):各windows服务器上配置ipsec只允许我们的centos服务器连接sshd的22端口,这样就避免了其他未授权的ssh连接,建议设置。
如果启用了防火墙的话,还需要在防火墙里面设置允许freesshd程序通过防火墙,设置完成后可以在centos服务器上telnet X.X.X.X(windows服务器IP) 22 的方式来测试连接是否OK,如图测试正常:
4.3脚本准备
1)在本文后面下载shell脚本
2)在centos服务器中上传脚本,命令rz然后选择脚本上传即可
4.4运行脚本开始检查
明确要检查的内容-收集检查结果-从检查结果里面取需要的数据-对数据进行判断-生成结果
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。