NAS SSH登陆企业微信群机器人报警
创作立场声明:分享请注明出处
编写理由
公司服务器有好几个管理员账号,所以总想知道其他人在什么时候登陆了。
恰好自己就是公司的企业微信管理员,群机器人的创建权限没有问题,就创建了一个只有自己一个人的群,加了提醒机器人。
搜了一些教程编写了这个脚本,用于监控有哪些人SSH登陆了服务器。
由于自己家额宽带有外部地址,方便自己SSH,把22端口NAT了其他端口映射出去了。但是总是会发现被人扫描端口尝试登陆。在群友的指点下打开了防火墙的只允许中国IP访问。
正好想到这个SSH登陆报警的脚本也可以做一个安全防护,有其他人万一扫成功了,还能有一个登陆报警。
所以修改成了适合群晖NAS使用的,放到了家里的群晖上。
链接: https://pan.baidu.com/s/1bpI0W3oPyS_6sq-ZR5qIhA 提取码: g8vd
查找网卡名
打开群晖的SSH,并使用root登陆,这个我就不写了,可以站内搜到。还有如何查自己NAS IP这些基本知识,我也不写了
执行ifconfig,找到当前的IP地址对应的网卡名:
我的网卡名就是eth0了。
修改sshrc内容
用编辑器,比如notepad++打开sshrc
修改ifconfig后的网卡名:
server=$(ifconfig eth0|sed -n '2p'|awk '{print $2}')
userid和phone两个值按照企业微信的接口文档,可以为空的。或者可以填写你想要@的人。两个只需填其中一个。
sshrc内其他内容就需要修改了。
修改wecompush.sh内容
再用编辑器打开wecompush.sh
修改BOTURL的企业微信群机器人的webhook地址。如何创建企业微信群机器人,请自行百度了,网上可以搜到很多。
其他基本不用修改了。
我是使用群晖NAS的管理页面先上传到任意一个位置,例如我是创建了sh共享文件夹的,直接将两个脚本拖进去,或者使用文件管理的上传功能上传上去。
然后在终端内执行:
cp /volume3/sh/sshrc /etc/ssh/sshrc
cp /volume3/sh/wecompush.sh /etc/ssh/wecompush.sh
也就是这两个文件默认需要放在/etc/ssh文件夹下。这样在登陆账号时会自动执行。
volume3是你群晖的实际文件夹路径,不清楚的话,可以先执行cd / && ll,列出根目录下的所有文件夹,看volume名。然后继续cd进去,查看具体是上传到了哪个硬盘。
再执行,添加脚本的可执行权限:
chmod +x /etc/ssh/sshrc
chmod +x /etc/ssh/wecompush.sh
到此就完成了。
可以退出一下SSH,重新连接一下。看看企业微信的群机器人是否收到通知。
总结
不完美的地方:
1. 一次登陆会收到两次通知。
2. 写了通知显示hostname,但是没有显示。
这两个问题不影响实际的使用,等有空再研究了。
十分钟泡面
校验提示文案
料酒大法师
校验提示文案
steffee
校验提示文案
夜影小窝
校验提示文案
值友7156326845
校验提示文案
值友7156326845
校验提示文案
夜影小窝
校验提示文案
steffee
校验提示文案
料酒大法师
校验提示文案
十分钟泡面
校验提示文案