PROJET AUTOBLOG


Le blog de Seboss666

Site original : Le blog de Seboss666

⇐ retour index

Ma voiture et l’antidémarrage électronique : obsolescence mon amour

jeudi 20 décembre 2018 à 18:30

Parmi les éléments qui ont contribué à mon absence du mois d’octobre, un des signes marquants de ma fatigue rampante est la perte du trousseau qui regroupait mes clés d’appartement et de voiture. Si pour l’appartement ça a été vite réglé, la situation pour la voiture a failli être beaucoup plus complexe, et comme ça parle un peu de pratiques que je considère comme peu respectueuses, j’avais envie de partager l’expérience.

Donc, pour ceux qui ne le savent pas, je possède une Peugeot 307 2L HDI 90, dont finalement la donnée la plus importante ici est l’âge : 14 ans (première immatriculation en août 2004). Rien de choquant pour qui n’habite pas en région parisienne, je pourrai vous présenter d’autres véhicules improbables, dont mon ancien véhicule, une Peugeot toujours mais 406 de 2000, et qui approche des 290000kms sans pleurer. Toujours debout, passe toujours le contrôle technique, dont les contrôles pollution, mais qui est finalement dans la même situation que ma 307 à cause de son fabricant.

Je fais partie de ceux qui d’une part aiment posséder leur véhicule vu le pognon qu’on met dedans, et de l’exploiter au maximum histoire de pas gâcher (dans une optique tant que ça fonctionne pas besoin de gaspiller). Un positionnement que ne renierait pas Cyrille je pense, mais libre à lui de me dire si je me trompe. Tout ça pour dire que ce n’est pas un cas isolé, avec un âge moyen de 8 ans en 2014, en augmentation constante, les véhicules qui ont de la bouteille sont plus répandus qu’on ne le pense. Et j’aurais aimé avoir l’âge médian mais on l’a rarement ce chiffre (comme pour les débits des connexions internet ou le salaire, encore que pour ce dernier on le connaît grâce à l’INSEE).

Revenons à mon problème. Je perds donc mon trousseau, avec à ce moment-là la seule clé que j’avais pour démarrer ma voiture, on est un mardi soir à 20h. Je pensais l’avoir laissé sur le bureau au boulot, ce n’est pas le cas, le mercredi matin je rentre donc chez moi à peine arrivé. J’ai retourné mon appartement toute l’après-midi pour tenter de récupérer le double de la clé, sans assurance de l’avoir chez moi car si je sais qu’il existe encore, je ne me souviens pas l’avoir embarqué quand j’ai changé de vie. Ça n’a pas manqué je ne l’avais pas mais j’ai fait un sacré ménage chez moi du coup. Ma mère n’est pas chez elle avant la semaine prochaine c’est cuit pour fouiller les tiroirs. Je contacte alors l’assurance, pour savoir comment procéder pour récupérer un véhicule exploitable. Première chose, pour le cas particulier des clés de voiture, c’est prise en charge minimaliste car ça touche un élément de sécurité. En gros, on t’amène la caisse au garage et basta. Pas de prêt de véhicule, pas de priorité, rien.

Le garage d’ailleurs, je l’appelle pour savoir quelle est la marche à suivre pour ce genre de cas, et c’est la que la panique commence. Oui on peut commander une nouvelle clé « vierge » électroniquement mais dont l’empreinte physique permet à minima de pouvoir ouvrir la voiture et déverrouiller le volant. Mais cette fameuse partie électronique, il faut la reprogrammer pour ensuite appairer la nouvelle clé fraîchement programmée elle aussi. Et là, j’ai halluciné : le garagiste me prévient tout de suite qu’à cause des dernières révisions logicielles des outils de diagnostic et de maintenance (les fameuses « valises »), ils ne peuvent plus garantir le succès de l’opération sur un véhicule de cet âge, pire la reprogrammation peut « briquer » le boîtier d’antidémarrage, et la seule solution en cas d’échec est donc de changer entièrement le boîtier pour un neuf (pour des raisons évidentes on ne peut pas utiliser un boîtier provenant d’un autre véhicule sinon ça ne sert à rien). Boîtier qui coûte en moyenne la bagatelle de 500 balles.

Arrive alors la cerise sur le gâteau : le garagiste vérifie, le boîtier n’est plus fabriqué par Peugeot, donc au final si on tente l’opération j’ai une chance sur deux de niquer ma voiture définitivement si je retrouve pas le double original alors que la voiture est mécaniquement en parfait état (j’en dirais pas autant de la carrosserie mais c’est un autre débat). Oui oui, on peut acheter des pièces mécaniques pour réparer le véhicule pendant vingt ans, mais la partie électronique vous pouvez vous la carrer ou je pense, alors même que c’est un élément de plus en plus central dans la conception. J’aime bien parler de l’exemple d’Intel qui gardait une ligne de production de Pentium 75 pour… les navettes spatiales de la NASA (je cherche à retrouver l’article dans lequel je l’ai lu, si vous retrouvez l’information, partagez 🙂 ). Certes on parle là d’acteurs particuliers, mais c’est pour dire que sécuriser la fourniture de composants est courant dans le monde industriel, et ce n’est pas comme si les systèmes d’anti-démarrage n’étaient plus utilisés de nos jours. Je ne connais pas les politiques des autres constructeurs, mais dans ma recherche d’un véhicule pour remplacer le char (recherche démarrée bien avant cet évènement), clairement c’est pas un élément qui me donne envie de rester « français », même si c’est plus de la frime qu’autre chose (14% de chinois en 2014 dans les finances du groupe, fabrication massivement délocalisée…).

Comme je l’ai dit, l’électronique et l’informatique deviennent de plus en plus centraux dans la conception de nos véhicules, quand on voit comment le marché des smartphones qui est un réel désastre environnemental est en train de tourner, comment le manque de fiabilité de nombreux modèles réduit la durée de vie à peau de chagrin, ça donne pas envie pour le futur des véhicules, quand bien même l’électricité est pleine de promesses, aussi bien de propreté que de désastres également que ce soit sur les batteries difficilement recyclables ou bien les technologies sur lesquelles elles reposent actuellement, à base de Lithium qui est un métal aussi rare que cher et qui va vite devenir le nouveau pétrole si on trouve pas de bonnes alternatives rapidement. Bref, c’est pas reluisant…

Quelles méthodes pour protéger un accès PHPMyAdmin ?

vendredi 14 décembre 2018 à 18:30

Après avoir répondu à Korben et vu que j’ai pas le choix de rester collé dans un fauteuil à cause d’un pied cassé, je me suis dit que vous filer quelques pistes pour éviter les problèmes de sécurité avec PHPMyAdmin serait une bonne chose (et réutilisable pour d’autres besoins). Et non, le désinstaller ne fait pas nécessairement partie des solutions 🙂

Pour rappel, PHPMyAdmin est une interface d’administration pour serveurs MySQL/MariaDB écrite en PHP. Évidemment de par sa nature c’est un composant critique qu’il convient de protéger pour éviter de se faire pomper/corrompre ses données et/ou son site. En effet, ce n’est qu’une interface, et donc les utilisateurs sont ceux configurés au niveau du serveur de base de données. Toujours de par sa nature et aussi son âge, il a un historique fourni en matière de sécurité, la rançon du succès pourrait-on dire.

Les méthodes de protection sont nombreuses et sont parfois complémentaires, il n’est pas nécessaire de tout implémenter (surtout quand c’est redondant, on y viendra).

HTTPS obviously

Oui c’est une évidence pour beaucoup, mais dites vous que certaines boutiques en ligne continuent de vous faire naviguer sur leur site en HTTP (y compris la partie utilisateur), seul le paiement est en HTTPS, parce que souvent réalisé par un tiers. Ce point change car ces tiers imposent maintenant HTTPS pour les allers/retours, des outils de suivi comme Google Shopping l’imposent désormais, bref, si c’est pas encore déjà fait, que ça vous parait pas vital pour votre site, ça l’est pour phpmyadmin. Et si vous ne savez pas quel est l’intérêt, j’en ai parlé y’a pas si longtemps.

Une URL/URI non prévisible

N’importe quel administrateur système vous dira qu’il a déjà vu dans ses journaux de serveur web des tentatives d’accéder à des adresses comme /pma, /phpmyadmin, et d’autres variantes avec ou sans majuscules. Pour une bonne et simple raison, sur pas mal de tutos on rencontre ce genre d’installation. Également, sur certains outils d’hébergement web integrés, /phpmyadmin est un alias qui permet d’accéder à la base de données de l’abonnement. Utiliser une URI non prévisible évite donc aux scanners de découvrir facilement où se trouve l’outil.

Attention, si vous utilisez un sous-domaine spécifique, même en HTTPS avec SNI il passe en clair 😉

Des utilisateurs BDD restreints

Comme je l’ai dit, l’accès à la base se fait via les utilisateurs configurés sur le serveur bdd. En refouillant la doc de PHPMyAdmin (que je conseille évidemment), je n’ai pas trouvé de directive de restrictions d’utilisateurs, par contre, il est possible d’interdire la connexion à certaines bases de données. Avec un utilisateur associé qui n’a accès qu’à une base, et qu’on empêche la connexion à cette base, l’utilisateur ne sera pas autorisé à se connecter.

Au niveau de la configuration de PHPMyAdmin (config.inc.php), ça revient à configurer la variable $cfg[‘Servers’][$i][‘only_db’] qui contient la liste des bases autorisées (les autres étant interdites, ouais ça parait évident dit comme ça, mais sait-on jamais).

Ah et puis si vous ne comptez utiliser PHPMyAdmin que pour certaines opérations bien précises, il est possible de limiter les permissions de l’utilisateur, pensez-y 😉

HTTP Basic Auth

Le fameux « mot de passe htaccess » comme je l’entend trop souvent, qui n’a aucun sens si on utilise pas Apache comme serveur web de toute façon, demande de valider un couple utilisateur/mot de passe spécifique avant d’accéder à l’application (et son formulaire de connexion à la base de données). Ca fait deux identifiants à retenir, mais bon, ça fait déjà bien chier les brute force, alors autant ne pas se priver.

Pour la mies en place sur votre serveur web favori, je vous laisse chercher « http basic auth » sur votre moteur de recherche favori.

Filtrage IP

Moins facilement « bruteforçable » que le mot de passe, limiter l’accès à l’interface d’administration en fonction de l’adresse IP de la connexion de l’utilisateur est aussi simple à mettre en place que le mot de passe, mais demande par contre que l’utilisateur en question utilise toujours la même adresse IP ou une plage d’adresse connue et le plus restreinte possible.

Je dis ça car au taf où l’on nous a déjà demandé de faire du filtrage IP pour certains clients, on a déjà rencontré des utlisateurs de Zscaler, dont un des services est de « randomiser » l’adresse IP de sortie web de l’utilisateur, dans des plages salement larges (/22, /21), plages partagées entre plusieurs clients, en gros c’est très chiant.

Si vous voulez coupler le filtrage IP au mot de passe, j’ai déjà écrit un truc là-dessus à une époque, vous pouvez donc vous baser dessus c’est encore d’actualité.

X509 Client Certificate

Arme ultime, en plus du certificat X509 du serveur pour la connexion HTTPS, vous pouvez demander à votre serveur web de paramétrer la vérification d’un certificat client. Djerfy l’a mis en place et détaillé pour l’accès à l’administration de son WordPress, c’est évidemment adaptable pour votre installation de PHPMyAdmin.

Avec ça, si on a pas l’ordinateur qui dispose du certificat, c’est foutu. Alors certes ça n’empêche pas la possibilité de se faire dérober ledit certificat, mais c’est assez puissant, surtout une fois installé l’utilisateur n’a plus à s’en soucier (jusqu’à l’expiration du certificat, vous êtes seul juge de sa durée de vie quand vous le générez).

Pas de PHPMyAdmin ?

Allez, troll de fin, pour ne pas avoir un problème avec le logiciel, le mieux est encore de ne pas l’installer. Blague récurrente dans le domaine de la sécurité informatique, qui va jusqu’à « pour ne pas avoir de problème avec son ordinateur, le mieux c’est de ne pas l’allumer ». Pour être un peu plus sérieux, si vous êtes amenés à manipuler souvent vos bases de données, et c’est ce que j’ai fini par faire au boulot, travailler directement avec le client ligne de commande de mysql peut vous apprendre pas mal de choses et peut s’avérer souvent plus rapide.

Mais ça vient avec ses propres contraintes, idéalement on évite de se connecter à distance car par défaut le client mysql se connecte sans chiffrement de la connexion, ce qui n’est pas recommandé de nos jours. Soit on met en place du « SSL », ce qui est lourd et chiant, soit on passe par un tunnel SSH, ce qui est moins lourd et plus facile. Ou alors on se connecte au serveur en SSH, et on lance le client « local » du serveur.

Sinon, certains logiciels comme MySQLWorkbench, ou DBeaver (horreur en Java découverte via Twitter), permettent de lancer ce même tunnel SSH pour ensuite initier la connexion. Bien évidemment tout ça n’est valable que si vous avez accès à SSH, ce qui dans le cadre de services PaaS (mysql ou mariadb en tant que service), n’est pas possible.


Voilà avec tout ça, si vous avez encore un souci de sécurité avec votre installation de PHPMyAdmin, c’est que vous l’avez cherché 😛 Maintenant je suis curieux de savoir ce que j’ai pu manquer, ce que vous avez mis en place pour verrouiller vos accès, vous savez quoi faire pour m’en dire plus (un indice : on peut poster des commentaires sur mon blog :D)

Ma mère passe à la fibre !

jeudi 13 décembre 2018 à 18:30

Je ne pensais pas voir ça arriver avant au moins deux ans. Pour ceux qui me suivent depuis un moment, vous connaissez déjà la situation de ma mère en matière de connectivité, à savoir une connexion ADSL défaillante à peu près la moitié du temps, sans parler d’un débit misérable, pour le même prix que chez moi et avec une box qui date pas mal. mais la magie de Noël pourrait-on dire, la situation évolue, voici les détails.

Voici donc la situation : une Freebox HD (V5), fabriqué entre 2006 et 2008, qui ne sert que de modem. Pourquoi ? Parce que ce n’est pas ce que je j’appelle un vrai routeur, à savoir qu’il ne dispose pas d’interface d’administration en propre, tout doit se faire depuis le site de Free, vachement pratique quand la connexion ne fonctionne jamais. Sur une ligne à 5kms donc pas de TV, une option désormais inutile à 3€ par mois pour les appels illimités sur mobile, la facture « Internet » s’élève à 33€ par mois. S’ajoute à ça un inévitable abonnement Canal+/CanalSat à réviser car actuellement ça coûte 100€ par mois. Vous trouvez que la vie à la campagne c’est cool ?

L’annonce du déploiement d’une vraie fibre optique FTTH sur le patelin a été une surprise plus que bienvenue. Certes, c’est du réseau public, et la crainte de voir la situation de l’Oise se reproduire est forte. Non là c’est pas beaucoup plus reluisant, mais mieux quand même. A savoir, la société qui déploie le réseau n’est pas celle qui fournit la connexion « Internet », déléguée à des fournisseurs d’accès qui louent la partie physique. Quand je parle de la situation de l’Oise, c’est que sur le réseau public de Oise numérique, officiellement il n’y a que SFR de disponible comme opérateur, c’est donc peste ou peste (et mon oncle en a fait l’expérience pendant presque un an). Orange, bien qu’affiché sur leur site, n’est pas forcément une option, en gros ils ne viennent se brancher sur une commune que s’ils ont perdus trop d’abonnements ADSL à cause de la « fibre SFR ». Je l’ai donc dans le cul chez moi pour l’instant, c’est magique. Pour info, vous pouvez vérifier la disponibilité sur un site dédié monté par l’ARCEP, avec désormais une précision à l’adresse.

C’est chez ma maman 🙂

Dans la Somme, la liste des fournisseurs d’accès ne fait pas rêver (Vidéofutur, pour moi historiquement c’est de la location de films), le seul qui m’a attiré l’œil, c’est NordNet. C’est une filiale d’Orange qui historiquement fournit de la connexion Internet par satellite et qui ajoute à son catalogue la fourniture de connexion via fibre sur les réseaux fibres publics. Car oui, Orange ne veut s’afficher que là où il peut déployer son propre réseau (et si au passage on peut faire son mafieux à faire payer les autres opérateurs, comme pour le cuivre, monopole mon amour…). La dorsale réseau et donc les limitations de la connexion sont celles d’Orange : interconnexions US parfois saturées en soirée (tout le monde est concerné, donc pas surprenant), pas d’IPv4 fixe donc chiant pour l’auto-hébergement, DNS menteurs… Concernant la TV Comcable parait plus intéressant, mais les chaînes que ma mère regarde sont en options supplémentaires et l’abonnement est déjà plus cher que chez NordNet. Les rares retours que j’ai pu voir sur comcable ne sont pas reluisants sur la stabilité du débit, en particulier aux heures de pointe, montrant potentiellement une grosse faiblesse des interconnexions, un point crucial pour un fournisseur d’accès à Internet.

Restera la partie box, qu’il faudra regarder de près, et ça fera je pense l’objet d’un billet dédié. Ce qui me fait peur, c’est que certains articles de la base de connaissance du site indiquent des paramétrages via le site web, comme la Freebox HD. Dommage quand on voit la fiche technique : 4+1 port Ethernet 1Gbps (LAN et WAN), Wifi 802.11ac, USB, uPnP-AV pour partage multimédia, bref, elle a l’air assez fournie pour ceux qui n’ont pas déjà du matos chez eux. Ça sera l’occasion de remettre aussi l’installation à plat chez ma mère, de simplifier un peu.

En tout cas, malgré cette histoire d’IP non fixe, cette connexion permettra de pouvoir enfin externaliser les sauvegardes (dans les deux sens : je me démerde pour externaliser les miennes chez ma mère, et ma mère externalise les siennes chez moi), car enfin on aura un upload significatif (débit montent, pour envoyer des données), contrairement à l’adsl où le bridage volontaire de l’upload pour favoriser les consommations de contenus dénature le réseau de fait. Un éventuel contrôle à distance de certains appareils sera aussi facilité (quand je vois la galère pour la connexion à Proxmox chez moi…)

En fonction de l’avancement, je serai encore chez ma mère à l’activation, donc je vous tiens au courant de l’avancée et la découverte de tout ça.

UPDATE du 19 décembre : Alors la blague, on a déjà reçu le colis avec le routeur et le boîtier multimédia, par contre, le rendez-vous pour la pose de la prise de raccordement ne sera que le 10 janvier. Sauf contre-indication, je ne serai donc pas présent pour le jour J. Mais y’a le weekend juste après, donc je pense que je vais remonter à ce moment-là pour réellement mettre les mains dedans.

Quelques astuces diverses, quatorzième

mardi 11 décembre 2018 à 18:30

Au delà de mon absence prolongée d’Octobre, cela faisait longtemps que je n’avais pas partagé de nouvelles bidouilles. Et c’est une fournée presque entièrement centrée sur le shell qui vous est présentée aujourd’hui. Avec un peu de Cinnamon dedans également, pas surprenant quand on découvre un nouvel environnement de bureau 🙂

Rsync sélectif

J’ai toujours eu du mal à sélectionner comme je le veux un type de fichier en particulier à synchroniser avec rsync, en particulier dans une grosse arborescence (plus de 300Go). J’ai finalement trouvé un moyen de filtrer les fichiers via find pour les passer à rsync :

find source -name "*.php" -print0 | rsync -av --files-from=- --from0 ./ ./destination/

Une fonction dmesg pour les anciennes distribs

Si je dis pas de conneries j’ai déjà partagé un script perl qui fait le taf (vérification faite c’est le cas). Un collègue de boulot m’a montré une fonction bash pour lancer du perl directement sans script à part :

dmesg_with_human_timestamps () {
    $(type -P dmesg) "$@" | perl -w -e 'use strict;
        my ($uptime) = do { local @ARGV="/proc/uptime";<>}; ($uptime) = ($uptime =~ /^(\d+)\./);
        foreach my $line (<>) {
            printf( ($line=~/^\[\s*(\d+)\.\d+\](.+)/) ? ( "[%s]%s\n", scalar localtime(time - $uptime + $1), $2 ) : $line )
        }'
}

On peut ensuite coller un alias sur le dmesg original pour être peinard :

alias dmesg=dmesg_with_human_timestamps

Stocker ses creds dans gitconfig quand pas de SSH

Au taf on a basculé le Gitlab sur le SSO, et l’on ne peut pas utiliser SSH (Gitlab sur cluster OpenShift), donc auth_basic « classique » HS, on a maintenant besoin d’utiliser les access token. Une fois le token créé via l’interface de Gitlab, il faut le sauvegarder dans la config de git :

git config --global credential.helper 'store --file ~/.git-credential'
git credential-store --file ~/.git-credential store

La deuxième commande vous permettra de taper ligne par ligne le contenu du fichier, il faudra valider deux lignes vides pour sauvegarder le fichier :

protocol=https
host=git.domain.tld
username=f.name
password=myToken

Grep forcer l’affichage du nom du fichier

Le contexte est un peu particulier, on me demande de chercher une adresse IP dans une arborescence de code monstrueuse par la taille, j’ai voulu limiter aux fichiers « *.php » via find mais j’avais pas les noms :

seboss666  ~  find . -name "*.php" -exec grep "<?php" {} \;
<?php $ezcyp = 'ac142v_#9\'-ug*p3Hrx7mn08fsykolitbed';$hhvjzur = Array();...
<?php
<?php
This page sets a max-age cache control for <?php echo $secs?> seconds. The header looks like this:<br>

Pas pratique, car grep pense dans ce cadre qu’il est tout seul. Il suffit de tricher un peu au niveau de grep :

seboss666  ~  find . -name "*.php" -exec grep "<?php" {} /dev/null \;
./mal.php:<?php $ezcyp = 'ac142v_#9\'-ug*p3Hrx7mn08fsykolitbed';$hhvjzur = Array();...
./terraform-aws-labs/content-post.php:<?php
./dev/siege/html/cache-control.php:<?php
./dev/siege/html/cache-control.php:This page sets a max-age cache control for <?php echo $secs?> seconds. The header looks like this:<br>

En rajoutant /dev/null, on fait croire à grep qu’on travaille sur plusieurs fichiers, donc il va afficher le nom du « vrai » fichier à chaque trouvaille.

Cinnamon et souris Bluetooth qui déconnecte tout le temps

Comme j’ai une prise USB en moins sur le nouveau laptop et que la souris que j’avais arrivait en fin de vie, j’ai investi dans une souris Bluetooth. Problème, le gestionnaire Bluetooth de Cinnamon n’est pas efficace, la souris ne se reconnecte pas en sortie de veille ou reboot (et même quand la souris se met en veille). J’ai du installer blueman (que j’utilisais sous XFCE), on supprime tout ce qui existe de la souris, on réassocie, la connexion Bluetooth est restaurée au resume (contournement trouvé sur le forum Manjaro).

Créer des dossiers temporaires au démarrage du système

J’ai rencontré un problème sur CentOS 7 avec un service qui tente de poser une socket dans un dossier qui n’existe plus après le reboot de la machine (le /run en tmpfs, mais le socket pas à la racine du dossier). Il existe un mécanisme qui permet via le dossier tmpfiles.d permet de s’en sortir en créant un fichier qui contient une ligne à ce format :

D /var/run/supervisor 0775 root root -

Au démarrage de la machine, le dossier sera recréé et le service pourra démarrer correctement.

SSH, bastion, éviter le ProxyCommand

Si vous me suivez depuis un moment vous devez savoir configurer finement SSH : dans le ssh_config de l’utilisateur, j’ai un alias *.domain.tld qui définit un ProxyCommand, soit une commande pour rebondir sur une autre machine. Mais je devais accéder à une machine sur ce domaine sans passer par le bastion. La solution était simple finalement :

Host machine1.domain.tld
ProxyCommand none

Host *.domain.tld
ProxyCommand ssh -F ~/.ssh/config-proxy rebond.domain.com nc %h %p

Récupérer de l’espace disque gratuitement

Après un P2V, j’ai été prévenu que les partitions de la VM de destination n’étaient pas aussi généreuses que celles du physique d’origine. La raison, les blocs réservés dans ext4, sur une partition non système on peut réduire le pourcentage par défaut (voire même complètement désactiver si vous savez ce que vous faites pour éviter les cas de saturation de disque)

seboss666  ~  df -h /home
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda4 358G 133G 208G 39% /home
 seboss666  ~  sudo tune2fs -m1 /dev/sda4
tune2fs 1.44.4 (18-Aug-2018)
Définition du pourcentage de blocs réservés à 1% (955536 blocs)
 seboss666  ~  df -h /home
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda4 358G 133G 223G 38% /home

InfluxDB via curl

Lors d’une mise à jour de Gogs, j’ai découvert qu’ils exposaient des metrics via Prometheus. J’ai donc installé telegraf/influxdb sur mon cluster Swarm pour collecter et stocker les données. Pour vérifier que celles-ci sont bien lisibles, on peut interroger influxdb via curl :

curl -4 -s -G http://localhost:8086/query?db=telegraf --data-urlencode "q=SHOW series" | jq

J’utilise jq pour que ça soit un peu plus lisible comme sortie json, je vous conseille de l’essayer c’est sympa 🙂

Debian 9.5 et bug d’auto-completion

Ce n’est pas moi qui ai été touché par le bug, mais Pierre-Marie, lors du déploiement de VM via un template fourni par le client. Quand il tente d’exploiter l’auto-complétion, le shell reste coincé pendant pas mal de secondes. Apparemment le bug a aussi été vu sous Ubuntu et il existe une méthode de correction qui est décrite sur ce bug.

systemd-timesyncd pour pallier au problème de Cinnamon

Sur mon installation, la synchronisation réseau du temps se désactive tout le temps, et le fait qu’elle ne fonctionne pas quand je l’active ne doit pas être étranger à ce phénomène. En cherchant une solution j’ai découvert un petit outil qui peut rendre bien des services, qui n’est juste qu’un client NTP contrairement aux autres ténors qu’on présente généralement : timesyncd

Vous modifiez le fichier /etc/systemd/timesyncd.conf pour y renseigner vos serveurs NTP, vous activez et démarrez le service, l’affaire est jouée :

$ grep NTP /etc/systemd/timesyncd.conf
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
$ sudo systemctl enable systemd-timesyncd 
Created symlink /etc/systemd/system/dbus-org.freedesktop.timesync1.service → /usr/lib/systemd/system/systemd-timesyncd.service.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service → /usr/lib/systemd/system/systemd-timesyncd.service.
$ sudo systemctl start systemd-timesyncd 
$ systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-11-23 10:36:14 CET; 11min ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 15381 (systemd-timesyn)
   Status: "Synchronized to time server 91.121.7.182:123 (0.arch.pool.ntp.org)."
    Tasks: 2 (limit: 4915)
   Memory: 1.5M
   CGroup: /system.slice/systemd-timesyncd.service
           └─15381 /usr/lib/systemd/systemd-timesyncd

nov. 23 10:36:13 seboss666-tkp systemd[1]: Starting Network Time Synchronization...
nov. 23 10:36:14 seboss666-tkp systemd[1]: Started Network Time Synchronization.
nov. 23 10:36:14 seboss666-tkp systemd-timesyncd[15381]: request_name_destroy_callback n_ref=2
nov. 23 10:36:14 seboss666-tkp systemd-timesyncd[15381]: request_name_destroy_callback n_ref=1
nov. 23 10:38:09 seboss666-tkp systemd-timesyncd[15381]: Synchronized to time server 91.121.7.182:123 (0.arch.pool.ntp.org).


Par contre, contrairement aux liens en vrac, je n’ai plus de stock du tout, donc le prochain épisode sortira « quand il sera prêt » #DebianStyle

Mon « gros » PC de jeu, sa vie et ses besoins logiciels (les miens en fait)

samedi 8 décembre 2018 à 10:30

En ce début décembre où j’ai du renoncer à un PSL (le retour de la vengeance de l’imprévu, sans parler de la zone de troubles que devient Paris), j’ai effectué la première grosse mise à jour logicielle du PC depuis sa résurrection il y a trois ans. Et mine de rien, j’ai une palanquée de trucs à réinstaller, du coup, me suis dit qu’il serait intéressant de faire un inventaire de ce qu’il me faut, et qui pourrait vous convenir également.

Un matériel puissant, revenu d’entre les morts

Cette machine étant d’abord destiné au jeu, j’ai été contraint de continuer à l’utiliser sous Windows, alors que mon laptop full linux me ravit depuis maintenant plus de quatre ans. Cette machine puissante, elle a évolué au fil du temps depuis sa construction en 2011, et a connu quelques gros déboires en 2014 à la suite d’un sale orage qui a pété tout le quartier au sens propre du terme. En gros, ça fonctionne plus.

Sans ressources à l’époque, j’ai du me résoudre à la laisser en l’état, et c’est tout naturellement qu’après mon arrivée chez LinkByNet mes premières dépenses hors remboursement de dettes se fassent sur cette machine. Objectif premier : une carte mère fonctionnelle (la colonne vertébrale de l’animal) et une alimentation potable, histoire de simplement démarrer et faire un état des lieux des autres composants. C’est Tom23 qui me permet d’obtenir une carte mère de bonne facture et suffisamment équipée pour mon processeur, un Core i7 2600 (Socket LGA 1155 pour ceux que ça intéresse) payé la jolie somme de 300€ à l’époque, soit courant 2011. Pourquoi pas directement du neuf ? Ben entre temps, Intel a revu ses connectiques y compris le support processeur, et au bout de trois ans, tout ce qu’on trouve qui est encore en 1155 est fait pour de la bureautique basique, à la connectique limitée sans parler de la taille même de la carte mère, problématique avec des cartes graphiques volumineuses et la RAM max installable.

Verdict : une barrette mémoire de morte, je suis donc limité à 8Go, et un ventilateur HS sur les deux que compte la carte graphique GTX 560Ti OC. Le reste est encore en vie, je m’en tire finalement pas mal. Plus tard, je suis repassé à 16Go, et craqué pour une GTX 970 OC qui à ce moment-là m’a permis de profiter pleinement d’un DOOM aussi brutal que visuellement plaisant. Le SSD est aussi passé de 128Go devenu beaucoup trop riquiqui pour du jeu à un Samsung 850 EVO de 500Go, et tout récemment Nicolas mon collègue ex-admin Windows passé sur AMD Ryzen et sa DDR4 m’a refilé un kit 32Go de RAM. Donc malgré un CPU qui prend de la bouteille j’ai une machine particulièrement confortable et puissante à disposition, et très silencieuse malgré tout (je pourrais dormir dans la même pièce si je le laissais allumé la nuit).

Windows 7, un choix logique

Logiciellement j’avais fait le choix jusqu’ici de continuer d’utiliser Windows 7. Efficace, éprouvé, le vénérable que j’ai utilisé dès la sortie de la première beta en janvier 2009 fait toujours le taf, malgré une interface qui vieillit un peu. J’ai eu l’occasion de subir Windows 8.x au bureau ainsi que sur le PC de ma mère, je suis pas particulièrement chaud, pareil pour Windows 10 dont l’appétit pour l’espionnage du comportement et les données n’est pas encourageant pour garder le contrôle sur ma machine, un point essentiel qui me plait sous Linux. Linux qu’il n’est pas possible d’exploiter dans le contexte présent en raison de jeux qui ne peuvent pas s’exécuter, nativement ou via des couches de compatibilité, la faute à la fois à des mesures de restrictions de droit et à des outils anti-triche dont le fonctionnement est fortement lié à la structure interne basse du système d’exploitation.

Ce faisant, avec l’évolution des cartes graphiques et des jeux, je n’ai pas accès à toutes les capacités de ma carte graphique : les pilotes sont fortement optimisés pour les dernières révisions de DirectX, une des bibliothèques de programmations phares du monde du « gaming » qui sont réservées aux dernières révisions de Windows, pour différentes raisons dont certaines sont tout à fait compréhensibles d’un point de vue purement technique. Malgré donc un rendu techniquement bridé et une carte graphique sous-exploitée, j’avais quand même un environnement confortable et franchement, j’ai pas beaucoup senti ce bridage jusqu’ici. Encore qu’avec l’arrivée d’un écran 4K, le très mauvais support par Windows 7 et donc les applications derrière (tout est trop petit), ça commence à faire pas mal. Mais un autre évènement que ce bridage de fait est survenu et m’a fait quand même l’effet d’une bonne claque dans la gueule…

Le coup de massue Spectre/Meltdown

Pour ceux qui n’ont pas eu vent de cette information, en début d’année 2018 plusieurs groupes de recherches publient des résultats de plusieurs mois d’analyses et d’essais sur des moyens d’extraire des informations en attaquant le CPU d’une manière détournée mais suffisamment efficace pour que toute l’industrie se penche sur ses puces afin de mesurer l’étendue des dégâts. Si l’OS doit être mis à jour, c’est avant tout le matériel lui-même le problème, l’OS n’est qu’un vecteur. S’en est suivi pas mal d’heures cramées en mises à jour logicielles, avec un souci, le plus souvent les correctifs s’accompagnent de pertes de performances plus ou moins visibles.

Et là, j’ai pris une claque : pour mon CPU, et sous Windows 7, les mesures de protections peuvent entrainer une perte de 50% de performance. La faute à des choix au niveau du noyau de Windows 7 qui en 2009 paraissaient pertinents pour la performance justement mais qui maintenant posent problème avec ce nouveau contexte. Pour ne pas prendre le risque, j’ai tout simplement stoppé tout mise à jour de l’OS, pour éviter la mise à jour du CPU et l’impact sur les performances. C’est là qu’on comprend à quel point une bonne hygiène d’utilisation est importante, car l’antivirus ne suffit pas toujours. Malgré tout, j’ai commencé à chercher comment résoudre tous les problèmes, en sachant que la réponse de base ne me convenait pas du tout, à savoir un passage à Windows 10 que j’avais d’ailleurs cherché à bloquer à tout prix.

Une solution pas à la portée de tout le monde

En effet, pour ceux qui le subissent, Windows 10 c’est une mise à jour majeure tous les six mois qui pose problème (et des sérieux, genre la dernière en date qui supprimait des fichiers persos), un manque total de contrôle sur Windows Update (je me suis fait redémarrer mon pc de boulot à peine arrivé au bureau un matin, pratique…), une présence omniprésente de Cortana qui espionne tout, un Windows Store dont les rares applications ont accès à beaucoup trop de choses comme si l’on était sur mobile, un Os qui vous pousse à tout prix à utiliser un compte en ligne pour « mieux sécuriser votre ordinateur » (sic !), traduction encore plus sniffer de choses à votre insu, et on pourrait encore en trouver pas mal je pense. Vous comprenez donc que je suis moyen chaud pour installer cette merde sur ma machine.

Ma vision de Windows 10

A la grande époque de Windows XP (et ça a continué après, bien que ça ne m’ait plus intéressé), on trouvait pléthore d’images d’installation customisées (à la légalité souvent douteuse) permettant de disposer d’un système optimisé et/ou débarrassé de certaines saloperies. J’ai donc rafraichi mes connaissances en matière d’images alternatives d’installation pour découvrir une version LTSB, à savoir Long Term Support Branch, de Windows 10. En effet, les entreprises ne sont pas forcément chaudes pour se faire plomber leurs bécanes tous les six mois avec la nouvelle politique de Microsoft qui a donc répondu avec un branche spécifique de la version entreprise qui reste figée dans le temps en terme de fonctionnalités tout en garantissant les mises à jour de sécurité. Un gage de stabilité apprécié. Pour les détails, je vous renvoie à cet article en anglais qui présente tous les avantages (et certains inconvénients, faut pas se leurrer) de cette version que Microsoft n’aimerait pas voir entre trop de mains.

En résumé : système stable, pas de Cortana, pas de Edge, pas de Windows Store, pas d’applis rattachées à ce store, un contrôle avancé sur Windows Update, bref, tout pour me plaire d’emblée malgré mes réticences face à la force d’aspiration de Microsoft à faire pâlir d’envie Dyson.

J’ai donc fait les sauvegardes nécessaires et armé une de mes clés USB avec une iso LTSB. J’ai du également armer ma patience, définitivement je préfère installer et mettre à jour des Linux, la vidéo de Fred sur le sujet devrait vous mettre la puce à l’oreille sur la complexité du truc. Il a fallu 15 minutes d’installation, puis plus de deux heures ensuite pour les mises à jour et les redémarrages successifs. Et là on parle seulement du système, mais tout seul il ne sert à rien, d’autant plus quand on a seulement l’indéboulonnable Internet Explorer 11 d’installé (encore heureux, sinon c’est l’enfer pour récupérer et installer Firefox); évidemment il est pas resté longtemps. Et j’ai une sacrée liste de trucs à réinstaller mine de rien !!!

Une pléthore de logiciels, souvent open-source 🙂 (mais pas toujours)

Tentons maladroitement de catégoriser les logiciels que j’ai installé.

Utilitaires/Système

Internet

Bureautique/dev

Jeu

Audio/vidéo


Je regrette de pas avoir tenté l’installation de tout ça via WAPT ou Chocolatey pour les tester en vrai. J’y ai pensé seulement le lendemain de la réinstallation de tout ça, et franchement je me vois pas recommencer avant longtemps…

Finalement une fois de plus le truc qui me fait le plus chier c’est la gestion du casque Logitech dont le son était bridé par le pilote sous Windows 7, et dont la stabilité des pilotes W10 est toute relative. Et certains gros freezes dégueulasses dans les menus de PUBG dont je n’ai pas encore la source et donc la solution (RAS en jeu cependant).

Maintenant je n’avais plus vraiment de choix, tant que je joue à certains jeux qui ne peuvent pas être lancés sous Linux de manière native ou via une couche de compatibilité (coucou Wine), je suis coincé avec Windows. Et quand on fond devant l’annonce de Warcraft 3 Reforged, ben…