- #!/bin/bash
- ACCCESS_LOG=/tmp/access.log
- TIMEPOINT='24/May/2012'
- BLACKLIST=/var/tmp/black
- WHITELIST=/var/tmp/white
- if [ ! -f ${BLACKLIST} ]; then
- touch ${BLACKLIST}
- fi
- if [ ! -f ${WHITELIST} ]; then
- touch ${WHITELIST}
- fi
- for deny in $(grep ${TIMEPOINT} ${ACCCESS_LOG} | awk '{print $1}' | awk -F'.' '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -r -n | head -n 30| awk '{print $2}')
- do
- if [ $(grep -c $deny ${WHITELIST}) -ne 0 ]; then
- echo 'Allow IP:' $deny
- iptables -D INPUT -p tcp --dport 443 -s $deny -j DROP
- iptables -D INPUT -p tcp --dport 80 -s $deny -j DROP
- continue
- fi
- if [ $(grep -c $deny ${BLACKLIST}) -eq 0 ] ; then
- echo 'Deny IP:' $deny
- echo $deny >> ${BLACKLIST}
- iptables -I INPUT -p tcp --dport 443 -s $deny -j DROP
- iptables -I INPUT -p tcp --dport 80 -s $deny -j DROP
- fi
- done
相关文章
- 09-02python脚本:使用Netmiko,在交换机上通过MAC查IP或者通过IP查MAC
- 09-02关闭防火墙,selinux,交互式设置IP的脚本
- 09-02SHELL脚本实现通过访问日志过滤客户端IP,来针对Web站点的访问并发限制
- 09-02java连接sql server报错:com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到
- 09-02将access.log 访问最高的IP加入到防火墙黑名单中
- 09-02Windows下通过脚本快速修改IP地址
- 09-02通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库
- 09-02如何通过Iptables防火墙共享IP上网
- 09-02防火墙脚本, 通过access.log *IP