案例:最近新弄了一个项目,为了确保项目的安全。自己就做了一个zabbix检查ssh登录ip的东西,这里给大家分享下
目前创新互联公司已为上千余家的企业提供了网站建设、域名、网页空间、网站托管维护、企业网站设计、二道网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。步骤:
自定义zabbix检查ssh登录ip的key
cat /etc/zabbix/zabbix_agentd.d/sanguo_check_ssh.conf
UserParameter=sanguo.check.ssh, who | wc -l #这里的作用是检查ssh登录了几个终端
重启zabbix_agentd
写一个检查ssh登录ip的脚本
在zabbix上创建一个模板
创建应用程序,application 创建监控项item
自定义key
cat sanguo_check_ssh.conf
UserParameter=sanguo.check.ssh, who | wc -l
这里的主要作用是定义监控的时间范围
创建trigger
这里的主要作用是检查ssh的登录终端数量,如果不为0 就触发报警
创建actions
当ssh登录终端在特定的时间不为0 的时候就触发脚本,踢掉登录的ssh并把ip加入防火墙
这里执行脚本要把zabbix加入sudo权限。zabbix客户配置文件开启对远程命令的支持EnableRemoteCommands=1
这里就大功告成了
这里我把模板上传上来
检查ssh登录的脚本如下 #!/bin/bash ip=`w | awk '/用户/{print $3}'` w | awk '/用户/{print $2}' | xargs -i pkill -kill -t {} for IP in $ip do if [ $IP == "ip" ];then echo "attention:The invasion from $IP of office" | mail -s "attention,please check" 13651602471@139.com else iptables -I INPUT 1 -s $IP -j DROP echo "attention:The invasion from $IP of outside" | mail -s "attention,please check" 13651602471@139.com fi done附件:http://down.51cto.com/data/2367644
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。