Ultimamente surgiu a necessidade de realizar o monitoramento de expiração de SSL de domínio. Afinal, ninguém quer ser pego de surpresa e descobrir que os usuários que frequentam seu site não confiam mais na sua conectividade. É lamentável ainda o desleixo que algumas pessoas tem com isso.
Para monitorar esse tipo de situação, criei um script que dá um retorno nos dias restantes antes da expiração. Este script deve ficar em seu servidor zabbix ou algum outro que você deseja realizar o monitoramento que será feito com o “UserParameter”:
#!/bin/bash
data=$(echo | openssl s_client -servername $1 -connect $1:443 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | sed -e 's#notAfter=##')
if [ -z "$data" ]; then
# Caso ocorra o erro "unable to load certificate", retorna 0
echo "0"
else
ssldate=$(date -d "${data}" '+%s')
nowdate=$(date '+%s')
diff=$((ssldate - nowdate))
if [ $diff -lt 0 ]; then
dias_restantes=0
else
dias_restantes=$((diff / 86400))
fi
echo $dias_restantes
Você pode nomear o script como:
/scripts/checkssl.sh
Em seguida, dê as permissões de execução ao script:
chmod +x /scripts/checkssl.sh
Agora, você pode incluir um UserParameter em /etc/zabbix/zabbix_agentd.conf e em seguida reiniciar o agente do zabbix
UserParameter=checkssl[*],/scripts/check_ssl.sh $1
systemctl restart zabbix-agentd
Crie o Item no Host:
E a Trigger:
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.