海运的博客

Apache/Httpd防DDOS/CC模块mod_evasive安装

发布时间:October 23, 2012 // 分类:Apache // No Comments

Apache模块mod_evasive利用Hash表储存相应的HTTP请求,利用设定规则判断是否拒绝对方的请求。
安装:

#https://www.haiyun.me
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar zxvf mod_evasive_1.10.1.tar.gz 
cd mod_evasive/
apxs -i -a -c mod_evasive20.c
#编译、安装、并加载模块

配置mod_evasive:

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097 #表大小
    DOSPageCount        2 #限制单位时间内同一IP请求同一网页次数
    DOSSiteCount        10 #限制单位时间内同一IP请求网站次数
    DOSPageInterval     1 #网页存取间隔
    DOSSiteInterval     1 #网站存取间隔
    DOSBlockingPeriod   10 #限制访问时间
    DOSEmailNotify     #疑似攻击时邮件通知
    DOSSystemCommand "su - onovps -c iptables -I INPUT -s %s --dport 80 -j DROP" 
    #疑似攻击时用防火墙限制IP访问80端口
    DOSLogDir  "/var/log/    #日志目录
    DOSWhiteList 127.0.0.1 #添加白名单
</IfModule>

重启Apache生效:

/etc/init.d/httpd restart

同时作者还提供了一个测试程序用以测试mod_evasive是否生效:

perl test.pl 
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden

Netflow分析工具Nfsight安装

发布时间:October 23, 2012 // 分类:流量监控 // 2 Comments

Nfsight分为两部分,后端以Nfsen插件安装,前端以PHP显示分析图表。
安装Perl Mysql支持:

yum install perl-DBD-MySQL

后端Nfsen插件安装:

wget http://sourceforge.net/projects/nfsight/files/nfsight-beta-20110908.tgz
tar zxvf nfsight-beta-20110908.tgz 
cd nfsight-beta-20110908/
cp backend/nfsight.pm /usr/local/nfsen/plugins/
mkdir /usr/local/nfsen/plugins/nfsight
chown -R apache:apache /usr/local/nfsen/plugins/nfsight

前端Web安装:

cp -r frontend/ /var/www/html/nfsight
chown -R apache:apache /var/www/html/nfsight

新建Mysql数据库Nfsight:

mysql -u root -p -e "create database ngsight;"

然后通过浏览器访问www.haiyun.me/nfsight/installer.php安装提示进行安装,最后将屏幕出现的配置信息添加到Nfsen配置文件。

@plugins = (
    # profile    # module
    # [ '*',     'demoplugin' ],
      [ 'live',   'PortTracker'], 
      [ '*', 'nfsight' ],  
);

%PluginConf = (
    nfsight => {
        path => "/usr/local/nfsen/plugins/nfsight",
        expiration => "180",
        network => {
            "192.168.1.0" => "24",
        },
        scanner_limit => "5",
        print_int_scanner => "1",
        print_ext_scanner => "1",
        print_int_client => "1",
        print_ext_client => "1",
        print_int_server => "1",
        print_ext_server => "1",
        print_int_invalid => "1",
        print_ext_invalid => "1",
        sql_host => "localhost",
        sql_port => "3306",
        sql_user => "nfsight",
        sql_pass => "nfsight",
        sql_db => "nfsight",
    },
);

重启Nfsen加载Nfsight插件:

/usr/local/nfsen/bin/nfsen reload

查看插件是否加载成功:

grep -i nfsight /var/log/messages
Oct 23 11:30:12 master nfsen[28085]: Loading plugin 'nfsight': Success

添加计划任务:

06 * * * *  wget --no-check-certificate -q -O - http://management:aggregate@127.0.0.1/nfsight/aggregate.php

还有默认登录nfsight主界面或设置界面会联网检查是否有新版本,可通会有点慢,可禁用此功能。

cat /var/www/html/nfsight/config.php 
"check_version"=>      "0",

效果图如下:
nfsight分析netflows网络状态.png

使用sFlowTrend监控XenServer服务器

发布时间:October 22, 2012 // 分类:虚拟化 // No Comments

服务器端安装Host sFlow Agent代理客户端,用作发送sFlow数据到sFlowTrend分析端,支持多种Windows/Linux/Uinx系统。
Host sFlow下载地址:http://host-sflow.sourceforge.net/
sFlowTrend下载地址:http://www.inmon.com/products/sFlowTrend.php
XenServer6可直接安装Host sFlow,XenServer5要先配置为Open vSwitch模式支持sFlow

wget http://downloads.sourceforge.net/project/host-sflow/REL-1_22/hsflowd_XenServer_56FP2-1.22.2-1.i386.rpm
rpm -ivh hsflowd_XenServer_56FP2-1.22.2-1.i386.rpm 

配置Host sFlow:

cat /etc/hsflowd.conf 
#https://www.haiyun.me
sflow {
  DNSSD = off
  polling = 20
  sampling = 512
collector {
  ip = 192.168.1.155
  udpport = 6343
   }
}

启动Host sFlow Agent:

/etc/init.d/hsflowd start

然后在sFlowTrend配置代理端,不久即可看到监控的数据:
sFlowTrend监控服务器.png
sFlowTrend图表监控服务器.png
分析XenServer虚拟交换机sFlow数据:

ovs-vsctl -- --id=@sflow create sflow agent=xenbr0 targe=\"192.168.1.155:6343\" header=128 sampling=512 polling=30 \
-- set bridge eth0 sflow=@sflow

sflowtrend分析sflows网络流量.png

XenServer5.6网络配置为虚拟交换机Open vSwitch模式并开启NetFlow输出

发布时间:October 22, 2012 // 分类:虚拟化 // No Comments

新安装的XenServer6默认为Open vSwitch,XenServer5.6默认为网桥模式,查看当前网络模式:

cat /etc/xensource/network.conf
openvswitch

更改网络为虚拟交换机Open vSwitch模式:

#https://www.haiyun.me
xe-switch-network-backend openvswitch

切换回网桥bridge模式:

xe-switch-network-backend bridge

配置虚拟交换机输出NetFlow数据到分析端,可参考:Linux下Nfsen和Nfdump配置Netflow分析端

ovs-vsctl -- --id=@netflow create netflow targe=\"192.168.1.5:9995\" active_timeout=30 \
-- set bridge xenbr0 netflow=@netflow

输出sFlow数据:

ovs-vsctl -- --id=@sflow create sflow agent=eth1 targe=\"192.168.1.5:9995\" header=128 sampling=512 polling=30 \
-- set bridge xenbr0 sflow=@sflow

查看是否有NetFlow数据输出:

tcpdump -nn port 9995
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
18:12:16.535132 IP 192.168.1.15.55104 > 192.168.1.3.9995: UDP, length 600
18:12:17.544569 IP 192.168.1.15.55104 > 192.168.1.3.9995: UDP, length 216

更改Netflow或sFlow参数:

ovs-vsctl set NetFlow xenbr0  targe=\"192.168.1.3:9995\"

查看NetflowsFlow列表:

ovs-vsctl list netflow/sflow

删除Netflow/sFlow:

ovs-vsctl remove bridge xenbr0 netflow/sflow <uuid>

据说Open vSwitch模式在XenServer下并不稳定,只为输出NetFlow可使用Fprobe

Nfsen插件PortTracker安装

发布时间:October 21, 2012 // 分类:流量监控 // No Comments

之前有介绍Nfsen和Nfdump安装,本次记录下Nfsen端口查看插件PortTracker安装。
重编译Nfdump开启nftrack:

cd /usr/local/src/nfdump-1.6.6/
./configure --enable-nfprofile --enable-nftrack --with-rrdpath=/usr/bin
make
cp bin/nftrack /usr/local/bin/

新建PortTracker数据存放目录:

mkdir /usr/local/nfsen/ports-db
chown -R apache:apache /usr/local/nfsen/ports-db/

编辑PortTracker.pm修改$PORTSDBDIR目录:

vim /usr/local/src/nfsen-1.3.6p1/contrib/PortTracker/PortTracker.pm
my $PORTSDBDIR = "/usr/local/nfsen/ports-db";

复制PortTracker插件至相应目录:

cp PortTracker.pm /usr/local/nfsen/plugins/
cp PortTracker.php /var/www/html/nfsen/plugins/

修改Nfsen配置文件添加插件信息:

vim /usr/local/nfsen/etc/nfsen.conf 
#https://www.haiyun.me
@plugins = (
[ 'live',   'PortTracker'], 
);

生成PortTracker数据:

sudo -u apache nftrack -I -d /usr/local/nfsen/ports-db/

重新加载Nfsen:

/usr/local/nfsen/bin/nfsen reload

等5分钟左右访问Nfsen界面选择Plugins即可看到相应信息:
Nfsen插件PortTracker.png

分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...