Script BASH que comprova la data de caducitat de certificats SSL al vol de molts dominis

Script BASH que comprova la data de caducitat de certificats SSL al vol de molts dominis

En aquest xicotet article t'explique un script BASH que m'he fet per a fer la comprovació, al vol, de molts certificats de validació de domini que instal·lem al treball per a l'https de les webs.

A banda de gestionar el programari dels projectes web i els dominis, també gestionem els certificats de validació de domini que solen caducar una vegada a l'any, i ací he anat fent-me un automatisme per a que la comprovació de la caducitat siga més ràpida i senzilla enlloc d'anar obrint un navegador i anar obrint les més de 115 pàgines web i comprovar manualment cada un dels certificats SSL.

Doncs bé, per a comprovar la validesa d'un únic certificat SSL de la web "www.todolella.es" (amb HTTPS) des de la terminal farem:

~# domini="www.todolella.es"
~# echo -n Q | openssl s_client -servername $domini -connect $domini:443 | openssl x509 -noout -dates

El resultat:
script BASH per a comprovar la data de caducitat i altres paràmetres d'un domini que li passem com a argument

Si ara vullguera fer la comprovació de 3 dominis, per exemple "teresa.es", "todolella.es" i "cabanes.es", farem:

~# for i in teresa.es todolella.es cabanes.es;
~# do
~# echo -n Q | openssl s_client -servername $i -connect $i:443 | openssl x509 -noout -dates;
~# done

El resultat:
comprovant dades del certificat SSL a tres dominis al vol

Si tenim molts dominis, podem crear un fitxer llistat.txt amb tot el llistat dels dominis, i aleshores podem anar fent les comprovacions de cada un dels dominis recorrent línia a línia el llistat de dominis.

Crearem el fitxer llistat.txt i afegirem tots els dominis que necessitem comprovar. Jo, en aquest exemple, un llistat amb 21 dominis que vull comprovar. Fixat que funciona fins i tot si fiquem majúscules i/o minúscules. L'script interpreta bé els noms i els agafa en minúscules tots automàticament:

~# cat llistat.txt
todolella.es
ToGa.es
Toras.es
elToro.es
TorralbadelPinar.es
Torrechiva.es
latorredenbesora.es
latorredendomenec.es
Traiguera.es
lesuseres.es
Vallat.es
Valldalba.es
ValldeAlmonacid.es
Vallibona.es
Villamalur.es
VilanovadAlcolea.es
VilardeCanes.es
Villores.es
Vistabelladelmaestrat.es
ZoritadelMaestrazgo.es
lavallduixo.es
~#

I ara l'script BASH serà el següent. He afegit uns retocs amb línies separadores ("=====") i també un retoc estètic de color en la variable notAfter, la que mostra la data de caducitat, per a una millor visualització:

#!/bin/bash
fitxer=$( for i in $fitxer;
do
echo -n Q | openssl s_client -servername $i -connect $i:443 | openssl x509 -noout -dates; | GREP_COLOR='01;31' egrep -i --color=always 'notAfter|$'
done

El resultat:
Script bash per a comprovar la data de caducitat de molts certificats SSL al vol

EXECUCIÓ DE L'SCRIPT
Si volem crear aquest script de manera executable per a comprovacions futures, ho desarem a un fitxer amb nom script.sh per exemple. A continuació haurem de donar-li permisos chmod 700 ./script.sh i l'executarem amb ./script.sh directament o modificant la ruta del BASH en la primera línia i ja està.

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES