Bon, supervision des émissions de certificats pour mes noms de domaine en route. Il reste à attendre que les iraniens fassent un faux certificat pour voir si ça fonctionne vraiment... #cybersécuritay
@bortzmeyer tu fais ça comment avec openssl -ct ? as-tu documenté ça qqpart ?
Je serai intéressé de pouvoir industrialiser ça chez @Octopuce mais n'ai pas encore bien compris comment faire :/

@vincib @Octopuce J'utilise CertStream https://github.com/CaliDog/certstream-python/

Pour l'instant, mon filtrage pour ne garder que les noms de domaines qui m'intéressent n'est pas assez optimisé, il va falloir que j'améliore ça.

CaliDog/certstream-python

Python library for connecting to CertStream. Contribute to CaliDog/certstream-python development by creating an account on GitHub.

@bortzmeyer @Octopuce merci, c'est vraiment très chouette et très utile !

(reste que requêter nos +5000 domaines sur un flux aussi large, ça va pas être simple simple ... )

:D

@vincib @Octopuce Oui, c'est le problème que j'ai.

Suggestion : qu'Octopuce installe le serveur (logiciel libre) sur une de ses machines et fasse ensuite des flux où on peut s'abonner uniquement pour les domaines qui nous intéressent).

@bortzmeyer @Octopuce je me vois déjà sortant TAoCP volume 3 :) et écrire 200 (ou 2000...) lignes de C pour optimiser la recherche dans une liste de domaines donnés, à partir d'une liste de domaines (ou wildcard) sortis du CTlog ...
@bortzmeyer @Octopuce J'y suis presque ;) pour l'instant j'ai surtout *beaucoup* de données :D
ai écris 63 lignes de python3 qui remplissent une base MariaDB avec les certificats (en mettant les CA-chaînes sur une table à part ;) )
avec les extraction public-suffix des SAN des certificats dans une troisième table ...
en faire un service va devenir un jeu d'enfant
@bortzmeyer @Octopuce pour l'instant il faut s'attendre à 1.5m de cert par jour et 4.7Go de donnée par jour.
@bortzmeyer @Octopuce et ça marche plutôt bien ;)
#UnProjetUnDomaine
@vincib @bortzmeyer @[email protected] Je suis trop naïf de penser qu'utiliser CAA devrait suffire ?
(Tant que les navigateurs banissent les CA ne se conformant pas à ce champs bien entendu.)

@lord @bortzmeyer le projet certificate transparency de google explique bien les différents attributs des différents protocoles :

https://www.certificate-transparency.org/comparison

Comparison with Other Technologies - Certificate Transparency

This site describes the Certificate Transparency effort being spearheaded by Ben Laurie, Adam Langley and Stephen McHenry. The effort is designed to significantly increase the security of the Public Key Infrastructure used by web sites and services.

@lord @vincib Sans #DNSSEC, CAA ne vaut pas grand chose.

@bortzmeyer @Octopuce bon, maintenant, sérieusement, c'est quoi ton service idéal (si possible en progressant des fonctions voulues de suite vers celles souhaitées plus tard ) ;)

- recevoir les cert produits pour une liste de domaine à toi par mail ?
- tu me fournis une URL que j'appelle pour y POSTer lesdits certs ?
et
- souhaites-tu pouvoir y mettre des FQDN complexe, ou juste des "noms de domaines" (au sens niveau public-suffix +1) ?
- combien en as-tu à scanner

@vincib @Octopuce
- recevoir les certificats produits pour une liste de domaines à moi par mail (alternative : Atom, WebSocket, MQTT, ActivityPub...)
- en tout cas pull (de mon point de vue de client) et pas push, mon serveur ne devant pas avoir à être allumé tout le temps
- juste des noms de domaine, sachant que, pour toto.fr, il faut signaler les certificats de toto.fr, de machin.truc.toto.fr mais pas de vasytoto.fr
1/2

@vincib @Octopuce
- pour l'utilisateur final (pas opérateur), même grosse entreprise, dix ou vingt noms suffisent

PS : https://github.com/CaliDog/certstream-python/issues/22

2/2

Filtering server-side? · Issue #22 · CaliDog/certstream-python

[I'm not sure if I should file this issue here or with CaliDog/certstream-server. But I experience the problem with a Python program, so...] If you are interested only by a subset of the certif...

@vincib @Octopuce Note que ça te fais dépendre d'un service tiers. Par exemple, ce matin, CertStream semble très perturbé. (Déconnexion/reconnexion tout le temps, et peu de certificats qui arrivent.)
@bortzmeyer @Octopuce bein non : si j'utilise mon propre serveur certstream, je ne dépendrais que des CT logs eux même :)
@bortzmeyer @vincib Avec un peu plus de recul, je confirme : le *service* (pas forcément le logiciel serveur) CertStream est très peu fiable, et souvent défaillant.

Et, s'il défaille, pas moyen de rattraper les notifications ratées (contrairement aux "brokers" comme RabbitMQ, il n'a pas de "buffer"). Par exemple, ce certificat ne m'a jamais été notifié par CertStream : https://crt.sh/?id=1260291509
crt.sh | 1260291509

Free CT Log Certificate Search Tool from Sectigo (formerly Comodo CA)

@vincib @bortzmeyer @Octopuce j'ai commencé à bricoler un truc avec Eventmachine en Ruby, je pensais mettre la liste des domaines dans une instance memcached.

@TouitTouit @bortzmeyer @Octopuce bien bien :)

j'ai déjà apt install une VM et mariadb et redis :D
... ça va pythoner

ah, et aussi wget https://publicsuffix.org/list/public_suffix_list.dat
parce que je crois que je vais me baser sur ça pour optimiser les requêtes ...

@vincib @bortzmeyer @Octopuce pas compris, en quoi ça permettrait d'optimiser ?
@TouitTouit @bortzmeyer @Octopuce optimiser la recherche par la suite pour l'utilisateur final, qui veut "les certificats de son domaine" que ce dernier soit machin.com OU machin.co.uk OU encore machin.eu.org (unofficiel)
ce que publicsuffix permet de précalculer à l'arriver de chaque cert
@vincib @bortzmeyer @Octopuce J'avais complètement zappé les suffixes avec plusieurs composants