1、增加了“频繁攻击的封锁时间”,即设置为上次攻击时间的2倍
2、加入了数据库支持,将攻击者相关信息记录入库,如攻击者ip、攻击次数、封锁时间
3、简化了代码
 
具体实现步骤如下:
 
1、创建用于记录攻击者信息的数据库及表
# sqlite3 /root/sshd_blocked_ip.db "create table ip(ip,count,blocktime)"
 
2、将v1版的第二步中的攻击处理脚本修改为
exec "/root/swatch-new.sh $1"
 
3、创建攻击检测到后的处理脚本/root/swatch-new.sh,需要执行权限哦
#!/bin/sh
ip=$1
 
sql="/usr/bin/sqlite3 /root/sshd_blocked_ip.db "
blockcmd="/sbin/iptables -I INPUT -s $ip -p tcp --dport 22 -j DROP"
unblockcmd=${blockcmd/-I/-D}
blocktime=$($sql "select blocktime from ip where ip='$ip'")
: ${blocktime:=0}
$blockcmd
if [ $blocktime -eq 0 ];then
        /usr/bin/at "now + 1 hours" <<< "$unblockcmd" 2>> /root/at_result.log
        $sql "insert into ip values('$ip',1,1)"
else
        ((blocktime*=2))
        /usr/bin/at "now + $blocktime hours" <<< "$unblockcmd" 2>> /root/at_result.log
        $sql "update ip set blocktime=$blocktime,count=count+1 where ip='$ip'"
fi
 
其他步骤和v1版相似,自己琢磨吧,结束
 
另附查看攻击者信息的方法:
sqlite3 /root/sshd_blocked_ip.db "select * from ip"

sshd被攻击的自动防御方法v2的更多相关文章

  1. DDos攻击的常见方法及防御方法

    什么是DDoS? DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡 ...

  2. DDOS、CC、sql注入,跨站攻击防御方法

    web安全常见攻击解读--DDos.cc.sql注入.xss.CSRF 一,DDos https://www.cnblogs.com/sochishun/p/7081739.html#4111858 ...

  3. 不可不知 DDoS的攻击原理与防御方法

    DoS攻击.DDoS攻击和DRDoS攻击相信大家已经早有耳闻了吧!DoS是Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service ...

  4. 详谈XSS防御方法

      1.HttpOnly 严格的说,httponly并非为了对抗XSS,它解决的是XSS后的Cookie劫持攻击.Cookie设置了httponly之后,JavaScript读不到该cookie的值. ...

  5. DDOS攻击与防御简单阐述,列出DDOS的攻击方法和防御方法

    参考1:https://www.hi-linux.com/posts/50873.html#%E7%BD%91%E7%BB%9C%E5%B1%82-ddos-%E6%94%BB%E5%87%BB 什么 ...

  6. ARP投毒及其防御方法

    1.攻击原理 ARP欺骗就是中间人欺骗pc机,告诉pc机它是服务器.再欺骗服务器,告诉服务器它就是pc机.以致获取服务器与pc机的会话信息. 中间人欺骗服务器时,会给服务器发一个报文,发之前把报文中的 ...

  7. EXCEL快速自动填充方法集锦

    EXCEL快速自动填充方法集锦 原文地址,转载请注明:http://www.cnblogs.com/croso/p/5396841.html 方法一: 名称框输入a1:a1000回车,1, ctrl+ ...

  8. CSRF 攻击原理和防御方法

    1. CSRF攻击原理 CSRF(Cross site request forgery),即跨站请求伪造.我们知道XSS是跨站脚本攻击,就是在用户的浏览器中执行攻击者的脚本,来获得其cookie等信息 ...

  9. 【转】第6篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+自动反射方法分析

    作者: 牛A与牛C之间 时间: 2013-11-21 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第6篇:Xilium CefGlue 关于 CLR Object 与 JS ...

随机推荐

  1. DOMDocument类文件

    http://php.net/manual/en/class.domdocument.php <?php $xml = <<< XML <?xml version=&qu ...

  2. oracle全文检索笔记

    1.删除词法解析器 exec ctx_ddl.drop_preference('my_lexer'); 2.创建中文词法解析器 exec ctx_ddl.create_preference ('my_ ...

  3. Java Script to Read, Write, and Delete cookies

    function writeCookie(name,value,days){ var expires = ""; if(days){ var date = new Date(); ...

  4. Mysql ORM工具--MicrobeORM.Mysql开源咯

    MicrobeORM.Mysql 补充:为啥批批量比官方的ADO.NET还快,原因是这俩货 System.EnterpriseServices.dllSystem.EnterpriseServices ...

  5. [置顶] Oracle GoldenGate 系列:使用 Oracle ASM API DBLOGREADER 时遇 ora-01031 错误

    今天在自己新搭建的 Oracle ACFS 文件系统上测试 GoldenGate ,启动 extract 进程报如下错误: 2013-08-27 14:58:39  ERROR   OGG-00446 ...

  6. (五)boost库之随机数random

    (五)boost库之随机数random boost库为我们提供了许多的日常随机数生成器: 1.uniform_smallint:在小整数域内的均匀分布 2.uniform_int:在整数域上的均匀分布 ...

  7. Unix/Linux环境C编程入门教程(24) MySQL 5.7.4 for Red Hat Enterprise 7(RHEL7)的安装

    远观历史, MySQL的主要目的是为了能够在单处理器核心的商业服务器上运行.如今MySQL的一个变化用户可能不会注意到,那就是甲骨文已经开始重新架构MySQL的代码,使它大量的模块化.如软件解析器,优 ...

  8. RPATH与RUNPATH

    RPATH与RUNPATH 时间 2011-11-01 21:46:44 Qt Labs China 原文  http://labs.qt.nokia.com.cn/2011/11/01/rpath- ...

  9. STL set接口中使用结构体类型

    需要在结构体中重载'<'运算符,下面是我写的一个例子: #include<iostream> #include<set> using namespace std; str ...

  10. Material Design之FloatingActionButton的使用

    FloatingActionButton是继承至ImageView,所以FloatingActionButton拥有ImageView的全部属性. CoordinatorLayout能够用来配合Flo ...