sshd被攻击的自动防御方法v2

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"

时间: 2024-08-04 11:45:20

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

DDoS攻击、CC攻击的攻击方式和防御方法

DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击.也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的.分布式拒绝服务攻击一旦被实施,攻击网络包就会从很多DOS攻击源(俗称肉鸡)犹如洪水般涌向受害主机,从而把合法用户的网络包淹没

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

web安全常见攻击解读--DDos.cc.sql注入.xss.CSRF 一,DDos https://www.cnblogs.com/sochishun/p/7081739.html#4111858 http://nic.swu.edu.cn/s/nic/thyt/20180604/2555404.html 1.1 DDos介绍 DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”.分布式拒绝服务攻击发起后,攻击网络包就会从很多DOS攻击源(俗称

DDOS、DRDOS、DOS攻击概念以及基本的防御方法

DoS攻击.DDoS攻击和DRDoS攻击相信大家已经早有耳闻了吧!DoS是 Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service的简写就是分布式拒绝服务,而DRDoS就是Distributed Reflection Denial of Service的简写,这是分布反射式拒绝服务的意思.不过这3中攻击方法最厉害的还是DDoS,那个DRDoS攻击虽然是新近出的一种攻击方法,但它只是DDoS攻击的变形,它的唯一不同就是不用占领

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

DoS攻击.DDoS攻击和DRDoS攻击相信大家已经早有耳闻了吧!DoS是Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service的简写就是分布式拒绝服务,而DRDoS就是Distributed Reflection Denial of Service的简写,这是分布反射式拒绝服务的意思. 不过这3中攻击方法最厉害的还是DDoS,那个DRDoS攻击虽然是新近出的一种攻击方法,但它只是DDoS攻击的变形,它的唯一不同就是不用占领

ProgressBar样式总结与自动填充方法(代码)

有时候开发的时候需要用一个进度条告知用户目前正在运行一个耗时操作,但是并不需要明确知道某个value来setProgress,所以就可以自定义一个时间和进度让进度条自动运行了. 下面是代码: Handler mHandler=new Handler(){ @Override public void handleMessage(Message msg) { p.setProgress(msg.what); mHandler.post(updateThread);//实现连续过程 } }; Runn

ARP投毒及其防御方法

1.攻击原理 ARP欺骗就是中间人欺骗pc机,告诉pc机它是服务器.再欺骗服务器,告诉服务器它就是pc机.以致获取服务器与pc机的会话信息. 中间人欺骗服务器时,会给服务器发一个报文,发之前把报文中的源地址改成pc机的IP地址,但是mac地址还是它自己的,这时服务器收到报文后会查看arp缓存表,并更新arp缓存表.更新后的ARP缓存表里的数据是,中间人的mac地址对应pc机的IP地址.同理欺骗pc机. 2.拓扑图 3.步骤 第一步:开启路由转发功能 第二步:欺骗PC机 第三步:欺骗服务器 第四步

EXCEL快速自动填充方法集锦

EXCEL快速自动填充方法集锦 原文地址,转载请注明:http://www.cnblogs.com/croso/p/5396841.html 方法一: 名称框输入a1:a1000回车,1, ctrl+回车,单击A1,双击填充柄,“自动填充选项”--“填充序列” 方法二: 先在A1输入需填充的内容,然后点右上角的填充按钮,点击“系列”选项,输入终止值 方法三: 编辑 定位 输入需要输入数据的最后一个单元格的位置ctrl ↑(方向键的上箭头) 编辑栏输入公式=MOD(ROW()-1,2)+1按ctr

python 自动引用方法

#自动引用方法import commons inp = input("URL:")m,f = inp.split('/') obj = __import__(m)def main():    if hasattr(obj,f):        func = getattr(obj,f)        func()    else:        print('404') main() 下面是commons def login():    print("login")

CSRF 攻击原理和防御方法

1. CSRF攻击原理 CSRF(Cross site request forgery),即跨站请求伪造.我们知道XSS是跨站脚本攻击,就是在用户的浏览器中执行攻击者的脚本,来获得其cookie等信息.而CSRF确实,借用用户的身份,向web server发送请求,因为该请求不是用户本意,所以称为“跨站请求伪造”. 一般而且存在XSS漏洞的网站,也极有可能存在CSRF漏洞.因为CSRF攻击中的那个“伪造的请求”的URL地址,一般是通过XSS攻击来注入到服务器中的.所以其实CSRF是以XSS为基础