Verificar validade das assinaturas das zonas hospedadas no DNSSEC
Publicado por eli marques junior (última atualização em 23/09/2013)
[ Hits: 4.595 ]
Verifica assinatura das zonas hospedadas no servidor $SERVER mostrando a data da criação, quando expira e quantos dias faltam para expirar...
Configuração:
- Alterar os DNS da variável "LISTA" e o IP/hostname da variável "SERVER".
- Na variável "day_expire_thresholds" setar os valores de warn e crit, respectivamente:
day_expire_thresholds=("10" "3")
Saída do script:
0 Zone_dns1.leg.br - Assinatura vencendo em 174 dias! Criação em: 2013/08/21, Expira em: 2014/02/17 as 13h:04min:46seg
0 Zone_dns2.leg.br - Assinatura vencendo em 113 dias! Criação em: 2013/08/21, Expira em: 2014/02/17 as 13h:07min:11seg
0 Zone_dns3.leg.br - Assinatura vencendo em 14 dias! Criação em: 2013/08/21, Expira em: 2013/09/16 as 13h:08min:15seg
#!/bin/bash #ELI MARQUES JUNIOR # #Colocar esse script no diretorio "/usr/lib/check_mk_agent/local" com permissao para execucao # #day_expire_thresholds=("int warn" "int crit") day_expire_thresholds=("10" "3") SERVER="10.219.13.20" LISTA=("dns1.leg.br" "dns2.leg.br" "dns3.leg.br" "dns4.leg.br" "dns5.leg.br" "dns6.leg.br" "dns7.leg.br" "dns8.leg.br" "dns9.leg.br" "dns10.leg.br") #LISTA=(grep -iw zone /etc/bind9/lay.txt | awk '{print $2}') ##### ------>>> FAVOR NAO ALTERAR NADA DAQUI PARA BAIXO <<<------ ##### ##### quant_list=${#LISTA[@]} warn=${day_expire_thresholds[0]} crit=${day_expire_thresholds[1]} count=0 while [ $count -lt $quant_list ]; do data_final=(`dig +dnssec @$SERVER ${LISTA[$count]} dnskey | grep RSIG | grep -o -m 1 "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"`) dia_final=`echo ${data_final[0]} | cut -c7-8` mes_final_int=`echo ${data_final[0]} | cut -c5-6` ano_final=`echo ${data_final[0]} | cut -c1-4` hora_final=`echo ${data_final[0]} | cut -c9-10` min_final=`echo ${data_final[0]} | cut -c11-12` seg_final=`echo ${data_final[0]} | cut -c13-14` data_inicial=`echo ${data_final[1]}` dia_inicial=`echo ${data_inicial[0]} | cut -c7-8` mes_inicial=`echo ${data_inicial[0]} | cut -c5-6` ano_inicial=`echo ${data_inicial[0]} | cut -c1-4` data_atual=(`date '+%m %d %Y'`) mes_atual=${data_atual[0]} dia_atual=${data_atual[1]} ano_atual=${data_atual[2]} case $mes_atual in 01) mes_atual=Jan;; 02) mes_atual=Feb;; 03) mes_atual=Mar;; 04) mes_atual=Apr;; 05) mes_atual=May;; 06) mes_atual=Jun;; 07) mes_atual=Jul;; 08) mes_atual=Aug;; 09) mes_atual=Sep;; 10) mes_atual=Oct;; 11) mes_atual=Nov;; 12) mes_atual=Dec;; esac case $mes_final_int in 01) mes_final=Jan;; 02) mes_final=Feb;; 03) mes_final=Mar;; 04) mes_final=Apr;; 05) mes_final=May;; 06) mes_final=Jun;; 07) mes_final=Jul;; 08) mes_final=Aug;; 09) mes_final=Sep;; 10) mes_final=Oct;; 11) mes_final=Nov;; 12) mes_final=Dec;; esac data_futuro=`date +%s -d "$mes_final $dia_final $ano_final"` data_atual=`date +%s -d "$mes_atual $dia_atual $ano_atual"` dias_expirar=`expr $data_futuro - $data_atual` resultado=`expr $dias_expirar \/ 86400` if [ $resultado -le $crit ]; then state=2 else if [ $resultado -le $warn ]; then state=1 else state=0 fi fi printf "%s Zone_%s - Assinatura vencendo em %s dias! Criação em: %s/%s/%s, Expira em: %s/%s/%s as %sh:%smin:%sseg \n" $state ${LISTA[$count]} $resultado $ano_inicial $mes_inicial $dia_inicial $ano_final $mes_final_int $dia_final $hora_final $min_final $seg_final ((count++)) done
Manipulação dos arquivos criados pelo Motion
Compilação do QMPlay2 no Deepin 20
Limpar e mostrar tamanho da lixeira no Samba
RWLamp - Instalador Lamp-server
Automatizar a importação de chave privada GPG (GnuPG)
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Instalação Uefi com o instalador clássico do Mageia [RESOLVIDO] (2)
Melhorando a precisão de valores flutuantes em python[AJUDA] (11)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)