封锁多次ssh密码错误的主机IP

.建立脚本内容

$ cat /home/cnscn/sh/ssh_scan_crontab.sh

#!/bin/bash

# Author

http://jabin.cublog.cn

# Modify cnscn

http://cnscn2008.cublog.cn

# Modify xinyv

#设置时区

export LC_ALL=UTC

# 获取前 1 分钟内的 secure 记录,统计 ssh 认证失败的 IP 和其 失败次数, 并用Iptables阻止之

SCANNER=$(awk

‘BEGIN{ tm=strftime(“%b %e %H:%M”,systime()-60);}  $0 ~ tm &&

/Failed password/ && /ssh2/ {print $(NF-3)}’ /var/log/secure |sort|uniq -c |awk

‘{print $1″=”$2;}’)

for i in $SCANNER

do

echo $i

# 取认证失败次数

NUM=`echo $i|awk -F= ‘{print $1}’`

# 取其 IP 地址

IP=`echo $i|awk -F= ‘{print $2}’`

# 若其在失败次数超过 5 次且之前没有被阻断过,那么添加一条策略将其阻断,并记录日志

if [ $NUM -gt 5 ] && [ -z "`/sbin/iptables -vnL INPUT|grep $IP`" ]

then

/sbin/iptables -I INPUT -s $IP -j DROP

echo “/sbin/iptables -I INPUT -s $IP -j DROP” >> /home/cnscn/sh/ssh_scan_iptables.sh

echo “`date` $IP($NUM)” >> /var/log/scanner.log

fi

done

#End of Script

.把下面脚本放入/etc/crontab

#扫描ssh密码猜测次数超过5次的记录

* * * * *  root /home/cnscn/sh/ssh_scan_crontab.sh >/dev/null 2>&1

.把脚本/home/cnscn/sh/ssh_scan_iptables.sh加入到开机启动的myiptables.sh防火墙脚本

$ cat myiptables.sh

#!/bin/bash

#chkconfig: 345 85 15

#description: my iptables rules, which can auto run when system start

# This is a script

# Edit by liwei, cnscn

# establish a static firewall

#网络接口

interdevice=”eth0″

#端口

#21       ftp

#15022    sshd

#25       smtp

#53       named

#80       http

#110      pop3

#外界可以访问的端口

Open_ports=”21 20 22 80″

#可以外出的端口,其它端口都可以外出

Allow_ports=”21 20 80 ”

#清除所有以前设置的规则

iptables -F

iptables -X

iptables -t nat -F

iptables -t nat -X

#执行非法IP阻止规则

/home/cnscn/sh/ssh_scan_iptables.sh

#允许211.167.xxx.xxx, 防止自己输入错误而导致的IP被封锁

/sbin/iptables -I INPUT -s 211.167.xxx.xxx -j ACCEPT

#定义每一个网络接口规则

for eths in $interdevice ; do

#接受所有的,来源不是网络接口$interdevice的数据(对不是eths端口则放行)

#iptables -A INPUT -i ! $eths -j ACCEPT

#定义外界可以访问的端口规则(–dport)

for Port in $Open_ports ; do

iptables -A INPUT -i $eths -p tcp –dport $Port -j ACCEPT

iptables -A INPUT -i $eths -p udp –dport $Port -j ACCEPT

done

#给不应该进入我们机器的数据,一个欺骗性的回答

iptables -A INPUT -i $eths -p tcp -j REJECT –reject-with tcp-reset

iptables -A INPUT -i $eths -p udp -j REJECT –reject-with icmp-port-unreachable

done

#forbidden ping

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

#End of Script

linux试密码3次则屏蔽ip,linux centos封锁多次ssh密码错误的主机IP相关推荐

  1. Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)

  2. ssh 登陆错误后禁止ip再次登陆_macOS破坏SSH默认规则,程序员无法登录Web服务器...

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 苹果电脑最新的10.15.4系统,你更新了吗? 如果你不幸升级,而且还是要使用SSH的用户,那么恭喜你中招了. 最近,一位名叫Taylor ...

  3. CentOS 7 虚拟机 ping通网关,ping不通主机ip和外网的原因

    首先是配置网卡信息: 1)命令: 2)进行配置: 3)然后退出保存(:wq),然后输入命令:systemctl restart network.service 来重启网络服务 4)可以通过 ip ad ...

  4. 一般能ping通自己的IP ,但是ping 不通网关,也ping不通别的主机IP

    1.一般网关ping不通,就要在网卡上找原因,因为所有连其他机器的数据包基本上都要走网关,网关都不通的话就不需要调其他dns的配置了 不过 我这个的原因是mac 冲突:

  5. Linux主机IP地址:网络信息不可用

    Linux主机IP地址:网络信息不可用 今天使用XShell远程连接到Linux却一直连接失败.经过排查后发现是因为在VMware中安装虚拟机的主机IP的地址:网络信息不可用.网上的答案很杂,导致我找 ...

  6. sshpass远程执行脚本_终端-Linux命令之非交互SSH密码验证-Sshpass

    Sshpass是使用SSH所谓的"交互式键盘密码身份验证"以非交互方式执行密码身份验证的工具 通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图 ...

  7. 鸟哥的Linux私房菜(服务器)- 第六章、 Linux 网络侦错

    第六章. Linux 网络侦错 最近更新日期:2011/07/19 虽然我们在第四章谈完了连上 Internet 的方法,也大略介绍了五个主要的网络检查步骤.不过,网络是很复杂的东西, 鸟哥也是接触了 ...

  8. bulldog-1靶机 write up 源码 MD5解密得到密码到后台 命令执行绕过 反弹shell string分析文件得到密码提权

    bulldog-1靶机 write up 0x00 环境搭建 0x01 信息收集 0x02 漏洞挖掘 web漏洞思路 ssh 利用思路 步骤一:浏览网页 爆破目录 步骤二: 破解hash 步骤三:利用 ...

  9. xming登录linux图形中文乱码,putty+xming远程登录Linux图形界面

    Linux 本身是没有图形化界面的,所谓的图形化界面系统只不过中 Linux 下的应用程序.这一点和 Windows 不一样.Windows 从 Windows 95 开始,图形界面就直接在系统内核中 ...

最新文章

  1. VMware 主机基板管理控制器的状态
  2. Linux Watchdog 机制
  3. Python基础概念_8_字符串处理
  4. 创建python虚拟环境
  5. zepto为什么不支持animate,报animate is not a function
  6. dnn神经网络_卷积神经网络(五):总结
  7. linux rtl8188eu ap模式 密码错误 disassoc reason code(8)
  8. Java中this的用法
  9. axure rp8.1 注册码
  10. 衣服尺码自定义排序sql
  11. Dynamic CRM(IFD)登陆超时时间查看及修改
  12. socket 套接字通信研究与讨论
  13. cesium学习 之 Entity 画卫星轨道 (一)
  14. OutputStream的flush()方法
  15. 全面屏的 iPhone X,雷军妥协的库克做到了
  16. Ubuntu Linux 安装 GCC Compiler
  17. 简单说 一道JS闭包面试题
  18. android 错误中英互译,中英文翻译器应用的官方Android版本v3.1.1
  19. 设备安装CoreELEC系统,并配置遥控:实现低成本NAS影音播放器
  20. matlab矩阵乘法运算结果不对,矩阵里乘法使用错误?

热门文章

  1. Chrome 无法抓取跳转请求的解决办法
  2. Windows下配置多个Tomcat9
  3. python flask框架优点_python之全栈(Flask框架)
  4. dpkg命令_Linux常用命令大全(二)
  5. 【java】java 1.8 之 supplier 理解
  6. 60-60-020-API-Kafka Java consumer动态修改topic订阅
  7. 【ambari】Ambari Rest api 使用
  8. 【MySQL】MySQL warnings 的使用
  9. java : JSR107缓存规范
  10. 15-Scala使用Option、Some、None,避免使用null