• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >windows > 关于apache应用,受到攻击的一些处理办法

关于apache应用,受到攻击的一些处理办法

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含受到诫勉谈话处理,受到改组处理,受到改组处理的党组织,当受到威胁时怎么处理,对于受到解散处理等服务器相关知识,网友希望可以进行参考

前言

   最近遇到一个问题,我网站一个小应用,都快要下线了,结果老不消停,负载彪高,响应缓慢,检查超时等等,正常的用户请求每天在1000+左右,这样的pv量,完全不是问题,查看了cookie_log,发现有5G之多,看了下日志,果然是攻击,于是就开始了我的防攻击之旅。


一、现象

   1、负载很高,4核的机器,负载到40以上

   2、http check超时10s

   3、页面访问慢如蜗牛甚至直接503;


二、分析原因:

   应用架构为apache+jboss,系统为redhat,正常每天的访问量在500~1000,日常负载保持在0左右基于此,该业务已经纳入下线计划中)。如此低的访问量,根本不会出现负载高、响应慢的情况,看了访问日志,有5G之多,毫无疑问,这肯定是攻击了。        

   攻击特征:A、IP分散;B、请求的URL为POST登录请求;C、攻击的agent为同一个:Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)

   攻击必须要拦截啊,不然我就舒坦不了,下面就开始了我的拦截之旅。


三、攻击防御:

   1、最直接和简单的,就是iptables了吧,原理很简单,就是找出攻击IP,然后通过Iptables,将攻击IPdrop掉,封装了两个脚本,如下:

   A、脚本一,获取攻击IP并加入到iptables里面:get_hack_iplist.sh

#/bin/bash
#Edit:371782968@qq.com
#Date:2013-06-22
#Function:get hack ip list from cookie_log,then to iptables
#cookie_log path
cookie_log="/home/app/logs/cookie_logs/`date "+%w"`/cookie_log"
ip_counts="/home/app/fuck_hack/log/ip_hack.txt"
ip_counts_temp="/home/app/fuck_hack/log/ip_hack.txt.temp"
record_black_list="/home/app/fuck_hack/log/record_black_list.txt"
#get counts Ip from cookie_log
function get_ip_counts(){
        tail -n 10000 $cookie_log | awk '{print $1,$5}' | sort | uniq -c | sort -rg | head >$ip_counts
        #quchong
        awk '{a[$2]+=$1}END{for(i in a)print i,a[i]}' $ip_counts >$ip_counts_temp
}
#add ip black list to iptables
function add_to_iptables(){
        echo "date: `date "+%Y-%m-%d %H:%M:%S"`">>$record_black_list
        while read line
        do
                #get Ip
                ip=`echo $line | awk '{print $1}'`
                #232.* is beside
                if [ `echo $ip | grep '^232'|wc -l` -eq 1 ];then
                        continue
                fi
                #get times
                count=`echo $line | awk '{print $2}'`
                if [ $count -ge 10 ];then
                        echo -e "\t$ip\t$count">>$record_black_list
                        /sbin/iptables -A INPUT -s $ip -p tcp  -j DROP
                fi
        done<$ip_counts_temp
}
get_ip_counts
add_to_iptable


   B、脚本二,清除iptables,这一步是为了防止误杀或者ip太多,导致iptables性能问题:clear_iptables.sh


#!/bin/bash
#edit :371782968@qq.com
#date :2013-06-22
#fucntion:clear iptables link
log="/home/app/fuck_hack/log/clear_iptables.log"
echo "date: `date "+%Y-%m-%d %H:%M:%S"`">>$log
/sbin/iptables -X && /sbin/iptables -F
if [ $? -eq 0 ];then
        echo -e "\tclear iptables link OK!">>$log
fi

   3、把这两个脚本放到crontab下面去,定时执行,如下:

    iptables里面

#每隔2分钟,扫一次黑名单,将黑名单加入iptables里面
*/2 * * * * sh /home/app/fuck_hack/get_hack_iplist.sh >/dev/null 2>&1
#为防止误杀及iptables性能,每小时的03分,清理一次iptables
3 */1 * * * sh /home/app/fuck_hack/clear_iptables.sh  >/dev/null 2>&1


  至此,最简单的利用iptables来防攻击的就实现了。


   2、没消停几天,问题有出现了,负载高,响应慢,我怀疑还是攻击的ip太分散,切攻击频率太高,iptable的拦截ip毕竟有限,这次尝试了网上介绍的一种方案,利用apache的 mod_evasive 模块拦截。

   mod_evasive 介绍

   mod_evasive 是Apachehttpd)服务器的防DDOS的一个模块。对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的    扩展模块。虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到缓服Apachehttpd)服务器的压力。如配合iptables、硬件防火墙等防火墙设备配合使用,可能有更好的效果。
   mod_evasive 的官方地址:http://www.zdziarski.com


   详细的配置我这里就不多说了,我参考的是开源中国里面的一片分享,地址:http://www.oschina.net/question/17_1564

   详细的配置和参数说明都有,下面是我的配置:

LoadModule evasive20_module   /usr/ali/apache2/modules/mod_evasive20.so
<IfModule mod_evasive20.c>
    DOSHashTableSize    85420
    DOSPageCount        5
    DOSPageInterval     1
    DOSSiteCount        5
    DOSSiteInterval     1
    DOSBlockingPeriod   3600
</IfModule>

   我这里配置的都很小,规则比较严格。生效的话,会在/tmp目录下,生成dos-ip的文件,每个ip就为一个攻击ip,每个文件的内容,就为该ip攻击的次数。


   3、以上配置虽然生效了,负载有降低,http也能正常打开了,但发现效果不明显,没有详细的分析过,我初步怀疑可能还是访问量太大了,模块在做过滤等的性能问题,再加上apache的版本太老,因此效果可能没有发挥出来。

   实在是没辙了,黑客牛逼,逼的我不得不回到公司的终极武器上,XXX攻击防御模块,经过一般努力,终于配置上线,顿时,在控制台上,黑客原形毕露,各种ip,各种agent。长吸一口气,起身,一杯咖啡下肚,阴笑一声,选择,全部,目的,黑洞。


   至此,彻底封杀了黑客的恶心,害得小爷陪你玩了好几天。


   备注,没有第一时间考虑该模块是因为该业务的系统和apache版本都太老了,仓库里的XXX模块版本都不支持,最后逼的开发不知道从那个旮旯里找出来一个版本,抱着试试的态度,安装配置完成并生效。








本文出自 “随风而去” 博客,谢绝转载!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于apache应用,受到攻击的一些处理办法

相关文章

  • Python+django 快速建立简易blog
  • 自己搭建家庭“云”(1)——概念、布局、平台选择
  • 负载均衡集群解决方案 (一)LVS-DR
  • 教你小技巧让你玩转你的Windows Update功能
  • 怎么修改tomcat默认访问首页
  • liunx服务使用( 源码包 Nagios 监控软件)
  • iis和apache 80端口冲突无法正常启动解决方法
  • windows系统搭建SVN 管理环境
  • 免疫Windows系统 不受恶意代码骚扰
  • windows 安装 mongodb 服务图文教程

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • windows 2003 Gene6 FTP Server 新建域/帐户
    • WINDOWS象2003服务器定时自动重启任务计划
    • Hadoop (CDH4发行版)集群部署 (部署脚本,namenode高可用,hadoop管理)
    • windows2003服务器配置Asp.Net环境图解
    • 安装部署分布式监控系统Zabbix 2.06
    • IIS提示Service Unavailable错误解决办法
    • Windows2008中IE安全级别高无法调整的解决方法
    • Windows无法查询DllName注册表项它将不会被加载
    • 禁用windows 2003“可保留带宽”服务
    • XenDesktop 7 软硬件需求.

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有