PROJET AUTOBLOG


Le blog de Seboss666

Site original : Le blog de Seboss666

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

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.

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…

 

AV1, j’en ai très envie mais y’a un truc qui coince

mardi 27 novembre 2018 à 18:30

Pour ceux qui ne se rendent pas compte, le monde de la vidéo qu’il soit en ligne ou dans votre salon avec les galettes est un terrain de guerre, une guerre de brevets, trusté par une entité qui bouffe à tous les râteliers. N’étant pas un fan de ce que sont devenus les brevets de nos jours, je ne peux donc que saluer l’arrivée d’un concurrent qui libérerait tout le monde, enfin, quand les tentatives précédentes ont échoué. Mais pourquoi je ne saute pas encore de joie ?

Je ne vais pas refaire toute l’histoire des codecs vidéos et des enjeux financiers actuellement autour de ceux qui sont le plus répandus aujourd’hui, le blog mozfr a très bien traduit l’article qui en fait le tour. Ayant vu le Vorbis, « concurrent du MP3 » ne jamais quitter les distributions Linux, le VP8 et VP9 limités à YouTube (via le format Webm), j’avoue, j’avais un peu de doute quant à la crédibilité d’un concurrent à la fois d’H264 qui règne en maître depuis 10 ans sur la vidéo, et son remplaçant H265 appelé à supporter la 4K et suivants sans tuer nos fibres optiques encore absentes de la majorité des foyers.

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8">

Bon, déjà voir une sacré palanquée d’acteurs se regrouper sous une même bannière, l’Alliance for Open Media, a bougé un ou deux curseurs dans mon cerveau. On y trouve à la fois des fabricants de matériels, des acteurs du logiciel, de la communication, des producteurs et des diffuseurs de contenus. L’idée, mettre en commun les ressources financières (développer coute de l’argent), intellectuelles (les ingénieurs c’est pas gratuit), et légales (on a beau dire qu’ils n’y a pas de risques liés aux brevets, on est jamais à l’abri) pour créer un nouvel outil libéré du racket MPEG-LA dont les termes de licences d’utilisation et donc les revenus à leur verser deviennent plus pénibles avec les années, sans parler de l’exclusion de fait via ces termes de licences pour des acteurs non-commerciaux. Et si techniquement c’est supérieur, alors là c’est ceinture+bretelles pour l’assurance d’un pantalon qui ne tombe jamais. Après tout, la vidéo représente maintenant 75% de la bande passante consommée sur l’intégralité du réseau, si on ne veut pas saturer notre bébé il est temps d’agir.

Et tous les acteurs sont d’accord pour que ce nouvel outil soit utilisable par tout le monde sans avoir à filer la moitié de son pognon, un aspect important pour les logiciels libres qui reposent rarement sur des multinationales de la diffusion vidéo pour supporter financièrement ces coûts. En première ligne, les navigateurs Web (bon Chrome n’est pas opensource, je sais, mais voilà…), car malgré la montée en puissance des plateformes mobiles et de leurs applications bourrées d’espions, une grande part de la consommation de contenus vidéo, à la demande ou en direct, passe par eux. Déjà, il avait fallu que Cisco serve de bouclier pour nous proposer dans Firefox une version « open » d’H264 afin de pouvoir lire les contenus dans mon navigateur préféré. Là, l’intégration pourra se faire directement, ce qui est toujours préférable pour les performances.

Justement, les performances. Les chiffres avancés jusqu’ici concernent l’efficacité sur un CPU x86 classique. Hors, malgré les promesses sur nos machines de bureau dont l’âge moyen et la puissance brute à la ramasse ne devraient pas être sous-estimés, le succès ne reposera pas sur un matériel qui n’est plus majoritaire dans la lecture de contenus. En effet, cela fait des années que nos ordinateurs passent non plus par le CPU pour lire les vidéos mais bien les cartes graphiques, qui disposent de circuits dédiés plus efficaces et surtout moins énergivores pour décoder les vidéos toujours plus lourdes. C’est ce qui permet à un Raspberry Pi, qui coûte 30$ et consomme 2W, de lire du Full HD d’une qualité Blu-ray depuis un stockage réseau sans broncher. Hors pour l’instant, malgré la présence d’Nvidia, d’AMD, et d’ARM qui représentent une grosse majorité de fournisseurs de moteurs de décodage vidéo des appareils les plus utilisés du grand public, pour l’instant, je n’ai pas vu d’annonce tonitruante concernant le support d’AV1 dans leurs matériels. Et pour cause, apparemment ça va mettre deux ans, une éternité donc vu la vitesse d’augmentation de consommation du réseau. Ça me rappelle lors de l’arrivée des tous premiers lecteurs Blu-ray, chez Sony comme le matériel dédié au décodage n’était pas prêt, on a intégré des Pentium 4 dans des platines de salon.

Deux ans… deux ans pour que nos box soient capables d’embarquer un matériel qui leur permette d’afficher dans de bonnes conditions les contenus qu’on veut visionner, que ce soit du streaming sur Twitch, de la vidéo à la demande sur Netflix ou sur YouTube, pour prendre des références connues, mais la technologie permettra aussi à d’autres applications peut-être plus spécialisées de voir le jour, avec à la clé bonne qualité, faible conso en bande passante, et également une consommation de stockage réduite, bref, que des avantages. Mais deux ans quoi, sans parler que ceux qui reposent sur les box opérateurs vont attendre tellement longtemps…