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

相关文章
|
12天前
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
4月前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
351 6
|
2月前
|
网络安全 数据安全/隐私保护 C++
VS Code 的SSH连接不成功问题分析与解决
VS Code 的SSH连接不成功问题分析与解决
|
2月前
|
存储 安全 Shell
上传漏洞利用时,没有回显上传目录怎么连接shell
上传漏洞利用时,没有回显上传目录怎么连接shell
|
4月前
|
Ubuntu Linux Shell
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
|
4月前
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
55 3
|
4月前
|
监控 网络安全 数据安全/隐私保护
Mac服务器ssh连接工具
Mac服务器ssh连接工具
132 2
|
4月前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
1201 0
|
4月前
|
网络安全 Windows
windows安装ssh服务
windows安装ssh服务
46 0
|
网络安全 Windows 网络协议
在 Windows 系统中安装 SSH 服务
在Mac下搭建了ssh服务,并且测试通过,但是当到windows上,我想以同样的方式操作的时候,事实告诉我,“我太TM天真了!”,没办法,重新百度了一下,发现windows搭建ssh服务一般都是用 freeSSHd 软件,于是果断下载了该软件进行安装。
1294 0
下一篇
DataWorks