Chinaunix首页 | 论坛 | 博客
  • 博客访问: 784838
  • 博文数量: 201
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 2391
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-06 22:16
文章分类

全部博文(201)

文章存档

2011年(1)

2010年(2)

2009年(57)

2008年(141)

我的朋友

分类: LINUX

2009-10-27 19:21:30

昨天我们的一台服务器apache出现了问题,页面无法访问,过段时间要重启apache才能访问页面。查看了系统日志,没有发现被攻击的迹象,然后查看了所有网站的日志,发现一个论坛的LOG 显示了大量了mp3下载,而且是同一IP不断刷新,我想这就是我们Apache当机的原因,随后关闭了此网站,apache 再也没有出现问题,所以问题应该就在这。

      下面就是如何解决这个问题了。因为这个论坛是提供音乐在线收听的,里面有大量的mp3文件,也就避免不了大量的下载链接,而我们之前也没有做任何限制(因为这不是下载站,而且没有经验)。为此,我上网找了些资料,发现了两个很好的apache模块: mod_bw 和 mod_limitipconn ;分别是限速和限制IP连接数的模块。

      安装mod_bw 和 mod_limitipconn 都非常简单。

1、下载:

      wget  

      wget

2.安装

#tar -zxvf mod_limitipconn-0.22.tar.gz
#cd mod_limitipconn-0.22
#vi Makefile
修改:apxs = “/usr/local/apache2/bin/apxs” # 这里是自己apache的apxs路径,加载模块

或者

#/usr/local/apache2/bin/apxs -i -c -a mod_limitipconn.c  来加载模块
#make
#make install

#tar -xvf mod_bw-0.7.tgz
#cd mod_bw
#/usr/local/apache2/bin/apxs -i -c -a /home/kenami/mod_bw/mod_bw.c

下面用vi打开apache 的配置文件 httpd.conf

发现了以下两行:

LoadModule limitipconn_module modules/mod_limitipconn.so
LoadModule bw_module          modules/mod_bw.so

说明这两个模块安装成功

以下在httpd.conf 配置这两个模块,我的配置如下:


    #需要控制的路径
        MaxConnPerIP 3 #限制的线程数
        NoIPLimit index.htm #对此文件不做限制
   

在论坛的虚拟主机配置文件下面加上:

    BandwidthModule On  
    ForceBandWidthModule On
    Bandwidth all 10000 #限速10K
    MinBandwidth all -1

测试了一下,一切正常,下载mp3的速度限制在10K一下,这样就再也不用担心大量的下载链接导致apache当机的问题了,当然以上方法不能阻止攻击。

阅读(1129) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~