👨‍💻 只是玩玩 | JUST FUN

服务器安全加固

昨天服务器又出大问题了,我几乎折腾了一整天,今天总结一下。

这次的问题还是和上次一样——被挂马当矿机了。观察了一下那个木马程序的运行逻辑如下,特点如下:wwwu'fa

  1. 无法清除,会通过某种手段自动生成
  2. 打开资源管理器后会自我关闭,关闭资源管理器后不久又会自动运行
  3. 随机选择目录,并自我命名冒充关键程序

综上所属,最开始打算利用火绒的规则程序阻止文件生成的方案应该是行不通了。后来尝试了不同的杀毒软件:node32,火绒,360,小红伞,虽然能识别病毒文件,但是无法解决自动生成的源头。

之后又在网上找资料,试用了一款叫安全狗的针对服务器的防护软件,但是已经有将近两年没更新了。

软件的功能还挺强大的,可以对整个服务器进行自检,做一些降权,端口,常见攻击的防护,用这个软件当天晚上处理完后等了一个小时左右服务器CPU占用都没有异常,想这应该是差不多了把?但是...,回家睡醒后第二天早上,公司打电话来说服务器宕机了,公司内部erp连不上,幸好我们公司是分布式的,总部出问题不太影响门店的主要共能使用。

睡得迷迷糊糊的我立马起床洗漱去了公司。看了眼服务器,电源什么都是通的,但是远程连不上,所以准备接显示器看看,但是发现vga接口好像松掉了,接上也不显示画面,尝试了很久都不行,没办法只能拿去电脑城了。

电脑城的邱哥说vga接口可能是针脚断了,而且我这个vga口子比较短,没法重新焊,所以给我拿了张亮机卡先开机。按下开机键后终于有画面了,但是自检完后到window进度条哪里,进度条走了2圈后就变黑了,是那种屏幕通电也有信号,但是画面是黑的那种。我想这种就是宕机的问题了把。试了下安全模式是可以进系统的,说明应该是程序问题,我自己觉得有可能是安全狗的某项优化服务器导致的(这个猜测应该没错,我后来仔细看了每一项优化内容,有一项是移除shell32.dll这个文件,我查了下这个文件丢失会导致桌面进不去)。

中途出去吃饭,发现还吃了张罚单,fuck!!!

后来试了一两个小时,实在没办法,重装吧~。

至于为什么没有一开始就选择重装,主要是公司erp搭建在上面,虽然我自己也能搭(之前我复制了他们公司的加密狗后自己安装软件和数据库后是可以用的),但是觉得挺麻烦的,iis,映射,数据库等等全要重新搞。

不过也没办法,搞吧。

昨天大致弄完已经是晚上11点49了,这次的安全软件是安全狗+node32,安全狗没有优化shell32.dll那个选项,系统重启后正常启动。但是在安装软件期间发现安全狗和node32频繁提示sqlserver的1433端口被攻击,但都被拦截了,而且挺晚的了就没管了直接回家休息了。

早上仔细想了想,上次被挂马找火绒的人看过后当时就和我说过,我这个问题是数据库被攻破后被黑的。所以这次重装想认真把这个事情处理一下。

找了很多资料,做了以下几项措施i

  1. 开启防火墙
  2. 隐藏sqlserver实例,防止被探测
  3. 防火墙禁用1434端口
  4. 使用wail2ban自动ban掉频繁攻击的ip

本来想改掉1433端口的,但是看了很多资料说这个方法基本没用,还是能扫描到。

wail2ban这个软件是基于linux上一个叫fial2ban的软件开发的防护软件,共能就是自动禁用掉指定阈值内频繁访问的ip。

github上没写的很清楚所以自己还是查了不少资料才搞明白原理,这个软件主要是通过读取windows日志来记录那些ip在如果在一定时间内频繁访问、暴力登录数据库的(现在还没弄明白这个一定时间有多长,想改长一点,十分钟什么的)就会自动编写一些防火墙规则ban掉这个ip,具体使用方法如下:

  1. 在github上下载整个目录
  2. 以 C:\scripts\wail2ban的结构放在C盘下面
  3. 如果你想自动启动可以在windows的任务计划里导入start wail2ban onstartup.xml这个文件生成启动计划
  4. 运行start wail2ban.bat执行程序

注意,如果你是一次执行pwoershell程序可能会无法运行,需要在pwoershell里提成一下执行策略,具体操作我就不贴了,看https://www.cnblogs.com/wswind/p/10911286.html 这个博友写的。

然后打开wail2ban_config.txt,里面对应了windows日志里的几个分类,分别是:应用程序,安全,安装,系统,你可以在日志里查看对应的事件代码后写在config里,格式就是前面是代码后面是你自己写的名字就ok了。