DANE OPENPGPKEY, c'est utiliser le DNS, signé avec DNSSEC, pour récupérer une clé publique OpenPGP (pas pour en prouver l'authenticité, attention !). Pour les détails, voir l'article de tonton Bortz.
J'avais déjà tenté d'utiliser DANE OPENPGPKEY quand j'en avais appris l'existence en 2016, mais je n'étais pas parvenu à forger l'enregistrement DNS qui le matérialise. Mais, cette fois-ci, je suis outillé.
Pour créer un tel enregistrement, on va utiliser la suite logicielle hash-slinger (qui permet, également et entre autres, la manipulation des enregistrements DNS SSHFP et des enregistrements DNS DANE TLSA). Installons-le (il n'est pas dans les dépôts Debian GNU/Linux Buster à cause d'une dépendance à python33-m2crypto non-satisfaite) :
$ sudo apt-get install swig
$ sudo pip3 install m2crypto
$ git clone https://github.com/letoams/hash-slinger
$ cd hash-slinger && sudo make install
La clé publique que l'on veut publier doit être présente dans le trousseau GnuPG courant. Voir mon tutoriel complet pour créer / gérer sa paire de clés OpenPGP.
Créer l'enregistrement : openpgpkey --create <adresse_emails_de_l'identité_de_la_clé_OpenPGP>.
Publier l'enregistrement dans la zone DNS concernée.
On vérifie que l'enregistrement est correct :
$ openpgpkey --verify <adresse_emails>
All OPENPGPKEY records matched with content from the local keyring
Pour tester la récupération, soit on tente depuis une autre machine (virtuelle), soit on utilise un compte utilisateur différent sur la même machine ou même un trousseau différent sur le même compte utilisateur. J'ai choisi cette troisième option.
$ mkdir /tmp/testOPK
$ export GNUPGHOME=/tmp/testOPK
$ gpg -k # doit rien retourner puisque trousseau vide
$ gpg --auto-key-locate dane --locate-keys <adresse_emails>
Si la clé OpenPGP a plusieurs identités, seule l'identité qui correspond à l'adresse emails a été publiée et est donc récupérable. Les autres identités doivent être publiées chacune dans leur zone respective et être récupérée séparément.
Les signatures de la clé ne sont pas publiées et ne sont pas récupérables. De toute façon, suite à l'attaque de 2019 des serveurs de clés OpenPGP par surcharge de signatures, les développeurs de GnuPG ont décidé de ne plus récupérer les signatures tierces sur les serveurs de clés. Donc, DANE ou serveur de clés = même résultat.
Bien évidemment, DANE OPENPGPKEY est un moyen supplémentaire de récupérer une clé OpenPGP : serveurs de clés, téléchargement web, pièce jointe d'un email, etc. DANE OPENPGPKEY ne permet pas de garantir qu'il s'agit de la clé du correspondant avec lequel tu veux échanger. En effet, DNSSEC garanti que l'enregistrement DNS n'a pas été altéré durant son transport entre le serveur qui fait autorité sur le domaine du correspondant et le serveur DNS récursif qui effectue la validation. Rien dit qu'un attaquant n'a pas inséré sa clé OpenPGP dans l'enregistrement OPENPGPKEY du correspondant. Rien dit qu'un attaquant actif entre ton serveur DNS récursif et toi n'a pas modifié l'enregistrement DNS. Bref, comme d'habitude, il faut vérifier l'authenticité de la clé récupérée en contactant le correspondant sur un autre canal (de visu, téléphone, etc.) avant de signer la clé et de lui accorder une quelconque confiance.
Résumé : si t'as configuré ton serveur d'emails Postfix pour qu'il prenne en compte les enregistrements DNS DANE TLSA et qu'un email n'est pas envoyé au motif d'erreur « Server certificate not verified », vérifie la validité de l'enregistrement TLSA associé au serveur emails du destinataire avec l'outil tlsa de la suite logicielle hash-slinger : il ne correspond très probablement pas au certificat x509 présenté par le serveur emails. Contacte l'hébergeur du serveur en utilisant whois -B <adresse_IP_du_serveur. On notera que le message d'erreur de Postfix n'est pas explicite, donc qu'il y a encore du boulot de ce côté-là avant une généralisation de DANE TLSA.
DANE TLSA permet de stocker, dans le DNS signé avec DNSSEC, les certificats x509 afin d'obtenir une deuxième chaîne de validation et de combler ainsi les immenses lacunes conceptuelles du modèle de sécurité de la norme x509. Détails et utilisation concrète ici.
Il y a quelques jours, j'ai rencontré, en production, mon premier pépin dont l'origine est DANE TLSA.
J'envoie un email. Un jour après, pour comprendre une toute autre chose, je consulte le journal de Postfix, mon serveur d'emails. Par hasard (tail -f et nouvelle tentative d'envoi récente), j'y lis ceci :
postfix/smtp[23743]: 235AB2AE: to=[CENSURE], relay=[CENSURE][[CENSURE]]:25, delay=82176, delays=82176/0.15/0.13/0, dsn=4.7.5, status=deferred (Server certificate not verified)
Notons que si je n'avais pas consulté le journal, j'aurais quand même été informé du problème en recevant, après 5 jours (valeur par défaut du paramètre maximal_queue_lifetime de Postfix), un email présentant le problème émis par « Mail Delivery System / MAILER-DAEMON », c'est-à-dire Postfix lui-même.
Je cherche à obtenir plus d'infos.
Ajouter « -v » dans la colonne « command + args » des services « tlsmgr » et « smtp » dans master.cf (exemple : « tlsmgr unix - - y 1000? 1 tlsmgr -v ») + systemctl reload postfix rend Postfix plus causant mais cela m'apprend rien.
Dans main.cf, je suis déjà en smtp_tls_loglevel = 1. En changer la valeur pour « 2 » et recharger Postfix ne m'en apprendra pas d'avantage.
Rien permet de comprendre l'origine du problème, pas un seul indice. Un message d'erreur explicite serait le bienvenu avant une généralisation de DANE TLSA.
Je connais les compétences des salariés de l'hébergeur emails de mon destinataire, donc je choisis de remettre en cause mon installation plutôt que la leur.
Comme m'y incite le premier résultat d'une recherche du message d'erreur « Server certificate not verified » dans un moteur de recherche, je commence à creuser la politique de validation d'un certificat x509 appliquée par Postfix (paramètres smtp_tls_(verify|secure)_cert_match) : avec quoi compare-t-on le Common Name / SubjectAltName ? Avec le nom du serveur ? Avec le nom de domaine du destinataire ? Avec celui de l'hébergeur emails ? Ma recherche en ce sens donnera rien.
Je réfléchis (enfin). Comme l'écrasante majorité des serveurs emails, le mien est configuré pour tenter un envoi en clair si l'envoi chiffré a été impossible (on nomme ça TLS / chiffrement opportuniste). Pourquoi mon serveur n'a pas agit comme ça cette fois-ci ?
Il est configuré pour prendre en compte les enregistrements DNS TLSA : smtp_dns_support_level=dnssec + smtp_tls_security_level=dane (attention : les versions de TLS et les suites de chiffrement autorisées se définissent désormais dans smtp_tls_mandatory_protocols et smtp_tls_mandatory_ciphers !). Si l'hébergeur emails du destinataire a positionné un enregistrement TLSA, cela signifie qu'il veut qu'on échange avec lui de manière chiffrée, donc on n'essaye pas de communiquer en clair. DANE TLSA pallie à la principale limite du chiffrement opportuniste : sans TLSA, si le message d'initialisation du chiffrement, STARTTLS, est perdu ou volontairement stoppé par un méchant, alors la communication s'effectue sans chiffrement.
Je vérifie la présence d'un enregistrement TLSA avec dig TLSA _25._tcp.<nom_du_smtp_distant_qui_est_mentionné_dans_relay_dans_le_journal_Postfix>. Il y en a bien un.
J'utilise tlsa, un petit script de la collection hash-slinger (qui permet, également et entre autres, la manipulation des enregistrements DNS SSHFP et des enregistrements DNS DANE OpenPGP) pour vérifier la validité de cet enregistrement.
Attention si tu utilises Debian GNU/Linux Buster : hash-slinger n'est pas empaqueté dans cette version à cause d'une dépendance à python3-m2crypto non satisfaite. La version de hash-slinger qui utilise python2 que t'as pu installer avant de mettre à jour ton système pourrait ne pas fonctionner dans certains cas à cause de l'obsolescence de la bibliothèque TLS (« M2Crypto.SSL.SSLError: wrong version number », c'est du vécu). Bref : sudo apt-get install swig && pip3 install m2crypto + installer hash-slinger depuis le dépôt git officiel (git clone + sudo make install).
Je vérifie donc la validité de l'enregistrement TLSA positionné par l'hebergeur emails :
$ tlsa --verify --port 25 <nom_du_smtp_distant_qui_est_mentionné_dans_relay_dans_le_journal_Postfix>
FAIL (Usage 3 [DANE-EE]): Certificate offered by the server does not match the TLSA record ([CENSURE])
Oups… Tout s'explique… Le certificat x509 présenté par le serveur emails ne correspond pas à l'enregistrement TLSA.
Afin d'être sûr de moi, je calcule moi-même le RDATA de l'enregistrement DNS en fonction du certificat actuellement utilisé avec $ openssl s_client -connect [CENSURE]:25 -starttls smtp -showcerts < /dev/null 2> /dev/null | openssl x509 -pubkey | openssl rsa -pubin | head -n -1 | tail -n +2 | base64 -d | sha256sum et, oui, il ne correspond pas à celui mis en service. Pour les détails : l'enregistrement présent est un condensat SHA-256 (mtype = 1) de la clé publique (selector = 1) du seul certificat du serveur (usage = 3), d'où cet enchaînement de commandes publié sur le blog de Stéphane Bortzmeyer pour le synthétiser.
Je contacte l'hébergeur emails. Comment ? whois -B <IP_du_serveur_emails>. D'une manière générale, ne pas oublier « -B » : cela permet d'obtenir des adresses emails autres que celle qui permet de signaler les abus. J'ai mis de côté d'autres paramètres bien utiles de la commande whois dans mon article Découvrons la RIPE database.
En fin de matinée du premier jour ouvré suivant mon email, l'enregistrement DANE TLSA a été retiré. Fin du problème, mais c'est dommage d'avoir laissé tomber… Peut-être est-ce un repli stratégique pour réfléchir à un meilleur déploiement, avec supervision et tout et tout ?
Résumé : comment j'ai passé 5 mois à cogiter sur l'achat de nouvelles chaussures à cause de blocages mentaux (plus cher = mieux ?, acheter toujours acheter…, quel modèle choisir ?, des chaussures, c'est des chaussures, quoi…). Il faut dire que c'était mon premier changement de modèle. Je publie ce shaarli pour les personnes dans ma situation. Si t'as des baskets qui prennent l'eau après trois semaines d'utilisation et dont les semelles se trouent à de multiples endroits après deux mois et sont totalement déchirées après six mois, ce n'est pas normal, change de marque / modèle, n'hésite pas à dépenser plus pour des semelles plus épaisses, c'est rentable sur le long terme : moins de temps passé à les renouveler + réduction de ton empreinte écologique + économie. Si l'apparence a aucune importance pour toi, si tu ne sais pas quel modèle choisir, si tu ne sais pas t'écouter (quel modèle me tente) ni te projeter (quel modèle me va bien), si le choix te paralyse, demande conseil aux gens que tu respectes, surtout s'ils portent des chaussures qui ne te parlent pas mais qui te paraissent pas trop-trop mal.
Si l'on m'avait dit que j'écrirai un jour un shaarli ayant pour thèmatique les chaussures… Shit happens. Au-delà de chaussures, il est surtout là pour consigner mes blocages mentaux et mes contradictions, ce qui n'est pas inintéressant à archiver afin de visualiser, plus tard, les améliorations et les régressions.
Je porte des fringues et des chaussures pour deux raisons : masquer mon corps et m'adapter aux conditions du terrain (température, pluie, sol irritant ‒ genre l'asphalte ou le sable ‒, chemin caillouteux, bris de verre, etc.). Forcément, j'ai jamais compris pourquoi ces éléments devaient être des éléments de distinction sociale (on notera que c'est bien pareil dans d'autres domaines : Kéké claque tout son fric pour avoir le "meilleur" tuning de voiture, JeanMi fait de même afin d'avoir le plus puissant ordinateur, etc.). Forcément, j'ai jamais compris le baratin sur l'apparence des fringues, ni la mode. Pour moi, le seul critère devrait être la fonctionnalité : est-ce que ce bout de tissu me protège mieux contre tel risque local ?
Conséquence : cela fait plus de 15 ans que j'ai le même modèle de chaussures : des baskets basses noires de """"marque"""" Atemi qu'on trouve à la Halle aux chaussures pour 25 € (24,90 ou 24,99, je ne sais plus). Maman les avait choisies, affaire classée. Bon, j'avoue, y'a très longtemps, je me suis permis une énorme folie : changer de couleur. Le même modèle, mais en noir au lieu de blanc. Wouhou ! (Et je me souviens des propos des camarades de classe de sexe féminin pour me faire revenir au blanc en mode "ça ne te va pas, le noir".)
Ça fait plus de 5 ans que j'avais un doute : je trouvais que ces chaussures s'usent super vite. Je ne fais pas de sport. Je me contente de déplacements en ville. Métro-boulot-magasins-dodo. Peut-être faudrait-il acheter un modèle plus coûteux "pour voir" ? J'hésite… J'ai été éduqué sur le modèle « ce n'est pas parce que c'est plus cher que ça répond à ton besoin : si ça se trouve, la différence de prix paye la marque et/ou une fonctionnalité dont tu n'as pas besoin ». Il faudrait choisir un nouveau modèle… Il faudrait étudier la question… Ça me fait chier. Ça me paralyse, donc je fais rien.
Au fil des années, ce doute progresse… Quand même, elles durent vraiment pas longtemps, ces chaussures. J'en parle aux amis. « Non mais c'est normal des chaussures qui prennent l'eau, oui, même quand elles ont que quelques mois d'âge ». OK… J'affine mon diagnostic et j'en parle à quelques collègues : « elles durent deux mois, après y'a de gros trous partout dans la semelle ». On me répond (enfin ?) que « ce n'est pas normal, suis-je sûr de moi ? ». Cette fois-ci, je procède avec rigueur : je consigne la date d'achat dans mon agenda. Deux mois passent. Au moindre sol mouillé, à la moindre pluie, mes chaussures "neuves" sont des piscines municipales. J'en rachète. Idem deux mois après. C'est confirmé : durée de vie = 2 mois.
Pour être précis : au bout de trois semaines / un mois, la semelle laisse passer l'eau, mais, ça va encore. Au bout de deux mois, la semelle a plusieurs trous d'une taille supérieure à une pièce de deux euros. À la moindre eau présente sur le sol, les chaussures se transforment en piscines. Au bout de six mois, la semelle est déchirée de partout (image), je marche à même le sol, ma peau se fait râper, etc.
Ça me gonfle. Le prix, encore, ça va : je peux me permettre de claquer 25 € tous les 2 mois. C'est inutile, mais je peux me le permettre. L'impact écologique et le travail de gamins étrangers qu'un changement fréquent amplifie me dérangent beaucoup plus. Devoir me déplacer fréquemment, en transports en commun, dans la zone commerciale extérieure à la ville afin d'acheter de nouvelles chaussures, ça, c'est trop : c'est chiant, les transports en commun sont déplaisants au possible, c'est une perte de temps, etc.
On tente un modèle de chaussures plus coûteux ? Pfff, ça fait chier… J'ai jamais choisi mes chaussures (ni mes fringues). Les personnes qui m'ont expliqué qu'il faut pas se prendre la tête, qu'il faut « juste » s'écouter : « est-ce que cette chaussure me tente ? Est-ce que je me vois bien les porter ? » : vous êtes sérieuses ? Je vois juste des chaussures. Aucune me tente. J'arrive pas à me projeter avec. Un rayonnage de chaussures me fait aucun effet. À part générer un profond ennui, bien entendu.
Et puis, à quoi bon dépenser plus d'argent dans des chaussures si, au final, c'est la marque qui empoche la différence pendant que des gamins étrangers fabriquent les chaussures au moindre coût ? Je me dis qu'acheter des chaussures produites en France, ça me motiverait à me bouger. Les collègues me calment tout de suite : ça n'existe pas vraiment. Le Coq sportif externalise à l'étranger. Les baskets Venexan sont fabriquées en Italie (ce qui me rappelle la maltraitance des employés du cuir dans les régions italiennes), etc. Caruus, Ubac et compagnie vendent des baskets en matières qui m'ont l'air très perméables, ce qui ne répond pas à mon besoin (je chausse des baskets, qu'il fasse soleil ou qu'il pleuve), sans compter qu'il faut acheter via le web (j'vais y revenir).
Des collègues se proposent de me faire découvrir des boutiques de pompes du centre-ville. Allons-y. J'ai droit à une formation accélérée sur chaussures de ville, chaussures de sport, running, etc. J'ai rien capté, j'ai rien retenu. Sauf qu'une chaussure en cuir bien foutue, ça fait la moitié d'une vie facile et que ça se fait réparer chez un cordonnier.
Des chaussures de ville ont l'air pas si mal que ça… Sauf qu'elles m'explosent les talons quand je marche (l'impulsion remonte dans mes jambes, c'est très bizarre). Un modèle de baskets semble pas trop mal, mais il n'y a pas vraiment ma taille alors que j'ai un pied plus large que la moyenne au niveau de la jonction des métatarsiens et des phalanges. Il faut donc que la chaussure soit un peu flexible à cet endroit-là pour laisser paraître un bout d'os. J'aurai au moins découvert ça sur mon compte. Youpi…
Ce qui devient sûr, c'est que je ne veux pas de chaussures de ville. Le cuir à entretenir (cirage, etc.), ça sera sans moi. Et ça fait quand même un p'tit air "je me la pète" qui ne me plaît pas. Des baskets, ça sera très bien. Ça passe partout (sauf dans les soirées habillées, mais j'y vais jamais). Ça ne fait pas chier. Quel modèle choisir ? Rebelote…
Mon intérêt se dégonfle. Puis, je remarque les chaussures portées par deux collègues. Elles ne sont pas si mal… C'pas trop-trop mon truc, mais c'pas si mal. Je leur en parle. C'est des Timberland. On cherche sur le web : ça ressemble à des Chukka Bradstreet jaunes (mais ça n'en est pas, c'est le modèle équivalent d'il y a deux ans…). Ça fait baroudeur, me dit-on. Ça m'ira bien, me dit-on. Tu parles… À part sur Internet, j'ai baroudé nulle part ! C'est confortable me dit-on… Ouais, la vendeuse des chaussures de ville en cuir qui me défonçaient le talon m'a dit pareil… Y'a beaucoup de bullshit dans les mots employés pour présenter / vendre des chaussures (comme dans tout autre domaine).
J'hésite. La couleur ne me plaît pas. Ça existe en noir, me dit-on, même si un peu de couleur ne me ferait pas de mal, me dit-on. Ai-je vraiment envie de chaussures qui, me dit-on, donnent une allure de baroudeur ? Ce n'est pas ce que je suis… Ai-je vraiment envie de dépenser plus de 100 € pour une paire de chaussures ? C'est hallucinant, comme chiffre. J'ai toujours eu des besoins simples… 100 €, ça symbolise quand même un autre standing, et c'est une autre image de toi que tu donnes…
Je cogite des semaines et des semaines. Mes chaussures actuelles atteignent le stade « semelles totalement déchirées en plusieurs endroits, donc je marche à même le sol ». Soit je rachète les mêmes et, donc, je continue à perdre mon temps en déplacements et à avoir une empreinte écolo pourrie, soit j'achète les Timberland des collègues, soit j'achète un autre modèle… qu'il faut que je prenne la peine de dénicher, ce qui me démotive au plus haut point. Allons-y pour des Timberland.
Reste à trouver un magasin qui en vende. Hors de question d'acheter sur le web. Arnaques. Enfer de la livraison. Coordonnées bancaires potentiellement enregistrées dans une base de données qui se fera pirater un jour. Galère pour retourner un produit. Difficulté pour choisir la bonne taille (j'ai eu raison : une Timberland qui me va c'est deux pointures au-dessus de l'habituelle !). Etc. Évidemment, il n'y a pas de magasin / revendeur référencé dans ma ville sur le site web officiel. Je fais le tour de plusieurs magasins du centre-ville : rien. Une collègue me dit qu'elle a acheté les siennes à Go Sport. Enrichir le groupe Casino, quelle belle perspective… Mais entre ça ou commander sur le web ou conserver mon modèle actuel de chaussures…
Au final, Go Sport déstockait, donc plein de modèles de marques différentes étaient en promotion. J'ai donc acheté une paire de Timberland Bradstreet noires hautes (aucune idée de la déclinaison, ce n'était pas consigné sur l'étiquette) et une paire de Timberland Advendure alpine noires basses (idem). Au moins, ça fera été et hiver (les Bradstreet sont difficiles à supporter par forte chaleur, d'après mes essais). Total : 133 €. Quelles différences ? Les Advendure alpine sont totalement plates. Le talon des Bradstreet est légèrement surélevé par rapport à la pointe des pieds. Mais, surtout, les Bradstreet sont des """"taille"""" haute / tige haute, c'est-à-dire que la chaussure arrive au moins à la cheville voir la dépasse. Les Adventure alpine sont des """"taille"""" basse / tige basse, donc l'inverse : les chaussures n'arrivent pas la cheville.
J'ai également acheté la paire de chaussures pas tout à fait à ma taille dans le magasin du centre-ville. Ça s'avère être des Clarks Stafford Park5 basses bleu marine. Vu le tissu et les trous, on est plutôt sur un modèle d'été. C'était aussi du déstockage, donc le prix était cassé, mais je ne m'en souviens plus. La critique est unanime : ça fait vieux. Je ne trouvais pas… Une fois qu'on me l'a dit et argumenté (forme, aspect jaunâtre de la semelle, etc.), ouais, en effet, ça fait chaussures de vieux…
Entre les discussions entre collègues et l'achat, 5 mois se sont écoulés. Cinq mois de doutes, de "j'ai pas envie", de "ça va servir à rien", de "je ne sais pas quoi choisir", de "ça ne me ressemble pas" et de discussions en boucle. Si l'on regarde bien, en plus de me suggérer un modèle de chaussures en le portant, la principale qualité de mes collègues a été une capacité de projection ("ça t'irait bien") que je n'ai pas (par manque de confiance en moi ou parce que, vraiment, des fringues, ça ne me parle pas ?). Merci à eux pour leur persévérance. :)
Reste à trouver le bon serrage des lacets. J'avais serré à fond, comme un fou, afin que mon pied ne bouge pas afin d'éviter les ampoules. Grave erreur : ça étouffe le pied et ça fait encore plus mal. Il faut pouvoir passer un peu moins d'un doigt entre l'arrière du pied et l'arrière de la chaussure. Au final, il m'a fallut deux semaines d'adaptation et deux mois de pansements quotidiens pour que mes pieds se fassent aux chaussures.
Maintenant, ce que tout le monde veut savoir : est-ce que l'investissement est rentable ? Depuis le début de la dernière semaine d'août 2019, à l'exception de trois semaines / un mois, j'ai porté exclusivement mes Bradstreet. Après 7 mois, Les semelles ne prennent pas l'eau au contact du moindre sol mouillé. Elles ne sont pas trouées du tout. Après 7 mois d'utilisation, elles ne sont même pas au premier stade d'usure de mes anciennes chaussures. De mémoire, cette paire m'a coûté 80 €. 80 € c'est environ 3 fois 25 € (prix de mes anciennes chaussures). Si celles à 25 € ont d'énormes trous dans la semelle après deux mois, on s'attend à ce que les Timberland tiennent au moins six mois. C'est chose faite. Je suis donc satisfait. \o/
Alors oui, les semelles extérieures sont râpées à plusieurs endroits et les semelles intérieures sont profondément déchirées au niveau des talons et des gros orteils (photo après trois mois d'utilisation quotidienne ; photo après sept mois). Le moment de m'équiper de semelles avec du """"gel"""" (élastomère thermoplastique) dont on me rebat les oreilles ?
Au final, les chaussures à 25 € ne sont pas toutes nazes : mes pieds mettent à dure épreuve les semelles, il faut croire. Comme celles de mes Timberland sont plus épaisses et moins flexibles / souples, forcément qu'elles tiennent plus longtemps. Cela signifie également que je ne suis pas lié à une marque : n'importe quel modèle de chaussures avec des semelles épaisses me conviendra. Cela signifie aussi, qu'il est probable qu'il existe des chaussures à la semelle tout aussi épaisse / résistante pour un prix plus modique que celui des Timberland.
Je prévois déjà mon prochain blocage. Ce sera lors du renouvellement, lorsque mes chaussures Timberland seront fichues. Les modèles que je possède actuellement n'existeront plus par effet de mode, ce qui signifie, qu'il faudra prendre le temps de chercher leur remplaçante… ou de copier à nouveau sur des gens de confiance.
J'avais un problème d'usure similaire avec mes chaussons. Les derniers ont fait 10 mois. J'ai décidé d'en acheter des plus costauds et donc plus chers. Va pour des pantoufles en velours à 27,99 € chez Damart. Les semelles sont plus épaisses que sur mes anciens chaussons, donc ça devrait le faire. Il est encore trop tôt pour me prononcer : ça fait seulement 7 mois (dont 4 mois à temps complet) que je les porte. Le tissu des semelles intérieures s'est totalement déchiré, mais, contrairement aux modèles de pantoufles que je possédais avant, cela ne signifie pas que la semelle commence à de désintégrer et qu'elle va libérer de la """"mousse"""" un peu partout.
Au final, qu'ai-je appris ?
Ce matin, je veux appliquer les mises à jour de sécurité sur mon système Debian GNU/Linux Buster et…
Paramétrage de linux-image-4.19.0-8-amd64 (4.19.98-1+deb10u1) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.19.0-8-amd64
E: /usr/share/initramfs-tools/hooks/growroot failed with return 1.
update-initramfs: failed for /boot/initrd.img-4.19.0-8-amd64 with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.19.0-8-amd64 (--configure) :
installed linux-image-4.19.0-8-amd64 package post-installation script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
linux-image-4.19.0-8-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
Lançons update-initramfs nous-même :
# update-initramfs -vuk 4.19.0-8-amd64
Calling hook growroot
Adding binary /sbin/sfdisk
Adding library-link /lib/x86_64-linux-gnu/libfdisk.so.1.1.0
Adding library /lib/x86_64-linux-gnu/libfdisk.so.1.1.0
Adding library-link /lib/x86_64-linux-gnu/libsmartcols.so.1.1.0
Adding library /lib/x86_64-linux-gnu/libsmartcols.so.1.1.0
Adding library-link /lib/x86_64-linux-gnu/libtinfo.so.6.1
Adding library /lib/x86_64-linux-gnu/libtinfo.so.6.1
E: /usr/share/initramfs-tools/hooks/growroot failed with return 1.
Regardons /usr/share/initramfs-tools/hooks/growroot (premier script qui termine en erreur) :
# cat /usr/share/initramfs-tools/hooks/growroot
#!/bin/sh
set -e
PREREQS=""
case $1 in
prereqs) echo "${PREREQS}"; exit 0;;
esac
. /usr/share/initramfs-tools/hook-functions
##
copy_exec /sbin/sfdisk /sbin
copy_exec /usr/bin/growpart /sbin
[…]
Ça échoue sur « copy_exec /usr/bin/growpart ».
# ls -lh /usr/bin/growpart
ls: impossible d'accéder à '/usr/bin/growpart': Aucun fichier ou dossier de ce type
Intéressant. Il vient d'où, ce fichier ?
$ apt-file search /usr/bin/growpart
cloud-guest-utils: /usr/bin/growpart
Du paquet logiciel cloud-guest-utils. Cloud-init est utilisé par mon fournisseur de machines virtuelles et, en effet, je l'ai viré de mon VPS (machine virtuelle) depuis quelques mois. Pourquoi ça n'a pas supprimé le hook initramfs ?
$ apt-file search /usr/share/initramfs-tools/hooks/growroot
cloud-initramfs-growroot: /usr/share/initramfs-tools/hooks/growroot
Il est installé par un autre paquet logiciel. Peut-être que ce paquet est toujours installé ?
# apt-cache policy cloud-initramfs-growroot
cloud-initramfs-growroot:
Installé : (aucun)
Candidat : 0.18.debian7
[…]
Non. Peut-être y a-t-il de la configuration résiduelle ?
# dpkg -l | grep cloud-initramfs-growroot
#
Non.
""""Solution"""" : apt-get install --no-install-recommend cloud-initramfs-growroot && apt-get autoremove --purge cloud-guest-utils cloud-image-utils cloud-initramfs-growroot cloud-utils genisoimage qemu-utils.
@Oros :
Pour http://kosmogonia.fr/ et https://switchy.o2switch.net:2083/ le wget fonctionne bien.
Ils sont pourtant dans le même réseau (/24) que les shaarlis auxquels tu n'accèdes pas. Donc, ce n'est pas un problème de routage. Ce n'est très probablement pas un filtrage global à l'entrée du réseau d'o2switch (dans ce cas-là, on bloque /24 par /24, en général).
Quand tu dis que tu n'arrives pas à accéder, ça veut dire quoi ? Est-ce que la poignée de main TCP s'effectue ou alors tu n'obtiens même pas de réponse à ton TCP SYN ?
Pour 109.234.161.33, 109.234.161.21, kosmogonia.fr, switchy.o2switch.net, j'ai :
Oui, c'est normal. Par défaut, l'implémentation GNU/Linux de traceroute bosse au-dessus d'UDP. o2switch bloque cela. J'ai le même résultat que toi. En revanche, traceroute -T -p 443 (TCP + port 443) fonctionne impec.
@Oros :
Genre warriordudimanche.net ou lien.shazen.fr ne me retournent aucune réponse.
T'arrives à wget http://kosmogonia.fr/ ou https://switchy.o2switch.net:2083/ depuis ton serveur ? Un traceroute / mtr / traceroute -T -p 443 ?
J'ai voulu tester avec RIPE Atlas, mais il n'y a pas de sonde participante dans le réseau d'Edis.
$ dig +short warriordudimanche.net
109.234.161.33
$ dig +short lien.shazen.fr
109.234.161.21
$ whois 109.234.161.33
[…]
route: 109.234.161.0/24
descr: o2switch Internet Routing
origin: AS50474@Liandri :
Du coup, si vous souhaitez un ajout ou retrait de la river, vous pouvez me contacter par mail ou Shaarli interposé, mais je me laisse le droit de validation finale. Point.
C'est l'évidence même, donc OK pour moi.
@Oros :
Là où j'ai besoin d'aide c'est de trouver si dans le lot, il y en a où l'erreur était temporaire ou s'ils ont changé d'URL.
Je m'en suis occupé.
Au début, on a 208 shaarlis marqués invalides.
Combien y a-t-il de domaines non associées avec une IPv6 ou une IPv4 ? Boucle for + commande `host'.
Quel contenu est pointé par ces 78 URLs ? Allons-voir avec wget --quiet --max-redirect=0 --connect-timeout=10 --tries=1 -O - (un seul essai, on tente d'établir la connexion TCP durant 10 secs maximum, on refuse les redirections HTTP). Quand on a une réponse, on grep « pubDate » afin de nous assurer qu'il s'agit d'un flux RSS (et de voir la date du dernier shaarli publié).
wget -4 sur cette liste : on récupère aucun shaarli, donc c'est tout des shaarlis disparus ;11 sortent en 5 : erreur x509. On utilise wget --no-check-certificate. 9 URL passent en code retour 8. 2 URLs sont des shaarlis OK avec un certificat x509 invalides ;
37 sortent en 8 : erreur HTTP. + les 9 URL du point précédent. 46 URL en tout. Ça peut être une redirection. On utilise wget sans interdire la redirection + grep 'Emplacement' | tail -n 1 pour choper l'URL de destination et l'ajouter à la liste.
wget | grep 'erreur'. On a 16 URLs OK, 30 erreurs (404, 403, 410, 500).
Au final, dans la liste https://github.com/Oros42/shaarlis_list/blob/master/shaarlis_HS.json , seuls les shaarlis suivants fonctionnent et peuvent être ajoutés à la rivière :
Les shaarlis suivants ont besoin d'un ajustement avant de rejoindre la rivière :
@Liandri @Oros :
Puisqu'on en est à jeter des gens dans les rivières, je propose les candidats suivants :
Ces personnes causent essentiellement d'informatique (systèmes et réseaux) et de bricolage.
@Antichesse :
Je subodore que tout le mérite revient à certains de vos postes qui sont d'une extrême qualitayyy, que dis-je d'une importance crousssiale !
Ce qui m'a fait basculer, c'est très clairement ce tutoriel : Retirer ses chaussettes - Strawberry. Pour l'instant, je ne parviens pas à le mettre en œuvre, donc je suis tristesse.
Bon, c'est un peu aussi pour les shaarlis qui causent d'informatique, particulièrement de technos relatives au développement. Je comprends pas tout, car ce n'est pas mon domaine, mais c'est le but : m'ouvrir l'esprit.
Aller en voici quelques uns pour la gloire
J'veux pas dire, mais deux shaarlis de la liste sont signés Animal alors que les autres ont un seul de leur shaarli dans la liste. #injustice. J'vous laisse voir ça entre vous, hein. :P
@GuiGui merci pour ta recommandation ;)
De rien. :)
P.S : je suis d'accord vis-à-vis des PR sur GitHub, mieux vaut se monter un Gitea chez soi.
Ou Gogs, qui a pour lui l'humour de son nom (peut-être s'agit-il d'une description réaliste du langage de programmation dans lequel il est codé ?).
@Oros :
Ça c'est que ça doit merder au moment où me message de test est chiffré via GPG.
Tristitude.
Peut être qu'il y a un problème avec ta clé public.
Ben non puisque j'ai le même problème quand j'essaye de recréer ton serveur. Si l'on suit ton raisonnement, ça signifierait que ta clé publique GPG est invalide, ce qui est impossible.
ctrl+b pour afficher le panneau. Puis à la place de «Marque-pages» tu peux choisir «Check certificate».
Uhuhu !
Pas «un» mais «des» serveurs tiers.
Ça n'invalide pas mon raisonnement. ^^
Pour le 6h non car si t'as un certif Let's Encrypt qui est mis à jour, t'as un alerte assez longtemps.
Très bon point. Il est valable avec toutes les autorités de certification, d'ailleurs.
@Oros :
Faut pas retirer de grosses coupure.
Je suis bien d'accord, mais c'est chiant si ton objectif est de retirer une somme d'argent proche du montant max des retraits (c'est toi qui as écrit ça)
En plus du fait que je connais le crochetage ^_^
Les tutos de crochetage m'envoient du rêve, mais je n'ai pas la patience. :D
@Oros :
Et puis le mien permet de faire pause dans le rafraîchissement de la page :-)
Haha. Best killer feature ever. :D
C'est ce nombre élevé qui me fait chier à traiter à la main.
Il me semble que tu marques les shaarlis HS dans un fichier séparé, donc ça ne devrait pas être gênant ?
Comment peut-on aider sur cette problématique ?
Outil pour maquetter des réseaux avec LXC.
La maquette de base propose du routage BGP, du DNS, de l'email, du web, etc. Tout ce qu'il faut pour enseigner (TPs) ou expérimenter (des protocoles de routage, une racine DNS alternative, etc.).
Possibilité d'ajouter / supprimer des machines et des réseaux (global.json), des rôles (templates), etc. Pour le reste, j'ai l'impression qu'il faut coder un peu.
@Liandri :
Les 6 sont ajoutés.
\o/ Merci. \o/
@Oros :
Je vais te le remettre en place. (édit: c'est de retour avec un 1er correctif)
Il ne fallait pas. Je n'en avais pas besoin puisque j'ai installé le mien, de serveur. Mais, c'est cool, ça permet à d'autres personnes de tester ton taff. Merci.
Sur la partie plugin firefox, il reste du dev à faire et je manque de motivations ces dernier jours pour ça :-/
Ça ressemble plus à un POC qu'à une version beta.
Oui bah il faut bien commencer quelque part un jour. C'pas un problème, ça.
De mémoire, lors d'un ajout d'un serveur, il y a un test pour vérifier s'il fonctionne.
Ben, moi j'ai le formulaire qui se vide immédiatement quand je clique sur le bouton « Save » alors qu'aucune requête réseau est émise (wireshark). Y'a pas un contrôle de syntaxe en amont que je n'ai pas vu en parcourant viteuf le code ? Même en mémorisant les infos de ton serveur, en effaçant ton serveur puis en ajoutant un serveur en copiant les infos mémorisées, ça ne fonctionne pas.
Pour la panneau latéral, perso, en l'état, je ne l'aime pas. Mais il sert à afficher facilement les infos du certif et la liste des URL appelés.
Le plus problématique, selon moi, c'est que ce menu s'ouvre quand on active l'extension. C'est déroutant.
De plus, je n'ai pas trouvé comment le ré-ouvrir à la demande une fois que je l'ai fermé. :D
Tu pourrais mettre les infos du panneau dans l'infobulle qui apparaît quand on clique sur l'icône de ton extension dans la barre d'outils.
Mon idée est que si un publicitaire héberge checkcertif il ne pourra pas avoir de statistique fiable sur les visites de sites :-)
Certes, mais la limite de ton concept, c'est quand même de faire confiance à un serveur tiers, donc bon, ça me semble inutile. On fait confiance ou non, mais pas à moitié.
Pourrait-on imaginer une case à cocher pour activer / désactiver ça ? Je ne suis vraiment pas fan (en plus de ne pas être convaincu de l'intérêt) : je n'aime pas les trucs qui font des trucs dans mon dos.
Il y a plusieurs cache.
Cool. :) Ça se voyait un peu (wireshark côté l'extension, utilisation de redis côté serveur).
20 min, c'est court. Tu peux largement augmenter. Il y a peu de chance qu'un MitM se déclenche subitement entre la première vérification et la fin de la journée… Go pour 6 heures de cache, moi je dis.
J'ai réfléchie à comment offusquer les appels mais j'ai fini par laissé ça de côté.
L'obfuscation, tu vas t'y casser les dents, rien qu'à voir le boulot autour de TOR / obfsproxy… Ton contenu est déjà aléatoire (à cause de GnuPG / AES). Reste le contexte (surtout la fréquence des requêtes), et ça, ça me semble impossible à cacher. Reste l'entête HTTP « Host: » (si connexion en HTTP) ou le SNI (si HTTPS). Tu ne peux rien y faire, mais quand Encrypted SNI sera normalisé, la seule fuite sera l'adresse IP de destination… qui sert à rien si le serveur est installé en compagnie d'autres sites web.
- pour les CDN, je prévoyais d'essayer de les détecter et du coup de lever une alerte.
Ça risque d'être compliqué.
Soit repérer les noms de domaine qui contiennent le mot « cdn » ou assimilé (trou dans la raquette).
Soit mémoriser les plages IP des principaux CDN (trou dans la raquette / difficulté pour tenir la liste à jour).
Soit demander au serveur de transmettre à l'extension le hash du certif' et le hash de l'adresse IP qu'il a vu de son côté.
Soit, encore mieux, transmettre au serveur le domaine et l'adresse IP, et, depuis le serveur, ne pas effectuer de résolution du nom de domaine, mais aller taper directement sur l'adresse IP communiquée par l'extension (avec SNI, ça fonctionnera). On peut faire ça avec openssl s_client, par exemple. Reste à voir si la bibliothèque de fonctions que tu utilises le permet.
- ajouter un install un docker-compose (qui reste optionnel)
Y'a intérêt que ça reste optionnel. Dans le cas contraire, je te dirais : va bien manger tes morts. :P
La police de Los Angeles va mettre un terme à Pred-Pol, l'outil utilisé pour prédire les futurs crimes à partir des précédents. En 2018, Arte avait diffusé un documentaire qui exposait le fonctionnement de cet outil.
Via https://twitter.com/Elsa_Trujillo_/status/1253220307147591681 via https://twitter.com/bayartb .
Faut-il soigner tous les ports ?
Avec le Covid, on progresse mieux dans l'union.
Confinés sans paim.
Cette confinée rêve de la-bas.
Les soignantes respirent pendant les actions.
Trump veut évacuer les Latins.
Étude d'un vaisseau randomisée.
Que de piges sanitaires !
Venant d'amateurs de Luchon animés ou de kinés confus ?
Mes trouvailles :
Faut-il soigner tous les ports ?
Avec le Covid, on progresse mieux dans l'union.
Confinés sans paim.
Cette confinée rêve de la-bas.
Les soignantes respirent pendant les actions.
Trump veut évacuer les Latins.
Étude d'un vaisseau randomisée.
Que de piges sanitaires !
Venant d'amateurs de Luchon animés ou de kinés confus ?
Dans le Canard enchaîné du 22 avril 2020.
@Liandri :
Je script pas l'ajout auto, par contre, j'ajoute manuellement certains Shaarli que je découvre sur le net, si des idées d'ajouts, je suis toujours preneur.
Mes suggestions d'ajouts sont dans ma réponse à Oros, du coup.
Tu ne scriptes pas, mais ta rivière est bien synchronisée sur celle d'Oros (c'est la conf' par défaut de shaarli-river, de ce que j'ai vu l'autre fois), non ?