zoukankan      html  css  js  c++  java
  • 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"
  • 相关阅读:
    2. 环形路加油
    1. 元素累加
    开始在线练习50题。
    C# 搜索关键词
    Python调用OpenCV几何变换
    Tensorflow加载多幅图像进一个tensor
    Cmake构建OpenCV测试例子
    Linux利用本地http下载解决一些需要联网下载的问题
    Python调用OpenCV算术操作
    Python调用OpenCV阈值化
  • 原文地址:https://www.cnblogs.com/lcword/p/5917384.html
Copyright © 2011-2022 走看看