Deblan blog

Rechercher un article

Expiration de certificats SSL

Fin avril dernier, j'ai publié un projet qui génère un récapitulatif de la date d'expiration d'un ou plusieurs nom de domaines.

Je publie aujourd'hui une mise à jour qui intègre un outil pour avoir un récapitulatif des dates d'expirations des certificats SSL. C'est sur le même principe que pour les noms de domaines avec une uniformisation des affichages.

Pour l'installation, rien ne change si ce n'est une dépendance à openssl :

$ git clone --recurse-submodules https://gitnet.fr/deblan/domain-expiration.git
$ cd domain-expiration
$ composer install

Les commandes varient un petit peu mais rien de bien méchant. Pour tester les noms de domaines :

./check domains google.com amazon.com facebook.com apple.com microsoft.com
+---------------+------+---------------------+
| Domain        | Days | Date                |
+---------------+------+---------------------+
| apple.com     | 438  | 2021-02-20 05:00:00 |
| microsoft.com | 510  | 2021-05-03 04:00:00 |
| amazon.com    | 1787 | 2024-10-31 04:00:00 |
| facebook.com  | 3033 | 2028-03-30 04:00:00 |
| google.com    | 3201 | 2028-09-14 04:00:00 |
+---------------+------+---------------------+

Pour tester les certificats :

./check https-certificates google.com amazon.com facebook.com apple.com microsoft.com 
+---------------+------+---------------------+
| Domain        | Days | Date                |
+---------------+------+---------------------+
| google.com    | 49   | 2020-01-27 13:25:53 |
| facebook.com  | 56   | 2020-02-03 13:25:52 |
| amazon.com    | 112  | 2020-03-31 13:25:52 |
| apple.com     | 222  | 2020-07-19 13:25:52 |
| microsoft.com | 543  | 2021-06-05 13:25:50 |
+---------------+------+---------------------+

Des options peuvent être ajoutées pour modifier le retour en simplifiant le tableau, pour générer du JSON et pour ralentir le programme entre chaque test (très pratique pour récupérer les whois sans être bloqué).

C'est toujours libre et le code est disponible sur Gitnet.


Vérifier la date d'expiration de noms de domaine

Que ce soit à titre personnel ou dans le cadre de mon travail, je dois gérer une liste relativement importante de noms de domaine et m'assurer qu'ils sont renouvelés à temps.

Les prestataires vers qui sont achetés les noms sont divers et il n'y a pas d'homogénéité des alertes qui notifient d'une expiration prochaine.

Par conséquent, j'ai écris un projet qui a pour seul et unique objectif de me donner la date d'expiration d'un ou plusieurs noms de domaine. Cette date prendra une couleur selon de l'échéance : rouge si on est dans les 2 dernières semaines, jaune si c'est dans les 30 prochains jours ou ou vert si c'est au délà.

$ domain-expiration check google.com amazon.com facebook.com apple.com microsoft.com
+---------------+---------------------+
| Domain        | Date                |
+---------------+---------------------+
| google.com    | 2020-09-14 04:00:00 |
| apple.com     | 2021-02-20 05:00:00 |
| microsoft.com | 2021-03-05 04:00:00 |
| amazon.com    | 2022-10-31 04:00:00 |
| facebook.com  | 2028-03-30 04:00:00 |
+---------------+---------------------+

Grâce à ansi2html, on peut réaliser une conversion du rendu en HTML afin générer un mail coloré.

$ domain-expiration --ansi check [...] | ansi2html | mail \
  -a "Content-type: text/html" \
  -s "Dates d'expirations des domaines" \
  admin@example.com

Le projet est écrit avec PHP 7.3. Les dépendances sont traitées avec composer et il faut le programme whois.

$ git clone https://gitnet.fr/deblan/domain-expiration.git
$ cd domain-expiration
$ composer install
$ php7.3 ./domain-expiration check mon-site.fr

Le code n'est pas parfait mais ça fonctionne 😊


[TIP] Générateur SPF

SPF est une des solutions techniques qui permet d'identifier un serveur comme légitime pour envoyer un email avec un nom de domaine précis. On s'appuie sur les DNS pour effectuer cette configuration. Pour plus d'informations, je vous invite à consulter l'article SPF sur Wikipedia.

La syntaxe n'est pas très compliquée mais il a quelques subtilités qui nécessitent de regarder de la doc avant de valider les modifications. Par conséquent, j'ai écrit un script shell qui permet de générer facilement une entrée SPF.

Voici quelques exemples d'utilisation :

$ spfgenerator -d '*' -mx -ip 109.190.159.83 -ip 5.135.190.125 -p fail
*	IN	TXT	"v=spf1 mx ip4:109.190.159.83 ip4:5.135.190.125 -all"
$ spfgenerator -a "" -mx -ip 1.2.3.4 -ip fe80::7e7a:91ff:fe27:d29c/64 -i example.com -s
v=spf1 mx a ip4:1.2.3.4 ip6:fe80::7e7a:91ff:fe27:d29c/64 include:example.com ?all

Et le code source : https://gitnet.fr/deblan/spfgenerator.deb/src/master/usr/bin/spfgenerator.

Enjoy :)


DNSLookup, nouveau service deblan !

Quand vous travaillez dans le web et que vous gérez des noms de domaines, vous vous posez toujours la même question pendant une propagation DNS : où est-ce que ça en est ?

Sur le principe de What's My DNS?, je vous propose un service qui permet de connaître l'enregistrement DNS de votre nom sur quelques serveurs majeurs Français.

DNSLookup est un programme (et un service en ligne) sous licence BSD. Vous pourrez le modifier et l'installer sur votre serveur si vous en avez envie.

Essayez tout de suite DNSLookup :)

DNSLookup


Update: cerise sur le gâteau, DNSLookup supporte à présent les requêtes Whois !