始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

imperva拦截日志的实时报警

发布时间:  2012/7/31 19:34:54

  1)  imperva拦截是默认会发送一个错误页面给client,response code 为200,可以通过F5来抓这个错误页面来判断是否发生了block,并且取得相关信息。为了区分修改response code为210,在错误页面里插入imperva生成的Event ID.用分号区分
  <html><header><title>Error</title></header><body><H2>Error</H2><table border="0" bgcolor="#FEEE7A" cellpadding="0" cellspacing="0"width="400"><tr><td><table border="0" cellpadding="3" cellspacing="1"><tr valign="top" bgcolor="#FBFFDF"align="Left"><td><STRONG>Error</STRONG></td></tr><tr valign="top" bgcolor="#FFFFFF"><td>This page can't be displayed. Contact support for additional information.<br>;
  Event id: $(EVENT_ID);<br>
  Session id: $(SESSION_ID).<br>
  </td></tr></table></td></tr></table></body></html>
  2)  在F5上设置irules来抓取response 为210的代码,并且通过分离;在http payload抓取Event id的值,和客户端IP+port,以local5的类型生成log
  when HTTP_RESPONSE {
  if { [HTTP::status] equals "210" } {
  set event [lindex [split [HTTP::payload] ";"] 1]
  log local5. "$event DIP:[IP::local_addr]:[TCP::local_port]"
  }
  }
  3)   下面需要一台linux服务器来做日志服务器,并用SHELL进行实时报警
  l  编辑/etc/sysconfig/syslog文件
  在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息
  如果不想让中央日志服务器解析其他机器的FQDN,还可以加上“-x”选项
  SYSLOGD_OPTIONS="-r -x -m 0"
  l  重新启动syslog守护进程
  /etc/init.d/syslog restart
  如果启动失败可以查看该文件的加载项是否都满足,
  vi  /etc/init.d/syslog  和vi /etc/sysconfig/syslog-ng
  查看以下文件是否都存在,不存在会导致进程无法启动,可以手动添加syslog.pid进程ID
  SYSLOGNG_PREFIX=/opt/syslog-ng
  SYSLOGNG="$SYSLOGNG_PREFIX/sbin/syslog-ng"
  CONFFILE=$SYSLOGNG_PREFIX/etc/syslog-ng.conf
  PIDFILE=$SYSLOGNG_PREFIX/var/run/syslog-ng.pid
  SYSLOGPIDFILE="/var/run/syslog.pid"
  l  启动进程成功后看查看netstat –tunlp查看是否有监听udp 514端口,然后在iptables 里面加入允许udp 514的访问
  Vi  /etc/sysconfig/iptables
  -A RH-Firewall-1-INPUT -p udp -m udp --dport 514 -j ACCEPT
  Service iptables restart
  l   设置F5发过来的log保存到哪个文件
  Vi  /etc/syslog.conf
  设置local5类型的log保存到f5.log中
  # Save Debug Message of f5 to f5.log
  local5.*                                                  /var/log/f5.log
  设置local5类型的log不保存到messages中
  *.info;mail.none;authpriv.none;cron.none;local5.none            /var/log/messages
  l  设置logrotate,自动每天都打包日志文件,保存10份
  vi /etc/logrotate.conf 加入
  /var/log/f5.log {
  daily
  compress
  rotate 10
  }
  重启进程 /etc/init.d/syslog restart
  4)  设置sendmail实时邮件报警
  l  修改配置文件支持发送
  Vi  /etc/mail/sendmail.cf
  将O DaemonPortOptions =Port=smtp,Addr=127.0.0.1, Name=MTA
  改为O DaemonPortOptions =Port=smtp, Name=MTA
  然后重启sendmail
  /etc/init.d/sendmail restart
  l  设置SHELL脚本来根据log情况来发自动邮件,根据时间每10秒中读取1次f5.log,对比前后的差别,如果有新的log就把这个不同的log当作正文发送邮件,这里的需要设置NTP来保持各个设备时间的一致性,因为每条log都有时间戳,所以用date来命令来读取最近的日志,这样的方式基本可以既不遗漏又不重复的取到每一条新来的log,适用于log量比较大的情况。
  #!/bin/bash
  while true; do
  A=`date +%H:%M |awk '{print substr($0,1,4)}'`
  tail /var/log/f5.log |grep "$A" > file1.txt
  sleep 10
  tail /var/log/f5.log |grep "$A" > file2.txt
  diff file1.txt file2.txt > file.diff
  if [ -s file.diff ]; then
  mail -s "alert mail" tony.yu@abc.com < file.diff
  fi
  done
  l  后台不间断执行
  nohup ./mail.sh > /dev/null 2>&1 &
  l  设置outlook,每分钟收邮件,有log邮件自动提示
  工具—选项—邮件设置---发送/接收—自动发送接收时间间隔1分钟
  工具---规则和通知---更改规则---在新邮件通知窗口中显示(如果需要把log邮件放在自建的目录才需要,默认在收件箱会有桌面通知)
  5)  设置飞信机器人实时报警
  参考资料 http://bbs.it-adv.net/viewthread.php?tid=1081
  l  下载飞信机器人和支持库
  Wget http://bbs.it-adv.net/attachment.php?aid=43&k=99987835a1dcf27b177fcaa6dd5b2f2e&t=1305267611
  Wget  http://www.it-adv.net/fetion/cenos54X64_20101113.rar
  l  把飞信机器人和支持库都放在同一个目录/usr/local/fetion, 复制部分支持库到/lib才能正常使用, 运行./fetion 不报错就行了
  cp /usr/loca/fetion/libACE-5.7.2.so /lib/
  cp /usr/loca/fetion/libACE_SSL-5.7.2.so /lib/
  cp /usr/loca/fetion/libcrypto.so.4 /lib/
  cp /usr/loca/fetion/libssl.so.4 /lib/
  l  尝试发送测试飞信信息
  ./fetion --mobile=135xxxxxx --pwd=xxxxxx --to=139xxxxxxxx --msg-type=2 --msg-utf8=test –debug
  第一次会生成135xxxxxxxx.jpg的验证码图片,需要用WINSCP等工具下载到window下查看图片,然后输入验证码才能使用.
  注意点:第一次不要加入--exit-on-verifycode=1参数,否则生成验证码图片会有问题
  如果验证码问题一直存在,则可以用飞信机器人的服务模式,一直在线,但需要插件支持。
  l  测试成功后就可以加入到刚才的mail.sh脚本中使用
  #!/bin/bash
  while true; do
  M="135xxxxxx"
  P="xxxxxx"
  T="139xxxxxx"
  A=`date +%H:%M |awk '{print substr($0,1,4)}'`
  tail /var/log/f5.log |grep "$A" > file1.txt
  sleep 10
  tail /var/log/f5.log |grep "$A" > file2.txt
  diff file1.txt file2.txt > file.diff
  B=`cat file.diff`
  if [ -s file.diff ]; then
  /usr/local/fetion/fetion --mobile="$M" --pwd="$P" --to="$T" --exit-on-verifycode=1 --msg-type=2 --msg-utf8="$B" >/dev/null 2>&1
  mail -s "alert mail" tony.yu@abc.com < file.diff
  fi
  done

亿恩科技地址(ADD):郑州市黄河路129号天一大厦608室 邮编(ZIP):450008 传真(FAX):0371-60123888
   联系:亿恩小凡
   QQ:89317007
   电话:0371-63322206


本文出自:亿恩科技【www.enkj.com】

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线