wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvf sendEmail-v1.56.tar.gz
mv sendEmail-v1.56 sendEmail
vi /etc/ssh/sshrc
#!/bin/sh
user=$USER
ip=${SSH_CLIENT%% *}
if [ "$user" != "root" ] || [ "$ip" != "192.168.2.88" ]
then
/home/shell/sendEmail/sendEmail -f XXX@XXX -t XXX@XXX -s smtp.XXX -u "查看谁登陆###192.168.2.4###" -xu USER -xp PASSWD -m "###time:`date +%Y-%m-%d`###.###user:$USER@`hostname`###.###ClientIP:${SSH_CLIENT%% *}###"
fi
chmod +x /etc/ssh/sshrc
###############简单讲解####################
$USER获取到系统登陆通过ssh的用户名
${SSH_CLIENT%% *}取到系统登陆通过ssh的用户名的IP
if [ "$user" != "root" ] || [ "$ip" != "192.168.2.88" ]使用或来判断来源,是否发邮件报警
###########################################
测试:
1 使用root并且IP为192.168.2.88,看是否发邮件报警

测试结果是:没有邮件报警
2 使用root并且IP为192.168.2.87,看是否报警

测试结果是:邮件发送报警
查看邮箱:

这个脚本对于ssh安全监控非常有用,系统非法登陆都可以时时了解情况,及时保护服务器安全
原文地址:http://youzao.blog.51cto.com/3946111/740707
本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。