文章总结: 本文介绍了利用msmtp和mutt工具配置SSH登录邮件提醒的方法,旨在应对暴力破解威胁。内容涵盖SMTP客户端安装与配置、登录报警脚本编写及白名单设置,通过修改sshrc文件实现登录时自动触发邮件通知。该方案能帮助运维人员实时掌握服务器登录动态,及时发现可疑访问并采取措施,有效提升服务器基础安全防护能力。 综合评分: 83 文章分类: 安全运营,解决方案,网络安全,终端安全
SSH登录 邮件提醒
原创
大表哥吆
kali笔记
2025年9月22日 09:08 甘肃
作为网络安全和Linux运维者。时刻要做到知己知彼百战不殆。而SSH暴力破解一直是攻击者最常用的手段之一。倘若ssh被爆破成功,我们能否第一时间挽救自己的服务器呢?
本文我们讲配置ssh登录成功后,邮件提醒功能!方便自己随时随地掌控自己的服务器安全。
可以看到暴力破解为重灾区
接下来,我们需要用到 msmtp 和 mutt两个软件。
关于msmtp
msmtp 就是一个支持服务器配置文件的轻型 SMTP 客户端,配合 mutt 可以达到邮件发送的效果。 我们执行下面命令进行安装!
apt install msmtp mutt
接下来,我们在/usr/share/doc/msmtp/examples/msmtprc-system.example文件到/etc/msmtprc
cd /usr/share/doc/msmtp/examples/
cp msmtprc-system.example /etc/msmtprc
修改内容如下:
配置示例如下:
host smtp.qq.com #SMTP域名,例如QQ邮箱为smtp.qq.com
# Use TLS on port 465
port 465 #465为默认smtp tls端口,如果选择不加密一般改成25
tls on #是否开启TLS
tls_starttls off # STARTTLS是对纯文本通讯协议的扩展。它提供一种方式将纯文本链接升级为加密链接(TLS或SSL),而不是另外使用一个端口做加密通讯。我在使用过程中发现开启时大概率发送失败,可能和qq的smtp服务器有关,因此保持默认关闭即可。
from [email protected] #发送邮件的地址,以qq邮箱为例
auth on #启用验证
user [email protected] #用户名,以qq邮箱为例
password xxxxxxxx #这里填授权码或密码
# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL
接下来,我们发送一份邮件进行测试。
echo "这是一封测试邮件" | msmtp -v [email protected]
接下来,修改 /etc/Muttrc文件,在最后面添加内容如下:
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="你想要显示的发送名称"
set [email protected]
添加提醒模板
在 /etc/ssh下生成新建文件ssh_alarm.sh 内容如下:
#!/bin/bash
if [ -z "${SSH_CONNECTION}" ];then
echo'$SSH_CONNECTION:not exists'
exit 1
fi
#定义变量
from_ip=`echo${SSH_CONNECTION} | awk '{print$1}'`
from_port=`echo${SSH_CONNECTION} | awk '{print$2}'`
server_ip=`echo${SSH_CONNECTION} | awk '{print$3}'`
user=`echo${LOGNAME}`
hostname_1=`echo${HOSTNAME}"("$server_ip")"`
server_time=`echo $(date +"%Y-%m-%d %R")`
e_mail=收件地址@qq.com
#IP白名单,192.168.1.1这个IP登录时不提示
ip_exit=`echo${from_ip}|cut -d "." -f 1,2,3`
if [ "${ip_exit}" == "192.168.1.1" ];then
exit 1
fi
#用户登录白名单,username这个用户登录时不提示
if [ "${user}" == "username" ];then
exit 1
fi
#Send mail
echo -e "
**********SSH登录警告**********\n
登录主机:${hostname_1}\n
登录用户:${user}\n
登录时间:${server_time}\n
登录IP:${from_ip}\n
登录IP端口:${from_port}\n
请注意核查是否可信登录,如非可信,请立即更换密匙和密码。
******************************"|mutt -s "服务器SSH登录警告"${e_mail}
添加软链接
接下来,需要配置一个 sshrc 文件,这个文件的作用是当连接 ssh 时自动执行文件内的脚本。 内容如下:
bash /etc/ssh/ssh_alarm.sh
登录测试
参考文章:https://blog.tama.guru/record/ssh_login_mail.html
更多精彩文章 欢迎关注我们
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:kali笔记 大表哥吆《SSH登录 邮件提醒》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论