轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://thedream.blog.51cto.com/6427769/1768720
案例:最近新弄了一個項目,為了確保項目的安全。自己就做了一個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
這裡的主要作用是定義監控的時間范圍
創建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" [email protected]
else
iptables -I INPUT 1 -s $IP -j DROP
echo "attention:The invasion from $IP of outside" | mail -s "attention,please check" [email protected]
fi
done
本文出自 “不拋棄!不放棄” 博客,請務必保留此出處http://thedream.blog.51cto.com/6427769/1768720