服务器安全问题,被入侵后的排查和处理

最近一直在研究服务器安全的问题,真正体验了什么是一个老鼠坏锅汤的真实例子。

因为有个同事在某站下载了一套帝国cms仿逗游网的源码,安装在了服务器上。导致服务器上所有的大网站以及有权重有流量的站全被被劫持。

曾经也有过被劫持的情况,不过都是在另外一台服务器,找到后门删了就没了。这次就不是了,严重了!

服务器一共200多个网站,6个高权重网站被黑,都被插入了劫持的js代码,而且全是在主页,可能其他小站黑客看不上,也可能只是埋了伏笔等以后再攻击。 而且是春风吹又生。

 昨天大量查看网站的访问日志,因为我们的系统一般只有后台才有post请求,再加上前台都是伪静态,而且大概的时间短我也知道就10个小时内发生的,所以我范围筛选就好了很多。我就注重查找1.post请求的、2.访问php文件的。

 然后根据访问地址,还真找到了隐藏的文件,伪装的很像,而且文件的创建时间都被伪装了。

  这段代码是个POST上传接口,跟正常代码无异,就是一个post上传,然后把大马上传到服务器上做来提权。

  这段代码就恐怖了,正是大马文件,他有密码我不知道是什么,但是我把密码删掉之后越墙进入,看到的景象.......

  全部的文件都一目了然呈现在这里,而且都是通过php操作,这种挂马根本防不胜防,可怕的是他可以进入上级目录。因为无法区分是恶意请求还是自己站的请求,毕竟这些站的源码不是我们自己的。(自己开发的站 另当别论,只需要增加中间件验证所有请求真伪就好)

  这种请求一般都是在国外,什么乌兰多、菲律宾、美国等等,昨天我的nginx禁止了国外ip访问,但是好像对方也很聪明。拿他没办法

  这种低级的挂马今天上午又加了2重限制,

  1.所有文件权限设置为644。

   那么挂马即使你能访问那么你也无法修改删除我的代码。

  2.nginx上传限制

  因站点模板太多,没有时间和精力去一一划分自己的上传接口,所以增加了上传日志,每个上传的post请求全部记录。

  3.时效性改变文件属性(chattr)

 写了一个脚本定时锁定index.html index.php。因为对方只需要首页,其他页面对他们用处不大,毕竟对方不是个聪明的对手。如果是我 我连数据库都拿到,直接sql里注入生成文件的代码。 可惜你不再有机会了

  列一下sh文件

#!/bin/bash

for file in `ls /home/wwwroot/www`
do 
  htmlpath="/home/wwwroot/www/"$file"/index.html"
  phppath="/home/wwwroot/www/"$file"/index.php"
  if [ -f $htmlpath ];then 
   chattr +i $htmlpath
  elif [ -f $phppath ];then
   chattr +i $phppath
  fi
done

  4.禁止国外ip访问

  国外ip列表:可下载下面的配置文件  

   https://download.youkuaiyun.com/download/helloworld_dream/11989909

  把他作为nginx的配置文件 在nginx配置文件最后加上

 include allowip.conf;

  即可禁止国外ip访问,毕竟搞这行业的都在国外。

  5.禁用eval函数(他确实不是一个函数  - - )

  上片文章也讲过了如何禁用eval函数,这种东西百度一大把,但是适不适合自己很重要,毕竟有的系统是会使用到eval的。

   eval只可以避免一句话木马,但是无法避免上传接口以及大马文件。

 

后续再更

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值