灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3307回复:1

WEB服务器遭到攻击后做的一些优化

楼主#
更多 发布于:2013-08-01 10:17
 近日发现我的web服务器遭到攻击,篡改了我的首页信息,杯具的是不是我先发现的,是我的同事发现了这一信息。
 
我打开首页后发现,篡改的首页信息是隐藏的。右击查看源码在最下面找到了一些莫名奇妙的友情连接,就去WEB服务器上查找可疑的文件,并查看WEB的access.log 没有发现问题(马虎)。 查看网站的主目录发现有可疑文件,分别在网站的主目录下和FCK下有一下0.jsp 1.jsp 00.php文件,并在FCK文件夹里发现有可疑的exe文件,分别有三个文件cmd.exe和FindPass.exe 看到这里心想完了,系统不保了,看了一下文件的上传日期就再次查看了一下access.log文件,发现有可疑的地方并执行了一个jsp的文件,马上复制这个地址在浏览器上打开发现 是一个“小马” 能执行成功。“小马”上传上去以后他们就可以接着上次“大马”和其他的他们用到的程序了,看来是我们WEB部署的程序上有上传的漏洞。被人家拿到了webshell。
 
环境:windows+apache+php+tomcat+jk
 
分析:
 
由于环境是支持jsp和php的所以在jsp的环境运行php是可以的,在php的环境下运行jsp也是可以运行的。上传目录的权限也有执行的权限。程序上也没有做真实的文件类型验证。
 
做修复工作:
 
服务上优化:
 
把运行jsp的目录禁止php的运行,把上传目录的脚本解析权限去掉。
 
apache的配置文件设置的太糙。
 
以前设置apache的配置文件是,除了.jpg .js .png .html等一些静态的文件又apache来处理,以外的所有有tomcat来处理。
 
现在要修改tomcat来处理的一些用到的扩展名,其它都由apache来处理。
 
这样才能拒绝扩展名的执行,因为apache和tomcat一起工作时 apache会将tomcat处理的文件名先给tomcat然后在看禁止权限规则。由于我们的网站都是动态的地址所以用不到jsp后缀名,所以.jsp的后缀名可以交给apache来处理,可以拒绝这个扩展名也可以不拒绝,就是不拒绝这个jsp扩展名的文件打开以后他也不会执行,他会显示这个jsp文件的内容。即使他改成jsp1 也是不能执行的。
 
然后再限制一下php
 
php就好限制了,网上有很多。把php_flag engine off 加到不想让php执行的目录权限里就可以了
 
最终的配置文件:
 
#vi uriworkermap.properties
 
###这里是交给我们的tomcat来处理的后缀名
 
JkMount /*.key tomcat
 
JkMount /*.aaa tomcat
 
……
 
httpd.conf 配置文件修改
 
#vi httpd.conf
 
###这个目录不允许运行php脚本,和禁止运行.jsp*、.php*的后缀名
 
<Directory "D:\opt\www\webroot">
 
php_flag engine off
 
<Files ~ "\.(php|jsp)">
 
Order allow,deny
 
Deny from all
 
</Files>
 
</Directory>
 
重启apache服务,测试吧!!!
 
以上配置都亲自测试过。哪里写的不好的、看不明白的请多多指点。
 
程序上优化:
 
程序上的优化就是来做真实的文件类型来判断是否能够上传。

喜欢0 评分0
倪-主-角
终身会员
终身会员
  • 注册日期2013-03-16
  • 发帖数163
  • QQ393320234
  • 火币255枚
  • 粉丝30
  • 关注2
  • 忠实会员
沙发#
发布于:2013-08-01 11:17
学习了 赞。

成功不是赢过多少人,而是帮助过多少人。
回复(0) 喜欢(0)     评分
游客

返回顶部