利用shell和iptables实现自动拒绝恶意试探连接SSH服务

简介:
利用shell和iptables实现自动拒绝恶意试探连接SSH服务,并发邮件通知管理员。
 
[root@ZHAOYUN ~]# cat ssh.sh 
#!/bin/bash
TIME=`date +"%Y-%m-%d %H:%M:%S"`
BADIP=/root/ssh_badip
BKIP=/root/back_ssh_badip
AR=`wc -l $BKIP |awk '{print $1}'`
lastb | awk '{print $3" "$6" "$7}' | awk -F: '{print $1}' |sort |uniq -c|awk '$1 >  5 {print $1" " $2" "$3" "$4}'| awk -vtime="$TIME" '{print time" "$1 " "$2" "$3" "$4}' >$BADIP
cat $BADIP >> $BKIP
for bip in `awk '{print $4}' "$BADIP"`
do
iptables -I INPUT -p tcp --dport 22  -s $bip -j DROP
done
AR2=`wc -l $BKIP |awk '{print $1}'`
VALUE=`echo "$AR2-$AR"|bc`
LAST=`tail -n $VALUE $BKIP`
if [ $VALUE -gt 0 ] ; then
sendmail -t <<EOF
from:  monitor@zhaoyun.com
to:15101507336@139.com
subject: 严重警告
$TIME 当前有人正在试探性连接SSH服务,系统已经帮你拦截,查看详情请登录系统。
      $LAST
EOF
fi
~
 
在任务计划中添加
*/15 * * * * /root/ssh.sh
*/20  * * * *  cat /var/log/btmp  >> /var/log/btmp.bak ; >/var/log/btmp
*  */2 * * * service iptables restart
 
邮件效果截图

本文转自zhaoyun00 51CTO博客,原文链接:http://blog.51cto.com/zhaoyun/614496

相关文章
|
24天前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
72 6
|
1月前
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
34 3
|
1月前
|
监控 网络安全 数据安全/隐私保护
Mac服务器ssh连接工具
Mac服务器ssh连接工具
44 2
|
1月前
|
存储 安全 算法
如何使用 PuTTY 创建 SSH 密钥以连接到 VPS
如何使用 PuTTY 创建 SSH 密钥以连接到 VPS
17 2
|
18天前
|
网络安全 Windows
在Windows电脑上启动并配置SSH服务
在Windows电脑上启动并配置SSH服务
41 0
|
18天前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
107 0
|
18天前
|
网络安全 Windows
windows安装ssh服务
windows安装ssh服务
21 0
|
26天前
|
安全 Linux Shell
SSH 命令完整实用指南 | Linux SSH 服务
【8月更文挑战第20天】
102 0
|
11天前
|
Shell
Shell脚本有哪些基本语法?
【9月更文挑战第4天】
35 17
|
11天前
|
存储 Unix Shell
shell脚本编程基础
【9月更文挑战第4天】
26 12