利用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
|
8天前
|
安全 Linux Shell
ssh 远程控制服务
SSH(Secure Shell)是一种用于远程登录的安全协议,相比FTP和Telnet,它提供了更高的安全性,避免了明文传输带来的风险。要使用SSH远程管理Linux系统,需要配置sshd服务。本文介绍了如何克隆Linux服务器、修改网络配置,并通过SSH连接两台服务器,最后在目标服务器上创建一个日志文件。
24 4
|
1月前
|
存储 安全 Shell
上传漏洞利用时,没有回显上传目录怎么连接shell
上传漏洞利用时,没有回显上传目录怎么连接shell
|
3月前
|
网络安全 Windows
在Windows电脑上启动并配置SSH服务
在Windows电脑上启动并配置SSH服务
664 0
|
3月前
|
网络安全 Windows
windows安装ssh服务
windows安装ssh服务
31 0
|
3月前
|
安全 Linux Shell
SSH 命令完整实用指南 | Linux SSH 服务
【8月更文挑战第20天】
403 0
|
4月前
|
监控 Ubuntu 网络安全
SSH服务
【7月更文挑战第16天】
42 6
|
4月前
|
Linux 测试技术 网络安全
SSH服务开机自动
【7月更文挑战第14天】
532 5
|
4月前
|
Shell 网络安全
shell脚本 配饰ssh
【7月更文挑战第15天】
38 4
|
4月前
|
监控 网络协议 网络安全
ssh服务中如何批量管理100多台机器(Paramiko、 psutil模块)、跳板机(堡垒机)
ssh服务中如何批量管理100多台机器(Paramiko、 psutil模块)、跳板机(堡垒机)