`
zhengdl126
  • 浏览: 2540044 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Shell脚本防攻击一例

 
阅读更多

http://yaozb.blog.51cto.com/2762349/882176

 

 

 

 

 

 

  不知道得罪了哪路神仙,收到nagios报警,发现有个网站有CC攻击。看样子,量还不小,把服务器的负载都弄到40+了,虽然网站还能打开,但打开也是非常的缓慢。如果不是配置高点,估计服务器早就挂掉了。看来又是不一个不眠之夜了。
迅速查看一下nginx的访问日志:
#tail -f access.log


貌似全是像这样的状态。

我先紧急手动封了几个访问量比较大的Ip。

 

 

    #vim fengip.sh
    
    #! /bin/bash
    for i in `seq 1 32400`
    do
    sleep 1
    x=`tail -500 access.log |grep 'HTTP/1.1" 499 0 "-" "Opera/9.02'|awk '{print $1}'|sort -n|uniq`
    if [ -z "$x" ];then
    echo "kong" >>/dev/null
    else
    for ip in `echo $x`
    do
    real=`grep -l ^$ip$ all`
    if [ $? -eq 1 ];then
    echo iptables -A INPUT -s $ip -p tcp --dport 80 -j DROP
    iptables -A INPUT -s $ip -p tcp --dport 80 -j DROP
    echo $ip >>all
    fi
    done
    fi
    done

 

脚本写好了。如图

我们来运行一下,运行几分钟后,如下图所示


经过半个小时的观察,服务器负载也降到0.几了,脚本也不断在封一些CC攻击的ip。
一直让他运行着,晚上应该能睡个好觉了。


下来我们来对脚本进行解释一下

 

 

    #vim fengip.sh
    
    #! /bin/bash
    Touch all    #建立all文件,后面有用到
    for i in `seq 1 32400` #循环32400次,预计到早上9点的时间
    do
    sleep 1
    
    x=`tail -500 access.log |grep 'HTTP/1.1" 499 0 "-" "Opera/9.02'|awk '{print $1}'|sort -n|uniq` #查看最后500行的访问日志,取出包含 'HTTP/1.1" 499 0 "-" "Opera/9.02' 的行的ip并排序,去重复
    if [ -z "$x" ];then
    echo "kong" >>/dev/null #如果$x是空值的话,就不执行操作,说明500行内,没有带 'HTTP/1.1" 499 0 "-" "Opera/9.02' 的行
    else
    for ip in `echo $x` #如果有的话,我们就遍历这些ip
    do
    real=`grep -l ^$ip$ all` #查看all文件里有没有这个ip,因为每封一次,后面都会把这个ip写入all文件,如果all文件里面有这个ip的话,说明防火墙已经封过了。
    if [ $? -eq 1 ];then #如果上面执行不成功的话,也就是在all文件里没找到,就用下面的防火墙语句把ip封掉,并把ip写入all文件
    echo iptables -A INPUT -s $ip -p tcp --dport 80 -j DROP
    iptables -A INPUT -s $ip -p tcp --dport 80 -j DROP
    echo $ip >>all
    fi
    done
    fi
    done

 

 

 

 

 

分享到:
评论

相关推荐

    多线程Shell资源扫描器

    **多线程Shell资源扫描器**是一种用于网络安全检测的工具,尤其关注于寻找服务器或网络设备中的潜在**Shell后门**。Shell后门通常是指黑客植入的一种恶意代码,允许他们在未经授权的情况下远程控制受害系统,执行...

    IT运维之Linux服务器监控方案.pdf

    在本文中,我们将探讨如何有效地监控Linux服务器,包括监控的关键指标、使用shell脚本和开源监控工具,以及如何设置告警机制。 首先,我们需要关注的主要监控指标有: 1. **系统负载**:系统负载反映了当前系统中...

    局域网防限速文档

    ARP欺骗攻击是一种常见的网络攻击手段,攻击者通过伪造IP地址与MAC地址的对应关系,使得网络中的其他计算机误以为攻击者的计算机为网关或其他合法主机,从而达到截取数据包、监控流量的目的。 #### 三、ARP欺骗检测...

    显示当前机器上的杀毒软件信息

    在本例中,我们有一个名为“Virus.displayName.vbs”的文件,这是一段VBS代码,它的主要功能是查询并显示电脑上已安装的杀毒软件的详细信息。下面我们将解析这个脚本可能实现的功能,并讨论与杀毒软件版本信息相关的...

    thiinkphp漏洞源码

    4. **写 shell**:一旦攻击者能够执行任意命令,他们可能会尝试写入一个持久化的 shell,如 PHP 或者 Bash shell,以便在后续访问时无需重新触发漏洞即可控制服务器。 5. **安全最佳实践**:预防这类漏洞的关键在于...

    asp大马免杀的

    在本例中,“2013去后门加密免杀防删无敌ASP大马.asp”可能是一个经过特殊处理的ASP文件,其内容可能经过加密或变形处理,使得常规的病毒扫描工具无法识别其恶意性质。 ASP大马的结构通常包含以下几个部分: 1. **...

    服务器内源代码

    6. **部署脚本**:用于自动化部署过程,例如Dockerfile或shell脚本。 7. **文档**:包括设计文档、API文档和用户手册,帮助开发者理解和使用代码。 深入理解服务器内源代码,开发者可以学习到如何有效地处理并发...

    第一百一十课:窃取,伪造模拟各种windows访问令牌[token利用]1

    一旦Beacon建立,攻击者可以使用内置命令获取系统信息,如`beacon> shell systeminfo`,检查网络配置,如`beacon> shell ipconfig /all`。 在确认目标系统位于域环境中时,攻击者可能会寻找域管理员权限。传统的...

    asp防止上传图片木马原理解析

    ASP(Active Server Pages)是一种服务器端脚本环境,可用来创建动态交互式网页。在ASP环境下,上传文件功能常常被广泛利用,但同时也带来了安全风险。最为常见的攻击之一便是通过上传伪装成图片的木马文件。图片...

    针对PHP开发安全问题的相关总结

    在本例中,使用了mysql_real_escape_string函数来转义变量中的特殊字符,这是防止SQL注入的有效手段之一。另外,随着PHP的发展,建议开发者不要使用已废弃的MagicQuotes特性,而是手动转义特殊字符。 针对XSS攻击,...

    vc++ 应用源码包_6

    Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与...

    vc++ 开发实例源码包

    编程技巧精选500例]源代码. 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统...

    Online-Judge

    本文将以"Online-Judge"项目为例,探讨如何使用PHP这一流行的服务器端脚本语言来构建这样一个系统。 首先,我们需要理解在线法官的核心功能。它主要包括以下几个部分: 1. **代码提交接口**:用户通过上传代码到...

    vc++ 应用源码包_1

    Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与...

    vc++ 应用源码包_5

    Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与...

    vc++ 应用源码包_2

    Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与...

    vc++ 应用源码包_3

    Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与...

    网管教程 从入门到精通软件篇.txt

     下例将在硬盘上添加一个 20 MB 的分区:  diskpart /add Device HardDisk0 20  Fixboot  向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用 fixboot 命令。  fixboot [drive]  ...

    网吧维护技术资料 合集

    484 网吧维护\资料\XP中不能正常IE浏览不正常一例.TXT 10790 网吧维护\资料\XP优化.TXT 3638 网吧维护\资料\xp实用技巧\Win XP 键盘快捷键概述.txt 5851 网吧维护\资料\xp实用技巧\Win XP中的网桥.txt 1226 网吧维护...

Global site tag (gtag.js) - Google Analytics