Quelques astuces diverses, quinzième

closeCet article a été publié il y a 5 ans 2 mois 14 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

2019 ne fait pas exception aux années précédentes, tant qu’on se servira d’ordinateurs il y aura une foultitudes de petites astuces du quotidien qu’il sera toujours intéressant de découvrir et de partager, alors c’est parti !

De l’importance des options de dd

J’ai offert du SSD dans la famille à Noël cette année. Et j’ai fat le choix de cloner les disques d’origine pour pas me retaper des installations de Windows à la pelle. Pendant mes tests avec deux SSD, je suis surpris de la lenteur du transfert :

En fouillant un peu sur le net, dd propose des options dont une en particulier m’a permis de bien bourrer le débit :

Voilà, pour mes besoins ça a suffi, le vrai transfert lui devait durer plus d’une heure avec ces paramètres (correction, il a pris quasiment trois heures pour mon beau-frère, heureusement qu’on était au cinéma), et je suis certain qu’il y a des brutasses pour m’expliquer les formules de calcul pour maximiser encore plus les résultats.

VLC/Qt5 : souci d’échelle pour l’interface

La densité d’affichage a augmenté sur mon nouveau laptop par rapport à l’ancien (14″ Full HD au lieu de 15″ HD ready), ce qui amène des surprises. Des images valant mieux qu’un long discours :

On le voit, les contrôles sont énormes et je vous parle pas des menus. Et la mise à l’échelle d’une appli Qt dans un environnement GTK c’est pas encore ça. Fort heureusement on peut jouer sur ce comportement via une variable d’environnement, ici il faut la poser dans ~/.profile :

Vous pouvez recharger ensuite votre session, les applis Qt devraient maintenant avoir une meilleure tête. La preuve :

Lister les IPs bannies par fail2ban

fail2ban fait partie des outils que je vous recommande pour apporter une sécurité supplémentaire à votre serveur, en détectant des comportements à partir des journaux système. Pour avoir juste un petit résumé des IPs qu’il a banni, je suis tombé sur cette routine bien affreuse à lire mais tout à fait efficace :

Dans mon cas, j’ai découvert un abus de l’utilisation du data saver de Google, qui s’est donc retrouvé bloqué à l’entrée du serveur de mon client.

Exploiter X-Forwarded-For dans IIS

Oui c’est plutôt rare pour être signalé, mais lors de recherches liées à cet entête HTTP très utilisé dans des contextes de load-balancing et de proxyfication, je suis tombé sur cet article qui vous explique comment enregistrer et exploiter cet entête dans IIS, le serveur web phare des plateformes Microsoft Windows. Car on y met généralement l’adresse IP du visiteur.

Pour rappel même si c’est juridiquement un peu flou pour l’instant on est encore obligé de conserver des journaux web d’identification des visiteurs à des fins légales (par exemple en cas d’injure publique, menace de mort, harcèlement…). L’adresse IP du visiteur doit donc être enregistrée correctement.

Comprendre ce qui a merdé dans une requête MySQL

Lors de la mise en place d’une base mysql pour la gestion des utilisateurs de proftpd, on a coincé sur une requête qui vérifie si l’utilisateur est activé et pas expiré :

Y’a un warning, mais on a pas le détail du warning en question. Ben en fait pour récupérer ce warning c’est tout simple :

Oui ça parait évident à certains mais je suis pas un expert MySQL/MariaDB non plus même si je me débrouille hein 😀

Réparer pip après l’installation d’azure-cli

Je suis en train d’apprendre à déployer des applis sur un cluster AKS (Azure Kubernetes Services). A l’installation de l’azure-cli via pip, toutes la connectivité HTTPS a été pétée :

Pour réparer, c’est un peu dégueu mais ça fonctionne :

Honnêtement vu la quantité de paquets que déclenche l’installation d’azure-cli via pip, j’ai été découragé de chercher la vraie source. Évidemment adaptez le chemin d’installation du dossier OpenSSL à votre version de Python et/ou votre OS 🙂

Délester le trafic des bots, version Nginx

Denis a du prendre récemment des mesures sur son blog pour délester son hébergement de robots un peu méchants qui saturaient les ressources de sa machine. Mais il n’a fourni la directive que pour Apache. Si vous êtes sous Nginx, vous pouvez utiliser cette règle :

Je crois qu’on peut se passer du location, mais si vous avez déjà un location / vous pouvez juste ajouter le « if » dedans 😉

Docker : réutiliser les volumes d’un container existant

La formulation peut être étrange, mais vous allez comprendre. J’ai enfin monté une copie de mon blog sur mon cluster Docker Swarm pour pouvoir faire mes essais de modifications et préparer le futur. Lors d’une migration de WordPress, un outil devenu vite incontournable est wp-cli, qui permet notamment du traitement de masse sur la base de données via la configuration du blog. Sur un hébergement classique on se met à la racine du WordPress et on lance la commande. Mais dans la configuration Docker, on a pas accès à la racine puisqu’elle est dans le container, la seule persistance qui reste est le wp-content.

Docker permet cependant d’exécuter un autre container à partir des données d’un container existant, et c’est parfait pour le cas de wp-cli pour simuler justement le lancement depuis le wordpress installé dans le container voisin. La syntaxe n’est pas évidente, mais elle sauve une vie :

A exécuter sur le nœud qui exécute le container WordPress (si vous avez plusieurs containers, n’importe lequel conviendra). Et dans mon cas, je sais déjà que mon thème va me poser des problèmes pour le futur via des alertes PHP…

grep : concaténer plusieurs filtres d’exclusion ou d’inclusion de recherche

Récemment, j’ai tenté d’obtenir du sens et comparer un certain trafic de journaux web à une semaine d’intervalle. J’ai commencé à empiler les grep -v « blabla » |grep -v « blublu », facile pour itérer sur les exclusions, mais il y a plus lisible (et potentiellement plus rapide et moins consommateur) :

egrep (qui permet de déclencher le mode expression régulière), et des pipes qui séparent les modèles à exclure. Évidemment vous pouvez procéder de même pour inclure des modèles à rechercher.

Twidere : récupérer les fonctionnalités de messages privés

L’application Twidere sur Android est sympathique, mais le développement a cessé depuis un peu plus d’un an. Entre temps, Twitter a fait le gros dégueulasse avec son API et j’ai découvert que les messages privés n’étaient plus mis à jour dans l’application. En fouillant les issues Github, j’ai trouvé une solution qui a fonctionné pour moi, à savoir modifier les clés d’API dans les paramètres (settings), réseau (icône en forme de terre), Avancé, Paramètres API par défaut :

Il faut ensuite supprimer le compte et se relogger dessus, et ça rétablit le service (les messages privés de groupe sont même dispos !). Si ça ne fonctionne pas pour vous, le problème vient peut-être de la clé, auquel cas d’autres sont disponibles sur cette page github.


Voilà, je suis content de cette fournée, elle ne concerne pas que de la ligne de commande, on couvre de l’application de bureau, de l’application Android, et même du Windows, comme quoi tout est possible 🙂

2 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
Supras
11/02/2019 16:27

Super utile la commande fail2ban pour les IPs bannies sur les jails actifs ! Merci à toi 🙂

Tetsumaki
11/02/2019 22:20

Salut, Merci pour les astuces 🙂 Quelques petits ajouts/corrections : –> De l’importance des options de dd Pour ton besoin précis, tu aurais gagné énormément de temps à utiliser partclone, ou clonezilla. Et si je peux aussi te conseiller un truc bien sympa pour monter les ISO (genre clonezilla) qui change la vie : http://iodd.kr/wordpress/product/iodd-2531/ (t’as aussi d’autres modèles, dont une avec chiffrement). –> grep : concaténer plusieurs filtres d’exclusion ou d’inclusion de recherche – je préfère utiliser ‘grep -E’ que ‘egrep’ – tu peux utiliser l’option ‘-c’ pour compter, ça t’évite un ‘wc -l’ – il faut échapper les… Lire la suite »