zabbix监控异常ip登录并告警
为了服务器的安全,需要知道是否有异常的IP通过SSH登录到我们的服务器,以便我们及时防御入侵。
一、配置脚本
1.在被监控的服务器上创建自动异常登录脚本,存放在/etc/zabbix/script下:
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
[[ $(grep -iE 'ubuntu|debin|elementary' /etc/issue) ]] \
&& logs='/var/log/auth.log' \
|| logs='/var/log/secure'
## $1: Accepted OR Failed
#portarray=( $(awk "/$1/ {print \$(NF-3)}" $logs |sort |uniq) )
count=$2
count=${count:=0}
portarray=( $(grep 'sshd' $logs |awk "/$1/ {print \$(NF-3)}" $logs |sort |uniq -c |awk "{if (\$1 >= $count) print \$NF }") )
length=${#portarray[@]}
function zabbix_json(){
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
printf '\n\t\t{'
printf "\"{#ACCESS_IP}\":\"${portarray[$i]}\"}"
if [ $i -lt $[$length-1] ];then
printf ','
fi
done
printf "\n\t]\n"
printf "}\n"
}
function check(){
awk "/$1/ {print \$(NF-3)}" $logs |grep $2 |sort |uniq -c |awk '{print $1}'
}
[[ $1 = check ]] \
&& $* \
|| zabbix_json
[root@centos6 script]# chown zabbix.zabbix discovery_access.sh
[root@centos6 script]# chmod +x discovery_access.sh
2.修改配置文件,增加参数
[root@centos6 zabbix_agentd.d]# vim /etc/zabbix/zabbix_agentd.d/userparameter_sa_linux.conf
UserParameter=discovery.access[*],/etc/zabbix/script/discovery_access.sh $1 $2 $3
3.重启zabbix客户端
[root@centos6 script]# service zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
二、测试脚本连通
在zabbix-server端,使用zabbix_get命令来获取agent端的脚本参数:
[root@centos6 conf.d]# zabbix_get -s 192.168.10.137 -k discovery.access[Accepted]
{
"data":[
{"{#ACCESS_IP}":"192.168.10.138"},
{"{#ACCESS_IP}":"192.168.9.135"}
]
}
提示报错:
[root@centos6 conf.d]# zabbix_get -s 192.168.10.137 -k discovery.access[Accepted]
awk: cmd. line:1: fatal: cannot open file `/var/log/secure' for reading (Permission denied)
grep: /var/log/secure: Permission denied
{
"data":[
]
}
解决办法:
设置日志文件的权限
/var/log/secure的权限一般是600,zabbix agent对此文件没有权限。zabbix用户是agent的启动用户,所以我们要设置zabbix用户对/var/log/secure有可读权限,这样agent才能监控。
执行下面的命令,追加zabbix的可读权限:
setfacl -m u:zabbix:r-- /var/log/secure
三、配置自动发现规则
1.创建发现规则
在自建或已有模板中创建自动发现规则:

2.配置发现规则名称


3.配置监控项原型


4.配置触发器类型


创建完成

四、进行测试
一旦有新的IP登录到服务器即会报警:


更多推荐
所有评论(0)