利用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

相关文章
|
3月前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
272 6
|
1月前
|
网络安全 数据安全/隐私保护 C++
VS Code 的SSH连接不成功问题分析与解决
VS Code 的SSH连接不成功问题分析与解决
|
5月前
|
安全 网络安全 算法框架/工具
SSH高版本连接问题排查
【6月更文挑战第21天】SSH高版本连接问题排查
317 0
|
3月前
|
安全 Linux 网络安全
Docker部署ssh连接工具webssh2
【8月更文挑战第2天】Docker部署ssh连接工具webssh2
280 6
Docker部署ssh连接工具webssh2
|
3月前
|
Ubuntu Linux Shell
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
|
3月前
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
48 3
|
3月前
|
监控 网络安全 数据安全/隐私保护
Mac服务器ssh连接工具
Mac服务器ssh连接工具
107 2
|
3月前
|
存储 安全 算法
如何使用 PuTTY 创建 SSH 密钥以连接到 VPS
如何使用 PuTTY 创建 SSH 密钥以连接到 VPS
60 2
|
3月前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
875 0
|
4月前
|
Shell 网络安全
shell脚本 配饰ssh
【7月更文挑战第15天】
38 4