侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

sshd被***的自动防御方法v2

2023-04-11 星期二 / 0 评论 / 0 点赞 / 79 阅读 / 1863 字

本文为sshd被***的自动防御方法v1的第二版(改进版本),本版本的处理脚本会把***者信息记录入库,并根据上次***者的封锁时间进行成2倍级的封锁,这就意味着***越频繁封锁时间越长。1、增加了“

..本文为sshd被***的自动防御方法v1的第二版(改进版本),本版本的处理脚本会把***者信息记录入库,并根据上次***者的封锁时间进行成2倍级的封锁,这就意味着***越频繁封锁时间越长。.. ..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"..

广告 广告

评论区