根据nginx日志,设置防火墙。防止恶意攻击。ipset

7 篇文章 1 订阅

 有人恶意攻击我们服务器,可以根据nginx打印出来的访问日志ip,筛选出来访问量过大的ip,给他设置黑名单,设置防火墙,配置ipset,写一个脚本。

新建block_ip.sh

#!/bin/bash
#nginx的日志文件
logfile=/var/log/nginx
last_minutes=1
#过滤出单位之间内的日志并统计最高ip数 一分钟超过两百条的过滤出来

ip=`awk '{print $1}' $logfile/access.log |sort |uniq -c|sort -n | awk '{if($1>200)print $2}'`
# 单位时间[1分钟]内单ip访问次数超过200次的ip通过ipset封锁
echo "start-----------------------------------" >> /data/shell/log/blockip.log
for line in $ip
do
echo "$line" >> /data/app/shell/log/blockip.log
#设置黑名单 blacklist 
/usr/sbin/ipset add -exist blacklist $line
#echo $line
done
echo "" > $logfile/access.log
echo "" > $logfile/error.log
echo "stop-----------------------------------" >> /data/shell/log/blockip.log

下面是配置黑名单,白名单的。 因为有些合作方需要回调我们接口。所以还需要加白名单,不能把人家禁止了,所以需要新增白名单

配置 开端口,开黑白名单

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值