第一个脚本是通过查找日志中访问次数过多的ip,并用iptables屏蔽。
#!/bin/bash
cur=`date +%H%M%S`
becur=`date -d "1 minute ago" +%H%M%S`
badip=`tail -n 10000 /home/www.centos.bz/log/access.log | egrep -v "\.(gif|jpg|jpeg|png|css|js)" | awk -v a="$becur" -v b="$cur" -F [' ':] '{t=$5$6$7;if (t>=a && t<=b) print $1}' | sort | uniq -c | awk '{if ($1>=20) print $2}'`
if [ ! -z "$badip" ];then
for ip in $badip;
do
if test -z "`/sbin/iptables -nL | grep $ip`";then
/sbin/iptables -I INPUT -s $ip -j DROP
fi
done
fi
将此代码保存为ban.sh,加入cronjob使每分钟执行一次。
此脚本的作用是:利用iptables屏蔽每分钟访问页面超过20的IP,这些页面已经排除图片,css,js等静态文件。
第二个脚本是通过在日志中查找cc攻击的特征进行屏蔽。
#!/bin/bash
keyword="cc-atack"
badip=`tail -n 5000 /home/www.centos.bz/log/access.log | grep "$keyword" | awk '{print $1}' | sort | uniq -c | sort -nr | awk '{print $2}'`
if [ ! -z "$badip" ];then
for ip in $badip;
do
if test -z "`/sbin/iptables -nL | grep $ip`";then
/sbin/iptables -I INPUT -s $ip -j DROP
fi
done
fi
keyword则是日志中cc的特征,替换成有效的即可。
分享到:
相关推荐
实现代码: 代码如下:#!/bin/shcd /var/log/httpd/cat access_log|awk ‘{print $1}’|sort|uniq -c|sort -n -r|head -n 20 > acp /dev/null access_logcp /dev/null error_logcp /dev/null limit.shcp /dev/null ...
前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消...
- `check_attack_cc.sh`:Linux脚本文件,用于检测和处理潜在的CC攻击行为。 - `white_ip.txt`:白名单IP列表,包含允许访问的IP地址。 - `black_ip.txt`:黑名单IP列表,记录了攻击的时间、次数以及攻击者的IP地址...
Linux Shell脚本编程是Linux系统管理员和开发者必备的技能之一,它允许用户通过编写脚本来自动化日常任务,提高效率。Shell脚本是基于命令行解释器的语言,通常使用Bash,这是Linux默认的Shell。本篇文章将深入探讨...
### Shell脚本学习手册知识点概览 #### 一、Shell脚本基础 1. **Shell概念** - Shell是一个用C语言编写的程序,它作为用户与Linux系统的桥梁,提供了一个命令行接口来访问操作系统服务。 - Shell既是命令语言也...
### Linux命令及Shell脚本使用...通过以上介绍可以看出,Linux命令和Shell脚本是进行高效文件管理、自动化任务处理和系统维护的强大工具。熟练掌握这些基础知识,可以帮助用户更灵活地使用Linux系统,提高工作效率。
在Linux开发中,掌握Makefile规则和Shell脚本语言是非常重要的技能。让我们深入探讨这些知识点。 首先,关于静态库和动态库,静态库(.a文件)在编译时会将相关的函数代码直接链接到目标程序中,形成一个独立的可...
Shell脚本是Linux或Unix系统中用于自动化任务的一种强大工具。在实验一中,你需要掌握以下知识点: 1. **Shell基础**:了解Bash Shell的基本语法,如变量赋值、条件语句(if-else)、循环(for, while)和函数定义...
Shell脚本是用于自动化各种任务的强大工具,在Linux和Unix环境中非常常见。本文将基于提供的标题、描述、部分代码片段以及上下文信息来深入探讨shell脚本的基础概念及其应用。 #### 一、条件判断:if 语句 在shell...
SHELL脚本则是基于Bash或其他Shell环境的编程语言,用于自动化命令行操作。在IT领域,尤其是软件开发过程中,两者都扮演着重要的角色。 **Makefile详解** Makefile主要用于管理项目的构建过程,它包含了一系列的...
这里的“shell编程”标题暗示我们将讨论如何利用Shell脚本实现类似于C语言的功能,特别是重载像“|”这样的操作符。下面将详细阐述这个主题。 首先,Shell编程主要基于Bash(Bourne-Again SHell),它是大多数Linux...
### CentOS 7 中 Shell 脚本的使用与定时任务...无论是简单的文件处理还是复杂的系统管理任务,shell 脚本都能提供强大的支持。同时,掌握定时任务的创建方法,可以帮助我们更高效地管理服务器资源和维护系统的稳定性。
### SHELL脚本常识知识点详解 #### 一、if条件语句 在Shell脚本编程中,`if`语句是非常基础且重要的控制结构之一,用于根据不同的条件执行不同...掌握这些知识点对于深入学习Linux系统管理和Shell脚本编程至关重要。
3. **ABS_Guide_cn.pdf**:这是Advanced Bash-Scripting Guide的中文版,它是一本详尽的Shell脚本编写指南,覆盖了高级主题,如函数库、错误处理、信号处理以及脚本调试技巧。 4. **Apress.Expert.Shell.Scripting....
### Linux环境下makefile脚本的编写 在软件开发过程中,特别是在Linux环境中,随着项目规模的扩大,源代码文件数量的增加,如何有效地管理和自动化构建项目成为了一项重要的任务。这时候,makefile脚本就显得尤为...
一个简单的Shell脚本可能如下所示: ```bash #!/bin/bash echo "Hello, World!" ``` 此脚本会在执行时输出“Hello, World!”。更复杂的脚本可以包含条件语句、循环结构以及函数定义等,以实现更为复杂的功能。 ##...
3. **Shell脚本编写**:讲解如何编写简单的脚本,包括变量声明、条件判断、循环结构等。 4. **高级Shell技巧**:如数组、函数、命令别名、历史记录、命令替换等。 5. **Shell脚本调试**:如何通过set命令和错误处理...