5571 links
  • GuiGui's Show

  • Home
  • Login
  • RSS Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
◄Older
page 72 / 279
Newer►
  • sponge(1): soak up stdin/write to file - Linux man page

    Qui n'a pas déjà voulu qu'une commande GNU/Linux enregistre son résultat dans le fichier d'origine, genre sort MonFichier > MonFichier ?

    Évidemment, ça ne fonctionne pas car, à cause de la redirection (« > »), le shell vide le fichier « MonFichier » puis l'ouvre avec l'identifiant « 1 » (stdout) dans la table des descripteurs de fichiers du processus, puis il se duplique avec l'appel système « fork() » (un fork() conserve la table des descripteurs de fichiers) puis remplace le code de sa copie par celui du programme demandé (sort, dans notre exemple) avec la famille d'appels système « exec() », ce qui en lance l'exécution. Donc, dès le début, le fichier d'origine est vidé.

    La plupart des commandes permettent d'écrire leur résultat dans un fichier genre sort -o <fichier> <fichier>. Mais pas toutes.

    C'est là que sponge intervient : cette commande attend la fin de l'écoulement des données sur stdin puis elle ouvre le fichier passé en argument et enregistre tout ce qu'elle a reçu depuis stdin.
    Pratique quand une commande ne permet pas d'enregistrer son travail dans un fichier (genre jq) et qu'on ne veut pas créer xxx fichiers temporaires (genre « commande fichierN > fichierN+1 »).

    Exemple d'utilisation : jq '.' monFichier | sponge monFichier.

    Sun Apr 5 14:35:38 2020 - permalink -
    - https://linux.die.net/man/1/sponge
  • Bloquer autre chose (des IPs, des ports, etc.) que des applications Android avec AFWall+

    Sur mon ordinateur de poche Android, j'utilise le pare-feu Android AFWall+ (en fait, c'est juste une interface graphique pour le pare-feu natif du noyau Linux, Netfilter).
    Ça me permet de contrôler quelles applications peuvent émettre et sur quel(s) réseau(x) (Wi-Fi, 4G, VPN) elles le peuvent.

    J'utilise également un VPN de confiance (avec le logiciel Android OpenVPN For Android qui n'est pas l'implémentation officielle du projet OpenVPN) afin de me protéger des craderies de mon opérateur mobile lorsque je suis en 4G (on a vu Bouygues Telecom modifier les réponses DNS, on a vu SFR modifier les réponses web, etc.) et des points d'accès Wi-Fi malveillants (notamment ceux tenus par des potes farceurs). Mais également pour ne pas dévoiler ma vie privée à des gens en qui je n'ai pas confiance (opérateurs mobiles, fournisseurs de Wi-Fi ouverts, etc.).

    Lorsqu'on utilise un VPN dans un tel contexte, le minimum est d'interdire tout trafic qui voudrait sortir en dehors du VPN, sauf le VPN lui-même et DHCP.
    De même, lorsqu'un VPN est établi, il convient d'interdire tout trafic DNS sortant vers les serveurs DNS récursifs de l'opérateur mobile / fournisseur Wi-Fi, car certaines applications les utilisent au lieu de ceux proposés par le service de VPN, ce qui fait fuiter une partie de la vie privée.



    AFWall+ permet uniquement d'autoriser / bloquer des logiciels. Le premier besoin est satisfait (bloquer tout en sortie, autoriser quelques logiciels via le VPN), pas le deuxième. Pour le satisfaire, il faut utiliser des scripts personnalisés.

    On peut saisir un script perso directement dans l'interface d'AFWall+, sauf que c'est pénible et long. Je choisis donc de l'écrire dans un fichier séparé. Voici mon script pour bloquer le trafic à destination des serveurs DNS récursifs de Numericable :

    #!/system/bin/sh
    
    # Necessary at the beginning of each script!
    IPTABLES=/system/bin/iptables
    
    # Now add your own rules...
    $IPTABLES -I "afwall-vpn" -d 89.2.0.1/32 -j "afwall-reject"
    $IPTABLES -I "afwall-vpn" -d 89.2.0.2/32 -j "afwall-reject"
    
    # Don't
    # exit 0

    Quelques commentaires :

    • Ne pas oublier le shebang ;

    • La variable « IPTABLES » (et son pendant IPv6 « IP6TABLES ») n'est pas obligatoire, elle ajoute de la simplicité si le chemin vers le binaire iptables change un jour ;

    • Par défaut, AFWall+ exécute le script avant d'insérer ses règles de blocage d'applications. Donc, les règles du script seront ajoutées dans une chaîne avant qu'une application soit autorisée par la même chaîne. C'est bien ce que nous voulons : si les règles étaient ajoutées après, elles seraient inefficaces, l'application ayant été autorisée à émettre par une règle précédente. Par défaut, tout est donc OK. Néanmoins, je décide d'insérer mes règles en début de chaîne (« -I ») plutôt qu'à la fin (« -A ») afin de me prémunir de tout changement futur de comportement d'AFWall+ qui rendrait caduque mon filtrage ;

    • La chaîne « afwall-vpn » s'applique uniquement à ce qui sort par un VPN. D'après la doc', il y existe également les chaînes « afwall-wifi », « afwall-3g », etc. Toutes ne sont pas documentées. Donc je recommande d'exécuter un « /system/bin/iptables -L -n -v » depuis un shell root (commande su) Android (j'utilise le classique Terminal Emulator pour y accéder) pour voir les chaînes disponibles à un instant T ;

    • Je pourrais être plus fin et bloquer uniquement le protocole DNS (udp/53 et tcp/53) à destination de 89.2.0.[1-2], mais ces machines Numericable n'ont probablement pas d'autres usages, et sûrement pas d'usages qui m'intéressent. Donc, autant faire simple et performant en bloquant par IP. Je pourrais aussi bloquer tout trafic DNS qui n'est pas à destination des serveurs DNS récursifs de mon fournisseur de VPN, ce qui serait beaucoup plus sain et sécurisé (aucun risque d'oubli, quel que soit le réseau auquel je suis connecté), sauf que je veux me laisser la possibilité d'utiliser d'autres récursifs DNS au besoin ;

    • Je rappelle que, dans ce contexte, pour un confort utilisateur, il vaut mieux rejeter explicitement le trafic plutôt que de le jeter silencieusement. L'utilisation de la chaîne « afwall-reject » permet en sus la journalisation, utile en cas de problèmes ;

    • set -e (voir ici) ne semble pas être disponible. Dommage. Plus surprenant, un « exit 0 » en fin de script pour signifier que tout s'est bien passé conduit AFWall+ à déclarer que l'application des règles de filtrage a échoué…



    Avec le gestionnaire de fichiers Android Ghost commander, je déplace ce script depuis ma carte SD vers le dossier /storage/emulated/0/afwall. Pourquoi ? 1) Je n'ai pas trouvé de dossier nommé à peu près afwall dans /data/data ; 2) C'est ici qu'AFWall+ stocke ses exportations de règles (menu -> « Export ») donc, c'est lui qui a créé le dossier, donc, en l'utilisant, je me prémunis de problèmes de droits d'accès.

    Plutôt qu'une carte SD, j'aurais pu utiliser adb, oui.

    Ne pas laisser ce script sur la carte SD, car, si elle n'est pas insérée lors d'un démarrage de l'ordiphone, alors les règles de filtrage ne seront pas appliquées, donc le pare-feu sera désactivé.

    Dans le menu d'AFWall+ -> « Set custom script » -> « Enter custom script below », je saisis . /storage/emulated/0/afwall/<nom_script>. Attention au point au début !

    Menu AFWall+ -> « Apply ». C'est terminé. \o/

    Sun Apr 5 13:29:38 2020 - permalink -
    - http://shaarli.guiguishow.info/?4yXBfA
  • How to increase the Android app VLC’s volume to 200% - Quora

    Autoriser l'amplification du volume audio sur la version Android de VLC : menu -> Preferences -> Video -> Audio boost.
    Durant la lecture d'un média, il suffira d'augmenter le volume comme d'habitude (glisser bas vers haut du côté droit), mais, cette fois-ci, il pourra dépasser 100 %, comme sur la version PC GNU/Linux de VLC.

    Attention, pour ce faire, il faut au moins la version 3.0 de VLC (source).
    Si vous avez installé VLC avec l'apk distribué sur le site web officiel (car VLC n'était plus disponible sur F-Droid à une époque, par exemple), F-Droid dira que le logiciel est à jour, ce qui n'est pas le cas. Il faut désinstaller VLC puis l'installer avec F-Droid.

    Sun Apr 5 11:51:44 2020 - permalink -
    - https://www.quora.com/How-can-I-increase-the-Android-app-VLC-s-volume-to-200
  • Copy the contents of a file into the clipboard without displaying its contents - Unix & Linux Stack Exchange

    Copier tout le contenu d'un fichier dans le presse-papier en ligne de commande : xsel -b < <fichier>

    Sun Apr 5 11:27:27 2020 - permalink -
    - https://unix.stackexchange.com/questions/211817/copy-the-contents-of-a-file-into-the-clipboard-without-displaying-its-contents
  • Contrepèteries (ter)

    Vache, pas simple, la livraison de la semaine ! :O

    Confinés empilés
    Les berges ne sont plus à vous !
    Pas de joug sans cuir !
    Sc/iure dans l'évêché
    On bosse à distance, à treize !
    Elle sent fort la verrine de paon
    Flairant des traces de biles dans leurs cotons, des clientes en lutte poussent leurs cris tôt : « Ce Véran nous accule ! » « On parle délais de carence »


    Confinés empilés
    Les berges ne sont plus à vous !
    Pas de joug sans cuir !
    Sc/iure dans l'évêché (chuire dans les WC)
    On bosse à distance, à treize ! (on baise à distance, atroce !)
    Elle sent fort la verrine de paon (elle sent fort[,] la pine de Véran)
    Flairant des traces de biles dans leurs cotons, des clientes en lutte poussent leurs cris tôt : « Ce Véran nous a/ccule ! » (ce Véra nous encule) « On parle délais de carence »



    Dans le Canard enchaîné du 1er avril 2020.

    Wed Apr 1 12:41:28 2020 - permalink -
    - http://shaarli.guiguishow.info/?ye25Qw
  • ToDo installation Windows 10

    Récemment, j'ai constaté que l'ordinateur portable Windows 8 (8.1 ?) d'une amie ramait à moooort. Pour donner une idée : elle a le temps de cliquer sur le raccourci d'un logiciel, de me faire la conversation, de trouver ça trop long, d'aller me chercher une binouze dans son frigo à l'autre bout de sa piaule pendant que le logiciel vient à peine de s'ouvrir. :O

    Il s'agit d'un ordinateur personnel dont un usage professionnel se fait de plus en plus grand. Comment peut-elle se concentrer dans ces conditions ? :O

    Je regarde un peu : CPU identique à mon ordinateur perso (2 cœurs 2,5 Ghz), quantité de RAM équivalente (8 Go), disque dur 5 400 tours/minute (ha, peut-être qu'on a trouvé l'une des causes). J'ai aussi constaté que certains bus sont sous-dimensionnés…

    Je soupçonne aussi la présence d'un virus vu les quelques comportements erratiques de la machine.

    J'ai la flemme de partir à la chasse aux virus (et, surtout, je ne sais plus faire…).

    Je propose une réinstallation complète de Windows. Et, tant qu'à faire, de passer à winwin 10 (même si winwin 8.1 bénéficiera de mises à jour de sécurité jusqu'en janvier 2023).

    En douce (cadeau), je lui achète un SSD. Un Samsung 860 Pro, produit qui remplace les excellents 850 Pro qui équipent mon ordinateur perso et un fournisseur d'accès à Internet alsacien, a ma faveur : ça marche bien et, en cas de pépin, la garantie Samsung 5/10 ans remplace à neuf sans faire chier. Winwin 10 sera installé dessus, ce qui permet de mettre le disque dur d'origine de côté afin de récupérer des fichiers si besoin. Au final, le gain est important mais moins ouf qu'avec un système Debian GNU/Linux…

    Ci-dessous, je propose un résumé de ce qui m'a marqué durant cette installation de winwin 10.


    Virer les mouchards Lenovo

    L'ordinateur étant de marque Lenovo, il faut virer les mouchards incorporés par cet assembleur. Dans quel monde vit-on ?!

    Le mouchard Computrace (voir aussi) n'apparaît pas dans l'UEFI, contrairement à mon ordinateur Dell.

    Le deuxième mouchard de Lenovo, qui résiste lui aussi à une (ré)installation de winwin, n'était pas non plus présent. Les binaires mentionnés par Numerama n'existent pas sur l'ordinateur et le modèle de cet ordinateur n'apparaît pas dans le communiqué de presse de Lenovo (merci à la machine à remonter le temps maintenue par archive.org d'avoir conservé ce document effacé par Lenovo, n'hésite pas à faire un don).

    Le troisième mouchard connu, SuperFish, n'était pas présent. Il ne résiste pas à une (ré)installation propre de winwin, mais je voulais voir. Pour diagnostiquer cela, j'ai suivi le tutoriel proposé par Lenovo lui-même. Si, comme moi, le menu démarrer refuse d'ouvrir le gestionnaire des certificats, utilise Windows+R puis tape « certlm.msc ».

    On notera que les deux derniers mouchards sont devenus des failles de sécurité qui peuvent être exploitées par n'importe qui. Voilà pourquoi ce genre de merde doit être refusée.


    Accéder à l'UEFI

    Mes notes de 2013 sont toujours valables.


    Désactiver Secure Boot

    Parce que changer uniquement la valeur de l'option « Secure Boot » dans l'UEFI, ça serait trop simple. Je copie les instructions afin de les pérenniser :

    Then scroll to the Security tab by using → . Then use ↓ to scroll to the Secure Boot entry. Press the Enter key and select Disabled. Follow that by navigating to the Reset to Setup Mode entry using the ↓ again. Press Enter, then select Yes on the popup to clear the PK, disable secure boot and enter setup mode. You’ll notice that the Platform Mode changes to Setup Mode and Secure Boot Mode becomes Custom. Press the Fn+F10 key to reboot.


    ISO d'installation librement disponible

    Microsoft propose l'ISO de winwin 10 en téléchargement libre. Attention, il faut se rendre sur le site web avec un système autre que winwin (ou trafiquer le user-agent de son navigateur web), sinon le site web ne propose pas l'ISO mais l'outil de MS pour créer un support d'installation.


    Créer un support d'installation

    Un collègue qui se tient à jour sur les technos MS m'a conseillé d'utiliser le logiciel Rufus. Aucune difficulté.


    Choisir l'édition de winwin

    D'une part, je voulais Bitlocker, la techno de Microsoft pour chiffrer un support de stockage car elle est plus transparente que VeraCrypt pour un utilisateur lambda (pas de code à saisir au démarrage, mais dépendance à une puce matérielle, le TPM). Bitlocker n'est pas disponible dans l'édition familiale. De plus, comme cet ordinateur va de plus en plus servir dans un contexte pro, je voulais être sûr que mon amie aurait tous les outils disponibles. Je voulais donc installer l'édition professionnelle de winwin 10.

    Or, durant l'installation, le choix de l'édition ne m'a pas été laissé. Tous les tutoriels indiquent que le choix se fait au début, juste après l'appui sur le bouton « Installer maintenant ». Moi, je passais directement à l'acceptation du contrat winwin.

    Winwin 8 édition familiale était préinstallé sur cet ordinateur. Donc la clé produit est stockée dans la table ACPI de l'UEFI. Donc l'installeur détectait cela et voulait installer l'édition familiale de winwin 10.

    Pour avoir le choix, il faut ajouter un fichier nommé « ei.cfg » dans le dossier nommé « Sources » présent à la racine du support d'installation de winwin. Le contenu doit être (source) le suivant :

    [Channel]
    _Default
    [VL]
    0

    Attention si tu utilises un système GNU/Linux pour créer ce fichier : la manière de terminer une ligne diffère entre Unix (LF) et winwin (CR+LF). Pense à convertir le fichier avec la commande unix2dos ei.cfg (la commande fait partie du paquet logiciel dos2unix).

    Évidemment, il faudra acheter une clé produit winwin 10 pro. Pense à connecter l'ordinateur à Internet avant d'activer winwin, sinon il est en mode démonstration et l'activation (KMS ou clé produit) n'est pas disponible. Lors de cette première connexion, winwin demandera, à nouveau, s'il faut lier le compte utilisateur local à un compte dans le cloud…


    Ne pas se connecter à Internet durant l'installation de winwin

    Cela permet de créer facilement un compte utilisateur local, non-lié à une identité dans le cloud de Microsoft. Sans ça, Microsoft essaye de te piéger et c'est plus compliqué de faire marche arrière. Dans quel monde vit-on ?!


    Questions secrètes

    Lors de la création d'un compte utilisateur, il faut saisir une réponse à trois questions secrètes. Oui, trois ! On marche sur la tête… Le mot de passe d'un utilisateur lambda de winwin est sa date de naissance ou « 1234 », donc bon… Sans compter l'inutilité démontrée des questions secrètes…


    Désactiver Fast Startup / démarrage rapide

    Il s'agit de démarrer rapidement un ordinateur en ne l'éteignant pas totalement. Winwin et les pilotes restent ouverts, le reste est fermé. L'état du système est stocké sur le disque dur.

    Je pense que cette fonctionnalité peut générer des ennuis. Quand le biniou ne termine pas sa mise en hibernation (ça arrive aussi sous GNU/Linux quand des pilotes / matériels font chier) et qu'il se réveille subitement dans ton sac en vidant la batterie. Quand le noyau winwin accumule de la merde. Quand les pilotes merdent. Etc.

    Avec un SSD, un démarrage à froid prend 27 secondes entre la pression sur le bouton et l'arrivée sur l'écran de connexion. C'est acceptable. Fast Startup ne se justifie donc pas.

    Tutoriel pour désactiver Fast Startup.


    Mises à jour

    Attention : si tu comptais cliquer sur « Rechercher les mises à jour » et faire autre chose en attendant que toutes s'installent : si une mise à jour nécessite un redémarrage, les autres mises à jour sont mises en attente (elles ne s'installent pas). De même, les mises à jour facultatives ne s'installent pas automatiquement, sans action.


    Pilotes

    Disponibles sur le site web de Lenovo. Évidemment, comme l'ordi n'est plus en vente, la page web n'est plus à jour, mais Windows Update mettra à jour les pilotes installés.

    Certains pilotes afficheront une erreur genre « Realtek machin ne peut pas s’exécuter sur cet ordinateur ». L'extracteur de Lenovo ne lance simplement pas le bon binaire… Il suffit d’aller dans le dossier d’extraction (c:\drivers, par défaut) et d’installer le pilote du bon constructeur parmi les sous-dossiers (généralement : Intel).

    Je sais qu'il existe des outils automatisés comme DriverCloud (anciennement « Ma-Config »), mais ce n'est pas mon kiff niveau vie privée (le logiciel peut aspirer ce qu'il veut, faire ce qu'il veut, son programmeur peut faire ce qu'il veut des données récupérées, etc.).


    Logiciels

    La plupart des logiciels utilisés par mon amie peuvent être installés avec ninite, sorte de gestionnaire de paquets minimaliste pour winwin. Pour les autres, ce sera installation manuelle en essayant d'identifier le site web officiel ou en utilisant Clubic. Comment peut-on encore en être à ce stade ?!


    Restaurer la configuration de Mozilla Firefox / Thunderbird

    • Ouvrir Firefox, fermer Firefox ;

    • Dans C:\Users\<nom>\AppData\Local\Mozilla\Firefox\Profiles\<chiffres_et_letttres.default>, tout supprimer et mettre le contenu de la sauvegarde ;

    • Même chose dans AppData\Roaming.

    Pour Thunderbird : même logique que pour Firefox sauf que c’est Local\Thunderbird et Roaming\Thunderbird.


    Restaurer la configuration de Google Chrome :

    • Ouvrir Chrome, fermer Chrome.

    • Dans C:\Users\<nom>\AppData\Local\Google\Chrome\User Data, tout supprimer et mettre le contenu de la sauvegarde.


    Vie privée

    Durant l'installation

    On en parle, de la masse de questions posées durant l'installation ?! Dans quel putain de monde vit-on ?!

    • Envoyer l'historique des activités à Microsoft ?

    • Autoriser Cortana à collecter des données ?

    • Désactiver toute reconnaissance vocale dans le cloud ?

    • Autoriser Microsoft à collecter la position géographique afin de propsoer des services ?

    • Envoyer des données de diagnostic ?

    • Envoyer des données de saisie manuscrite à Microsoft afin d'améliorer sa reconnaissance des caractères (OCR) ?

    • Autoriser Microsoft à proposer des conseils avec les données de diagnostic ?

    • Autoriser l'utilisation, par les applications, d'un identifiant publicitaire unique ?

    À chaque question, le choix favorable à Microsoft est bien présenté, comme s'il s'agissait du paradis : envoyer l'historique des activités, c'est pour reprendre vos activités depuis n'importe où ; Refuser l'utilisation, par les applications, d'un identifiant publicitaire unique est présenté comme « vous recevrez toujours autant d'annonces, mais elles peuvent être moins pertinentes pour vous » ; Impossible de désactiver l'envoi de données de diagnostic, on peut juste choisir un envoi « complet » ou « basic ». Le choix inverse est limite présenté comme l'enfer sur terre.

    À l'exception des trois premières questions (de mémoire), l'ergonomie est prévue pour embrouiller l'utilisateur. Genre le bouton se nomme « accepter » au lieu de valider. Donc quand tu réponds non + clic sur le bouton accepter, ça fait bizarre (j'accepte de refuser de me faire fliquer ou j'accepte le flicage tout court ?).

    Dire que les autorités administratives de protection des données personnelles (la CNIL en France) ont validé ça… Les libristes que nous sommes ne pouvons pas faire les malins : on parle des données collectées par Mozilla Firefox et de l'ex-partenariat Amazon-Canonical pour intégrer Amazon dans le menu Unity d'Ubuntu ?! Tout le monde fait n'importe quoi…


    Finir le ménage

    Korben pointe un logiciel libre qui permet de réduire encore un peu le flicage de winwin 10 : DisableWinTracking (fork maintenu ici).

    J'ai coché :

    • Services ;

    • Clear DiagTrack log ;

    • Telemetry ;

    • Block tracking domains ;

    • WifiSense ;

    • Uninstall OneDrive ;

    • Disable Xbox VR.

    Je n'ai pas modifié les autres paramètres (notamment le choix entre désactivation et suppression de services).

    Évidemment, il faut adapter cette liste à l'utilisateur : un joueur ne désactivera peut-être pas Xbox VR, par exemple.


    Virer les pubs et conseils parasites de l'écran de démarrage

    Il faut désactiver Spotlight : clic droit sur bureau → personnaliser → écran de verrouillage → arrière-plan = diaporama ou image, mais pas « Windows à la une ».

    Encore une fois : dans quel monde vivons-nous ?! Pourquoi acceptons-nous de nous faire maltraiter comme ça ?


    Lulz

    Après avoir répondu aux questions sur la collecte de nos données, l'installeur de winwin affiche « Nous préparons votre système » puis … … … « Laissez-nous tout ». Il n'y a pas de suite à cette phrase ! :O Aveu ? :)

    Sat Mar 28 18:55:50 2020 - permalink -
    - http://shaarli.guiguishow.info/?35Hfuw
  • Mon avis sur Black Mirror

    Ça fait des années que j'entends parler, en bien, de la série télévisée Black Mirror, que des gens me la recommande. J'ai visionné les cinq saisons existantes et… boarf…

    Dans le fond, il y a rien de nouveau : la très grande majorité de ce qui est dépeint existe déjà avec ou sans la technologie. Le côté dystopique à court-terme en prend un coup. Les angles d'attaque ne sont pas non plus novateurs.

    • Désensibiliser les militaires afin qu'autrui soit perçu uniquement comme une cible + propagande "c'est eux les méchants" (S03E05) ? Ce sont les principes millénaires de l'embrigadement militaire et de la propagande… ;

    • Société du spectacle qui nous endort et nous rend apathiques (S01E01, S02E03, S03E06, S05E03) même devant des formes de torture (S02E02, S04E06) ? C'est documenté depuis des décennies… ;

    • Réputation comme monnaie d'échange et si t'es à sec, t'es exclu de la société (S03E01) ? Ça a toujours existé et l'exclusion sociale a toujours été conçue comme une punition (réprobation sociale, prison, etc.). On nous apprend à être lisse, ne pas faire de vague, à toujours bien nous comporter en public. L'évaluation constante, genre les formulaires pour évaluer les comportements (du livreur, du vendeur, du traitement d'une demande, d'un commentaire sur un site web) n'est pas nouvelle non plus ;

    • Chantage avec des enregistrements sexuels (S01E01), même quand ils montrent des actes pédophiles (S03E03), ce n'est pas nouveau ;

    • L'existence de pervers narcissiques qui vont tout faire pour écraser autrui (S04E01) n'est pas nouvelle non plus ;

    • Le flicage d'un proche par prétendu amour / bienveillance (S04E02) ? Idem ;

    • La """"délation"""" par mégarde éventuellement assistée par la technologie (S04E03) ? Idem ;

    • Le questionnement à tout âge sur son orientation sexuelle / genre et la flexibilité de nos désirs (S05E01), c'est du classique ;

    • La technologie qui pourrait se retourner contre l'homme (S04E05), c'est abordé depuis plus de deux siècles en philosophie et depuis plusieurs décennies dans les arts (genre Terminator) ;

    • Surveillance vidéo permanente de l'ensemble de la population par des drones au nom de la sécurité (S03E06) ? Rien de neuf… ;

    • La recherche de l'immortalité (S03E04) ? Ça fait des millénaires que la philosophie s'y intéresse… ;

    • Avoir la mémoire courte pour être heureux (S01E03) ? Idem ;

    • Accroc au plaisir généré par la douleur d'autrui (S04E06) ? Idem ;

    • Retrouver un être proche décédé (S02E01) ? Pierre de résurrection dans Harry Potter ;

    La technologie permettrait d'aller plus loin dans la connerie et la malveillance ? Boarf, c'est même pas sûr.

    Dans les épisodes de Black Mirror, les conditions de vie et la capacité de la technologie semblent tellement éloignées de la réalité, que j'ai eu du mal à y croire, à entrer dans les histoires. Exemples : isolement travail/piaule + piaule qui est juste un box avec un lit (S01E02), transfert d'une conscience humaine dans plein d'objets (S03E04, S04E06, S05E03, etc.), robots-abeilles et ruches organisées en pair-à-pair + déplacement et transmission radio très longue distance sur de si petits appareils (S03E06), scanner d'ADN afin de créer un avatar numérique (S04E01) disposant des souvenirs (comme si les souvenirs étaient inscrits dans notre ADN…), etc. Si t'es un technophile, tu constates des incohérences dans quasiment tous les épisodes.

    En revanche, la psychologie et l'environnement sont sombres et permettent d'entrer dans le bain. Tous ces individus tristes, très isolés (exemple : S01E02), apathiques, occupés par leurs écrans (mémoriels, spectacle, flicage, etc.) qui sont d'une grande froideur en permanence… Je pense que c'est ça qui m'a fait adhérer à Black Mirror. Peut-être que les dérives technologiques sont la pointe émergée de l'iceberg ? Notre inhumanité actuelle est peut-être plus préoccupante…

    Je retiens que, dans le futur, nous continuons de baiser. À l'exception de la saison 1 et de rares exceptions dans les autres saisons, chaque épisode a sa scène de baise, même et surtout quand ça apporte rien à l'intrigue (genre S02E03)… … …

    Je l'avoue, quelques épisodes m'ont marqué, soit parce qu'ils m'ont fait réfléchir, soit par leurs personnages. Se souvenir de tout (S01E03). Retrouver un être cher décédé (S02E01). Immortalité virtuelle (S03E04). Torture-spectacle (S02E02, S04E06). Simulateur de rencontres amoureuses (S04E04). Confiance en soi / vie par procuration en matant une star (S05E03).

    Bref, Black Mirror est une série qui permet de passer le temps, mais sans plus. Peu originale, elle rate sa mise en exergue des dérives technologiques potentielles. Elle échoue à faire naître la compréhension des enjeux liés à la technologie chez les spectateurs par quasi absence d'arguments et ré-utilisation d'arguments faibles éculés. Y-a-t-il besoin de disserter sur la technologie pour se rendre compte que le monde va mal ?

    Sat Mar 28 15:52:16 2020 - permalink -
    - http://shaarli.guiguishow.info/?WVlmyQ
  • Câbles Internet sous-marins, coupure, réparation #telecomPorn

    Loin d'être virtuel, Internet repose sur des infrastructures physiques dont des câbles sous-marins. Parfois ces câbles se rompent à cause de l'usure, d'un événement naturel, d'un événement humain ou d'un sabotage. Quelques exemples ces deux dernières semaines sur le fil Twitter du « Directeur Réseaux et Services internationaux » d'Orange. Ces pannes ne datent pas d'hier. Exemple : en 1929, un tremblement de terre met KO un câble télégraphique transatlantique.

    Plus d'infos sur le financement des câbles sous-marins et les enjeux géopolitiques.

    Plus d'infos sur l'aspect physique d'Internet (câbles, locaux techniques, trous dans les trotoirs, etc.).

    Plus d'infos sur le financement des infrastructures physiques de l'Internet.



    https://twitter.com/jlvuillemin/status/1242890487754887169 :

    Et voila ! Reparation du SAT3 faite. Le câble était enfoui profondément sous des sédiments ce qui confirme l’éboulement du canyon du fleuve Congo en hte mer. Avec une tension de relevage croissante le câble a fini par se détacher du fond et a été remonté a bord pour inspection

    Visualiser le tracé du câble SAT-3. Éboulement du canyon = écoulement turbiditique.



    https://twitter.com/jlvuillemin/status/1243618627586269184 et https://twitter.com/jlvuillemin/status/1243791292913631233 :

    la situation globale des cables sous-marin entre l’europe et l’ocean indien est tres dégradée. Le SMW 3 et le SMW 4 sont tous les 2 coupés en 2 endroits différents. Nous avons actuellement 3 cabliers en mer sur ces opérations. […] Réparation du SMW3. Lors du relevage le câble s’est cassé dans la boite de jonction qui reliait le câble au répéteur.
    Il est donc très probable que le défaut était dans la boite nous en aurons la confirmation quand l’extrémité laissée au fond aura été remontée et testée.

    Visualiser le tracé du câble SMW-3. Visualiser le tracé du câble SMW-4.



    https://twitter.com/jlvuillemin/status/1238806688754470912 :

    Comme tous les gamers de la réunion l’ont constaté il y actuellement une double coupure sur les cables SMW4 et SMW5 qui impacte non seulement la réunion mais aussi plus généralement le trafic vers l’Asie, singapour et HK. Les équipes sont en train de réparer. Je précise que les coupures sont sur la partie égyptienne des deux cables a quelques km de la station de Zafarana.

    Visualiser le tracé du câble SMW-5.



    https://twitter.com/jlvuillemin/status/1243657525028929545 :

    Coupures qui entrent dans les statistiques des incidents habituellement constatés, svp ?
    Trés supérieures a la moyenne habituellement constatée.



    https://twitter.com/jlvuillemin/status/1243654077361381387 :

    […] Mais effectivement actuellement la situation est complexe. Entre l’Afrique, l’océan indien et la Méditerranée, nous avons un nombre de coupures particuliérement élevé.



    J'ai du mal à croire à une hausse significative des pannes sur les câbles sous-marins. J'attends que des informations provenant de plusieurs sources soient publiées avant de conclure.

    Sat Mar 28 12:11:03 2020 - permalink -
    - http://shaarli.guiguishow.info/?dmHFiQ
  • Si FAT16 et FAT32 sont grisés dans gparted : apt-get install dosfstools

    Si FAT16 et FAT32 sont grisés lors de la création d'une nouvelle partition ou le formatage d'une partition existante dans gparted : fermer gparted + apt-get install dosfstools + ouvrir gparted.

    Fri Mar 27 22:37:51 2020 - permalink -
    - http://shaarli.guiguishow.info/?0bjj0A
  • Bien vivre le digital [, utiliser du lubrifiant ]

    OMG, tout un site web du marchand Orange dédié au bien vivre le digital alors qu'une simple règle suffit : pour bien vivre le digital, utiliser du lubrifiant.

    Explication ici. Je cite : « L’adjectif digital en français signifie « qui appartient aux doigts, se rapporte aux doigts ». ».

    Merci Johndescs pour la blagounette du jour. :)

    Wed Mar 25 15:14:54 2020 - permalink -
    - https://bienvivreledigital.orange.fr/
  • Contrepèteries (bis)

    On se forme en paniquant ?
    Ma femme use de ses droits, j'ai l'habitude.
    Datez les tares !
    Ces maires font l'affiche.
    Erdogan emballe une folle de Chypre, l'emballe puis l'apaise.



    Mes trouvailles :

    On se forme en paniquant ?
    Ma femme use de ses droits, j'ai l'habit/ude.
    Datez les tares !
    Ces maires font l'affiche.
    Erdogan emballe une folle de Chypre, l'emballe puis l'apaise.



    Dans le Canard enchaîné du 11 mars 2020.

    Thu Mar 12 21:45:25 2020 - permalink -
    - http://shaarli.guiguishow.info/?ze4rEw
  • Fonction publique : recherche d'informations sur le non-respect du temps de travail par les personnels de l'ESR (Cour des comptes) et l'impossible différence de rémunération entre un fonctionnaire et un contractuel (CJUE)

    Quelqu'un a-t-il des infos liées à l'un de ces sujets ?

    • Les observations de la Cour des comptes de septembre 2019 concernant la non-application de la durée légale de travail aux personnels de l'enseignement supérieur et la recherche (ESR) ;

    • L'arrêt C‑72/18 du 20 juin 2019 de la Cour de Justice de l'Union européenne concernant l'impossible différence de rémunération, à travail, poste et responsabilités égaux, entre un fonctionnaire et un contractuel.



    Je cherche toutes les infos possibles, et, en particulier :

    • Quelles sont les suites possibles ? ;

    • Est-ce que les observations de la Cour des comptes peuvent rester à nouveau lettre morte comme elles l'ont été depuis 2015 ? ;

    • Est-ce cette décision impacte autre chose que le temps de travail ? J'ai entendu dire que cela remet en cause les "aménagements individuels" d'horaires genre untel fait 7 h 30 - 16 h tous les jours, untelle termine à 15 h trois jours par semaine en bossant de 8 h à 19 h les autres jours, etc. Vrai / faux ? ;

    • En 2018, avant ces observations de la Cour des comptes donc, l'université d'Aix-Marseille a régularisé sa situation en proposant un choix à ses personnels : soit une durée de travail hebdomadaire supérieure mais en conservant les jours de congés annuels, soit une durée de travail hebdomadaire moindre mais avec un nombre réduit de jours de congés annuels. Est-ce lié ou est-ce la régularisation d'un autre dossier ? Des universités ont-elles commencé la régularisation demandée par la Cour des comptes ? ;

    • L'arrêt de la CJUE est-il applicable à tous les contractuels ou uniquement aux enseignants vacataires (en CDD) ? ;

    • Suite à l'arrêt de la CJUE, un contentieux est-il déjà porté devant le Conseil d'État afin de lui faire réviser sa jurisprudence au regard de celle de la CJUE ? Est-ce que des syndicats sont sur le coup ? ;

    • Ce que je lis sur l'arrêt de la CJUE est contradictoire : d'un côté, une analyse évoque la fin de la différence de traitement liée à l'ancienneté (alors que les contractuels ont déjà une hausse de rémunération liée à l'ancienneté…), d'autres analyses estiment que les primes (qui, par chez moi, sont bien à l'origine de la différence de rémunération) sont aussi concernées ;

    • Comment agir ? Est-ce que, en tant que contractuel, je peux demander à mon service RH de m'appliquer les primes des fonctionnaires puis contester son refus au tribunal administratif puis au Conseil d'État ou est-ce prématuré ou est-ce que ça nécessite d'autres révisions législatives préalables ?
    Sat Feb 29 01:19:55 2020 - permalink -
    - http://shaarli.guiguishow.info/?y3G1EQ
  • L'insécurité routière - Groland - YouTube

    ‒ Merci, Lise. Je m'appelle Muguette et je veux te dire un énorme merci. Merci d'avoir répondu à ton téléphone quand tu conduisais et d'avoir roulé trop vite, car tu as quitté la route des yeux et tu m'as débarrassé de mon mari Fréchon qui me pourrit l'existence depuis qu'il est sénile.
    (Voix off) ‒ Sur la route, on a tous le pouvoir de sauver quelqu'un d'une vie affreuse. Insécurité routière. Vivre seule. Enfin.

    :D

    Tue Feb 25 23:29:55 2020 - permalink -
    - https://www.youtube.com/watch?v=vgryYA90HeE
  • Complots Faciles sur Twitter : Avez-vous déjà remarqué que tous les instruments qui cherchent une forme de vie intelligente sont pointés loin de la Terre ? À méditer… / Twitter

    Avez-vous déjà remarqué que tous les instruments qui cherchent une forme de vie intelligente sont pointés loin de la Terre ?

    +1. :)

    Sat Feb 22 20:38:09 2020 - permalink -
    - https://twitter.com/ComplotsFaciles/status/1227218368668803073
  • Quels médias français ont mangé chez Google en 2018 ?

    Quels médias français ont mangé chez Google en 2018 ? La réponse est dans le rapport 2018 du Digital News Innovation Fund (DNI), la partie européenne du programme mondial Google News Initiative.

    Je mets une copie de ce rapport de côté, au cas où il disparaîtrait, comme ceux du Fonds pour l'Innovation Numérique de la Presse (2013-2016, le précurseur du DNI).

    France
    TOTAL FUND €10.2m
    PROJECTS 41

    […]

    Funded organisations
    20 MINUTES
    AGENCE FRANCE PRESSE
    ATANAS TCHOBANOV
    BAYARD PRESSE
    CAMERA LUCIDA PRODUCTIONS
    CASUS LUDI
    CCM BENCHMARK GROUP
    COSAVOSTRA
    EURONEWS
    FRONTLINE MEDIA
    GEN TRAINING & CONSULTING
    GROUPE LA DÉPÊCHE DU MIDI
    GROUPE LES ECHOS
    IJSBERGPRESS
    L’EQUIPE 24/24
    LA NOUVELLE RÉPUBLIQUE DU CENTRE OUEST
    LE FIGARO
    LE MONDE
    LE PARISIEN
    LE PARISIEN LIBÉRÉ
    LES JOURS (125 000 €)
    M6
    MELTYGROUP
    METEO CONSULT
    MONDAY NOTE
    NEXTINTERACTIVE
    PLAYPLAY
    POOOL
    PRISMA MEDIA
    RADIO FRANCE
    THE CONVERSATION FRANCE
    USBEK & RICA
    VOXEUROP
    WEDODATA
    WORLDCRUNCH



    Sans oublier le fonds Google Youtube pour l'innovation / News on Youtube qui n'est pas inclut dans le rapport sus-mentionné (via le Canard enchaîné).

    3 médias français ont participé :

    HugoDécrypte
    Le Monde
    Société Brut SA

    On ne sait pas encore combien de fric Google a mis sur la table pour ces trois-là, mais Google promet que leur audience Youtube a augmenté. Comment avoir confiance puisque Google est Youtube ?

    Sun Feb 9 15:44:38 2020 - permalink -
    - http://shaarli.guiguishow.info/?LyNVtg
  • Utiliser les entêtes HTTP "de sécurité", c'pas d'la tarte

    TL;DR : HSTS c'est bien si ta conf' TLS est propre ; HPKP c'est du passé ; Expect-CT me semble être en partie aussi pipeau que CAA ; Referrer-Policy est cool au sein d'un intranet / webmail / agrégateur RSS web ou autre ressource web privée et inutile au-delà ; X-Frame-Options, c'est du passé ; X-XSS-Protection et X-Content-Type-Options, ça ne mange pas de pain même si le gain est faible et que ce n’est pas encore normalisé ; Content-Security-Policy est loin d'être simple en pratique, même sur un logiciel qui se veut être simple comme Shaarli, car ça nécessite une parfaite connaissance du code de l'application web et des compromis utilisabilité / sécurité qui me semblent être très vite déconnants.

    Toujours à la recherche de la hype en 2020 et m'étant fait tej' par TLS 1.3 et HTTP/2, je me demande quels entêtes HTTP trop stylés ajouter dans la configuration de mes serveurs web.

    HTTP Strict Transport Security (HSTS), c'est plié : j'utilise une autorité de certification x509 maison, ce qui est incompatible.

    HTTP Public Key Pinning Extension for HTTP (HPKP), c'est compliqué. On a vite fait de faire de grosses erreurs durables (même contre sa volonté, en raison de la fluctuation de ce que les autorités de certification incorporent dans un certificat x509 et en fonction des implémentations logicielles…), ce qui bloque l'accès au site web. Ça serait un deal à examiner si je n'avais pas déployé DANE TLSA, une solution concurrente au même problème qui propose une deuxième chaîne de certification via le DNS. De plus, je ne pense pas qu'un faux certificat x509 émis pour mon petit site de bouseux fasse partie de mon modèle de menaces… Au final, HPKP a été déprécié par son créateur, Google et retiré de Chrome. Affaire classée, donc.

    Expect-CT indique au navigateur web de vérifier que le certificat x509 présenté par le serveur est bien publié dans Certificate Transparency, une base de donnée publique dans laquelle les autorités de certification peuvent ajouter (impossible de modifier et de supprimer) tous les certificats qu'elles génèrent… sauf quand elles se font vraiment pirater jusqu'à l'os. C'est là le hic. Je ne suis donc pas convaincu du gain foudroyant apporté par cet entête. De toute façon, j'utilise une autorité de certification maison qui ne publie donc pas dans Certificate Transparency, donc je ne suis pas éligible.

    Referrer-Policy indique au navigateur web si, quand un utilisateur clique sur un lien présent sur un site web, il doit dire au site web de destination d'où il vient. On peut interdire toute communication ou demander à ce que seul le domaine soit communiqué et faire des mélanges genre communiquer l'URL complète si la destination du lien est le même site web et ne rien dire si la destination est externe, par exemple. Même possibilité de mélange si le site web de destination propose le même niveau de sécurité (comprendre HTTPS) que le site web source ou non. Je suis mitigé. Je vois très bien l'intérêt de cet entête pour un intranet ou un webmail ou un agrégateur RSS web , par exemple, mais pas pour mes sites web persos… Des extensions pour navigateurs web, comme Smart Referer permettent déjà de configurer l'envoi (ou non) du referrer, et, au moins, ça fonctionne pour tous les sites web consultés par un utilisateur, pas juste pour ceux qui ont mis un entête. L'utilisateur ne devrait pas compter sur l'administrateur d'un site web pour préserver sa vie privée. ÉDIT DU 07/04/2020 à 23 h 25 : cela permet à des adminsys de réduire (un peu, mais à moindre coût) le flicage des sites web qu'ils hébergent. FIN DE L'ÉDIT.

    X-Frame-Options est déprécié et est remplacé par l'attribut « frame-ancestors » dans la version 2 de Content Security Policy, donc affaire classée.

    X-XSS-Protection indique au navigateur web de bloquer les tentatives d'exploitation de failles XSS les plus triviales. Ça ne mange pas de pain. J'ajoute donc cet entête à mes configurations : X-XSS-Protection "1; mode=block".

    X-Content-Type-Options indique au navigateur de ne plus faire de MIME sniffing, c'est-à-dire d'interprétation du type d'un fichier quand le serveur web ne le précise pas ou que le navigateur web pense qu'il est erroné. Ça évite des attaques par fichiers malveillants spécifiquement fabriqués pour une attaque. Son utilisation suppose que le site web qui envoie cet entête soit irréprochable sur les types de fichier qu'il envoie. Mais, contrairement à HPKP, il n'y a pas de sanction durable dans le temps si ce n'est pas le cas. Donc ça ne mange pas de pain, donc j'ajoute cet entête à mes configurations : X-Content-Type-Options "nosniff".

    Content-Security-Policy. J'en ai déjà parlé, expliqué ce que c'est, etc.. Dans la pratique, son usage n'est pas si simple et suppose une grande maîtrise du code du site web auquel cet entête sera appliqué. Exemple concret : j'ai voulu ajouter CSP à mon shaarli, car je considère qu'il s'agit d'une application web toute simple. Grosse erreur.

    Au début, j'envisageais de positionner la valeur « default-src 'none'; frame-ancestors 'none'; script-src 'none'; style-src 'self'; img-src 'self'; form-action 'self'; ». Dans l'ordre, ça dit ce qui suit. Tout ce qui n'est pas défini sera bloqué. Ce site ne peut pas être inclus dans un autre. Le seul CSS autorisé est celui provenant de la même origine (même protocole + nom de domaine + port). Même chose pour les images (comme les miniatures de vidéos ou d'images proposées par shaarli). Les formulaires peuvent uniquement être envoyés à une cible de même origine.

    Rien que là, il y a des pièges. Il y a les non-dits, comme le fait que les scripts « inline » (insérés directement dans le XHTML) sont interdits de base sauf mention explicite. Il y a des différences de comportements. Je n'ai pas besoin de préciser « script-src », « font-src », « child-src », « object-src », « manifest-src », « media-src », « worker-src », « connect-src » car, en cas d'absence, un repli sur « default-src » est prévu. En revanche, il n'y a pas de repli pour form-action ou frame-ancestors, donc aucun blocage par défaut. Il y a des subtilités. « plugin-types » est un sous-type de « object-src », par exemple. Il faut donc lire la norme ou sa vulgarisation avec attention, ce qui est jamais top en matière de sécurité.

    Ensuite, la définition CSP toute simple ci-dessus ne fonctionne pas avec shaarli.

    • Le thème par défaut et le plugin QR code (que j'ai tenté de désactiver à plusieurs reprises, mais il semble bien enraciné) utilisent du JavaScript (et, si pas de JS, un clic sur un QR code envoie l'utilisateur sur le site web qrfree.kaywa.com avec le QR code affiché pleine page…). Il faut donc remplacer « script-src 'none'; » par « script-src 'self'; ». Encore pire, le thème et le bookmarklet nécessitent l'usage de Javascript inline. Il faut donc remplacer « script-src 'self' » par « script-src 'self' 'unsafe-inline'; ». Ça enlève une grande partie de l'intérêt de CSP puisqu'un attaquant pourrait justement injecter du JS inline ;

    • L'affichage des miniatures de vidéo Youtube va chercher la miniature… chez Google Youtube (img.youtube.com) ! Si je voulais autoriser ça, il faudrait remplacer « img-src 'self'; » par « img-src 'self' img.youtube.com; » (attention : dans la syntaxe CSP, il n'y a pas de quote pour entourer et délimiter un nom de domaine). Quid des autres images externes susceptibles d'être chargées dans mon dos ? Il faut que je lise le code source de shaarli en entier ou il faut un « img-src *; » ?! Ça réduit encore l'intérêt de CSP puisque des images malveillantes externes (qui profitent d'une faille de sécurité dans la visionneuse qui la chargera) pourront être chargées par le navigateur ;

    • Le plugin QR code (encore lui), affiche le QR code en utilisant le schéma « data: ». Si l'on veut qu'il fonctionne, il faut donc remplacer « img-src 'self' » (ou « img-src ; » par « img-src 'self' data: » (ou « img-src data: »;. Là encore, ça retire une partie de son intérêt à CSP puisqu'un attaquant pourra injecter des images en utilisant ce schéma… ;

    • Si l'on clique sur une vidéo que je mets à disposition, genre celle-ci, il n'est pas possible d'avancer dans la lecture à un moment qui n'est pas encore téléchargé dans la mémoire tampon. Essayer, c'est le "plantage", il faut F5. Pour que ça fonctionne à nouveau, il faut ajouter « media-src 'self'; ». Ça encore, ça passe…

    Du coup, pour un shaarli qui semble être fonctionnel, il faut la CSP default-src 'none'; frame-ancestors 'none'; script-src 'self' 'unsafe-inline'; style-src 'self'; img-src * data:; media-src 'self'; form-action 'self';. Si l'on est prêt à sacrifier les miniatures de vidéos Youtube (et sites externes), la CSP suivante suffit : default-src 'none'; frame-ancestors 'none'; script-src 'self' 'unsafe-inline'; style-src 'self'; img-src 'self' data:; media-src 'self'; form-action 'self';. Et tout ça, sans être sûr que j'ai bien identifié tous les problèmes…

    CSP est une bonne idée, mais il faut connaître parfaitement son application web. Et même en la connaissant, il faut autoriser de gros trous dans la raquette pour qu'elle fonctionne, ce qui diminue d'autant la sécurité apportée par CSP. Et encore, j'ai travaillé sur une application web qui se veut être simple, qu'est-ce que ça doit être avec n'importe quel CMS, site web pseudo-moderne ou application web Java ! Imagine les ressources externes (police récupérée ici, JavaScript récupéré chez Google, etc.). Imagine l'interférence des CDN (réseaux de distribution de contenus à l'échelle de la planète) et les possibilités de rendre caduque CSP que cela offre.

    Bref, hors de question que je me prenne la tête avec CSP.

    Sat Feb 8 22:00:15 2020 - permalink -
    - http://shaarli.guiguishow.info/?vCXH0Q
  • Déployer HTTP/2, c'pas d'la tarte

    TL;DR : HTTP/2 est possible uniquement au-dessus de TLS avec nginx. HTTP/2 est possible avec ou sans TLS avec Apache httpd, mais, avec un système Debian GNU/Linux Stretch cela nécessite mpm_event ou mpm_worker (c'est recommandé par la fondation Apache pour Debian Buster et autres systèmes), ce qui, dans mon cas, signifie migrer préalablement vers PHP FPM. Bref, j'ai encore du taff.

    Que faire en 2020 pour avoir la hype alors qu'on est un retardataire blasé par le progrès technique ? Activer TLS 1.3, la nouvelle version du protocole de sécurisation (confidentialité, authenticité et intégrité) des communications sur Internet ? Le retardataire a uniquement des systèmes Debian Stretch qui livrent la version 1.1.0 d'OpenSSL. Or, la version 1.3 de TLS nécessite la version 1.1.1 d'OpenSSL au minimum.

    Bon bah alors, activer HTTP/2, le nouveau protocole qui soutient le web ? Faisons ça, avec Apache httpd et nginx.


    Apache httpd

    Avec la version d'Apache httpd packagée dans la version Stretch de Debian GNU/Linux, il n'est pas possible d'activer HTTP/2 avec le module de multitraitements mpm_prefork (source, confirmé par /usr/share/doc/apache2/NEWS.Debian.gz). Notons que la documentation officielle Apache httpd ne recommande pas d'activer HTTP/2 avec mpm_prefork et préconise plutôt l'utilisation de mpm_event.

    Oui, mais avec mpm_event (ou mpm_worker), il n'est pas possible d'utiliser le module PHP pour Apached httpd (car mpm_event est multithread, pas le module PHP). Il faut utiliser FPM ou FastCGI. Hé ouais, le retardataire utilise encore le module PHP…

    Du coup, le test de HTTP/2 se fait ainsi :

    • Dans la configuration d'Apache httpd, retirer toutes les directives de conf' qui dépendent du module PHP, comme « php_admin_value » ;

    • Désactiver le module PHP : a2dismod php7.0 ;

    • Remplacer mpm_prefork par mpm_event : a2dismod mpm_prefork && a2enmod mpm_event ;

    • mpm_event a besoin de la bibliothèque de fonctions libgcc_s sinon il ne traitera pas les requêtes et crachera en permanence ce qui suit dans le journal error.log : « child pid XXXXX exit signal Aborted (6) libgcc_s.so.1 must be installed for pthread_cancel to work ». Installons-la : apt-get install libgcc-6-dev ;

    • Si, comme moi, tu as chrooté ton Apache httpd (quelle très mauvaise idée, bis), il faut activer le chargement de cette bibliothèque avant le chroot() en ajoutant la ligne suivante dans /etc/apache/apache2.conf : LoadFile /usr/lib/gcc/x86_64-linux-gnu/6/libgcc_s.so.1 ;

    • On active HTTP/2 : a2enmod http2 ;

    • HTTP/2 est activé par le module lui-même (Protocols h2 h2c http/1.1 dans /etc/apache2/mods-available/http2.conf). On peut surcharger ça dans un serveur virtuel. Pour un serveur virtuel HTTPS (TLS), la ligne de config' est Protocols h2 http/1.1. Pour un serveur virtuel HTTP, la ligne de config' est : Protocols h2c http/1.1. On peut aussi mettre du h2c dans du TLS, le module sait faire avec même si ça produira aucun effet ;

    • HTTP/2 force l'utilisation de la version 1.2 de TLS et de SNI ainsi que la désactivation de la compression TLS et de la renégociation TLS. La norme impose également l'utilisation de suites de chiffrement décentes. L'agencement proposé par défaut par Apache httpd 2.4 dans Debian Stretch, « HIGH:!aNULL », fait le taff. Idem pour l'agencement que j'utilise : « ALL:!aNULL:!eNULL:!EXP:!RC4:!3DES:!MD5:!LOW:+HIGH:+MEDIUM ». Mais si ton installation est un peu ancienne, peut-être devrais-tu y jeter un œil, car, actuellement, le module http2 d'Apache httpd ne vérifie / corrige pas cela. Je note que la norme veut que le serveur puisse rejeter la communication si ces exigences ne sont pas satisfaites, pas qu'il le doit, et, dans la pratique, j'ai testé du HTTP/2 au-dessus de TLS 1.0 (et TLS 1.1) sans problème ;

    • On redémarre Apache httpd : systemctl restart apache2.


    nginx

    J'ai jamais eu de PHP sur mon serveur web géré par nginx et il y a jamais eu d'histoire de module de pré-traitement avec nginx. Du coup, l'activation d'HTTP/2 devrait être plus facile que pour Apache httpd, non ? Oui avec un serveur virtuel HTTPS (TLS), non avec un serveur virtuel HTTP.

    Dans un serveur virtuel HTTPS

    Source.

    • Il suffit de compléter la directive « listen » avec l'option « http2 ». Exemple chez moi : avant = « listen [::]:443 default_server ipv6only=off ssl » ; après : « listen [::]:443 default_server ipv6only=off ssl http2; » ;

    • HTTP/2 force l'utilisation de la version 1.2 de TLS et SNI ainsi que la désactivation de la compression TLS et de la renégociation TLS. La norme impose également l'utilisation de suites de chiffrement décentes. L'agencement proposé par défaut par nginx dans Debian Stretch, « HIGH:!aNULL:!MD5; », fait le taff. Idem pour l'agencement que j'utilise : « ALL:!aNULL:!eNULL:!EXP:!RC4:!3DES:!MD5:!LOW:+HIGH:+MEDIUM ». Mais si ton installation est un peu ancienne, peut-être devrais-tu y jeter un œil, car, actuellement, nginx ne vérifie / corrige pas cela. Je note que la norme veut que le serveur puisse rejeter la communication si ces exigences ne sont pas satisfaites, pas qu'il le doit, et, dans la pratique, j'ai testé du HTTP/2 au-dessus de TLS 1.0 (et TLS 1.1) sans problème ;

    • On redémarre nginx : systemctl restart nginx.


    Dans un serveur virtuel HTTP

    Sans TLS, le client web ne peut pas utiliser l'extension TLS ALPN (Application Layer Protocol Negociation) pour indiquer qu'il veut communiquer en HTTP/2.

    Le client web pourrait causer HTTP/1.1 et positionner l'entête « Upgrade: h2c » qui est l'un des mécanismes permettant de monter en HTTP/2, mais nginx ne permet pas cela.

    Il reste une possibilité : que le serveur positionne un entête HTTP Alternative Services qui indique au client que le même service est disponible en HTTP/2. Le client web cause alors en HTTP/2 en utilisant la méthode « prior knowledge » (différente de TLS + ALPN et de HTTP/1.1 + entête Upgrade). Sauf que, si l'on positionne la directive de configuration « http2 » sur une socket HTTP, nginx cause directement HTTP/2, donc pas de HTTP/1.1 (ou 1.0) avec un entête pour informer le client web. Donc le serveur virtuel devient accessible uniquement en HTTP/2. Il faudrait que le serveur virtuel port 80 positionne cet entête en redirigeant vers un serveur virtuel sur le port 81, par exemple. Sauf que, à ce jour, les clients web (cURL y compris) n'implémentent pas les services alternatifs HTTP.

    Si l'on veut, on peut activer HTTP/2 comme dans un serveur virtuel HTTPS et tester avec curl -D - --http2-prior-knowledge <URL>. Mais, pour rappel, ton site web ne sera plus accessible en HTTP/1.1 ou HTTP/1.0. Ni en HTTP/2 avec la plupart des clients web actuels.


    Tester

    Apache httpd ou nginx, il faut tester le bon fonctionnement des manipulations décrites ci-dessus.

    On peut tester avec curl -D - --http2 <URL> (« -D - » permet d'afficher les entêtes HTTP de la réponse, donc de vérifier la présence d'un « HTTP/2 » dès la première ligne).

    On peut aussi utiliser l'onglet réseau des outils de développement de Firefox, mais, attention si tu utilises HTTP (non sécurisé) : Firefox ne positionne pas l'entête HTTP/1.1 « Upgrade: h2c » qui est l'un des mécanismes permettant de monter en HTTP/2. Curl le positionne. Bref, toujours avoir un wireshark en bandoulière.

    On peut enfin regarder le journal des requêtes sur son serveur web, car la version y est mentionnée genre « GET / HTTP/2.0 ».



    Bref, HTTP/2 avec Apache httpd, ça fonctionne, mais ça nécessite que je migre du module PHP à PHP-FPM ou que je mette à jour mon système vers la version Buster de Debian. Avec nginx, HTTP/2 fonctionne uniquement au-dessus de TLS en attendant que les clients web prennent en charge les services alternatifs HTTP ou que nginx gère h2c (« HTTP/2 in clear ») sans connaissance préalable de la part du client.

    Sat Feb 8 18:44:18 2020 - permalink -
    - http://shaarli.guiguishow.info/?4oIWZQ
  • Debian : mise à jour paquet glpi 0.84 -> GLPI 9.4.5

    TL;DR : GLPI : logiciel web libre (GPL) de gestion d'un parc informatique : inventaire des machines-périphériques-réseau et de leur lieu géographique, stockage des contrats-facturation, gestion des stocks de consommables, tickets d'assistance, etc. Le package Debian glpi n'existe plus après Jessie. Il faut penser à passer à une version à jour installée à la mano. Le package gpli dépend de packages php5-*. Il faut migrer le moteur SQL utilisé par les tables GLPI de myisam à innodb avec un outil livré avec GLPI.

    Sur mon ordinateur de bureau Debian GNU/Linux Stretch, des paquets php5-* étaient encore installés alors que je suis sûr d'avoir migré en PHP 7 + FPM il y a des mois. Dépendances du package glpi… qui n'est plus mis à jour depuis Jessie. Je suis donc en version 0.84 (2013 !) alors que le monde est à la 9.4.5 (il y a eu un saut de versions entre 0.xx et 9.x, je te rassure).

    Je supprime et purge tout package php5-*.

    Je télécharge la dernière version stable de GLPI. tar -xf dans /var/www . Droits : sudo chown -R root:www-data /var/www/glpi && chmod -R g+w /var/www/glpi/files /var/www/glpi/config (ces droits d'écriture seront réclamés par l'installeur de GLPI).

    Flemme de créer un serveur virtuel Apache httpd alors que celui par défaut me convient. Flemme d'utiliser dpkg-divert pour éviter les conflits lors d'une mise à jour. J'ai décidé de créer un fichier /etc/apache2/conf-available/glpi.conf comme le package glpi l'avait fait (le « denied » nous sera demandé par GLPI lors de la première connexion après mise à jour) + sudo a2enconf glpi + sudo systemctl reload apache2 :

    Alias /glpi /var/www/glpi
    
    <Directory /var/www/glpi/files>
        Require all denied
    </Directory>

    On installe les modules PHP 7 strictement nécessaires à GLPI (donc pas imap ni ldap, ni cas, qui sont juste recommandés) : sudo apt-get install php-gd php-mbstring php-curl php-xml php-xml php-xmlrpc.

    On met à jour GLPI en suivant l'assistant web : http://127.0.0.1/glpi. Puis sudo rm -r /var/www/glpi/install.

    À partir de la première connexion, un message d'erreur s'affichera : « XXX tables not migrated to InnoDB engine ». Un outil de migration est disponible depuis la nouvelle console CLI GLPI. Je l'ai utilisé ainsi : sudo -u www-data php /var/www/glpi/bin/console glpi:migration:myisam_to_innodb.

    Fri Feb 7 22:38:19 2020 - permalink -
    - http://shaarli.guiguishow.info/?cb5R2A
  • Jouons avec le clavier virtuel de ma banque et mitmproxy

    Comme je l'ai écrit mardi, ma banque me fait désormais utiliser une saloperie de clavier virtuel pour saisir mon mot de passe de connexion à mon espace client sur son site web. Un mot de passe d'exactement 8 chiffres… Une saloperie de clavier qui fait chier en réduisant le confort d'utilisation tout en diminuant la sécurité du client que je suis.

    Un des points clés permettant de comprendre la diminution de la sécurité, c'est que ça fait belle lurette que les logiciels malveillants ne sont plus bloqués par les claviers virtuels. Il y a une multitude de méthodes pour récupérer le mot de passe malgré eux. Il y a les extensions malveillantes pour navigateurs web conçues pour retrouver la correspondance clic->image->chiffre. Il y a la traditionnelle capture vidéo de l'affichage. Il y a aussi la traditionnelle interception des flux réseaux, y compris ceux chiffrés (genre HTTPS). Les antivirus et les serveurs mandataires (proxy) d'entreprise / d'administration font ça depuis belle lurette aussi. Analyse HTTPS qu'ils disent. Pour notre sécurité qu'ils disent. Rien de nouveau : quand un attaquant est à l'une ou l'autre des extrémités d'une communication, il peut tout faire sans avoir à se donner la peine de casser le chiffrement soutenant la communication.

    J'ai eu envie de voir le clavier virtuel de ma banque sous l'angle d'une interception du trafic HTTPS. Évidemment, sur mon propre identifiant + mot de passe, tout ça, tout ça.

    Ça se fait très bien avec mitmproxy. J'ai découvert cet outil dans une causerie de l'ami Aeris au nom évocateur : Comment powned une application bancaire en 30 minutes.

    On installe mitmproxy sur un système Debian GNU/Linux : sudo apt-get install mitmproxy.

    On l'exécute : mitmproxy --socks ou mitmweb --socks si l'on veut l'interface web en suplément. --socks active le mode proxy SOCKS. Plusieurs modes sont disponibles.

    Le certificat d'une autorité de certification x509 maison est automatiquement généré dans .~/mitmproxy/mitmproxy-ca-cert.pem. On l'importe dans le catalogue des autorités de certification reconnues de notre navigateur web (Firefox : Édition -> Préférences -> Vie privée et sécurité -> Certificats -> Afficher les certificats -> Autorités -> Importer… -> choisir -> Confirmer cette AC pour identifier des sites web -> OK). J'utilise un profile Firefox vierge (firefox -p pour en créer un) afin de ne pas pourrir le mien et pour que seul le site web de ma banque soit intercepté (ça rend l'analyse plus lisible, moins de flux interceptés).

    Pour simplifier, je configure mitmproxy comme proxy SOCKS (127.0.0.1:8080) de mon navigateur web (Firefox : Édition -> Préférences -> Général -> bouton « Paramètres… » dans la rubrique « Paramètres réseau ». Comme ça, je n'ai pas besoin de conduire une "vraie" attaque de l'homme du milieu (sinon j'aurais choisi une machine virtuelle configurée en passerelle réseau de mon ordinateur et, pour une vraie de vraie attaque MitM, j'aurai sorti ettercap). Et ça nous permet de vivre comment agit un proxy installé dans une entreprise / administration au nom de la prétendue sécurité de celle-ci et au détriment de la vie privée des employés. ;)

    Je me connecte au site web de ma banque. Je saisis mon identifiant et je valide le formulaire. Ho, une requête HTTP POST a été capturée par mitmproxy. Son contenu :

    {
        "validate": {
            "<identifiant_unique_de_la_transaction>": [
                {
                    "id": "<identifiant_unique_de_la_transaction>", 
                    "login": "toto", 
                    "type": "IDENTIFIER"
                }
            ]
        }
    }

    Intéressant (oui, j'avais bien saisi « toto » comme identifiant).

    Le clavier virtuel s'est affiché. Je saisis mon code et je valide. Nouvelle requête HTTP POST :

    {
        "validate": {
            "<identifiant_unique_de_la_transaction>": [ 
                {
                    "type":"PASSWORD",
                    "id":"<identifiant_unique_de_la_transaction>",
                    "password":"9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 0711f5af-3e90-449f-bbe9-c55f08450a7d 92e47c70-00ab-4b88-95af-ab19cbad6644"
                }
            ]
        }
    }

    On voit clairement qu'il y a 8 groupes de blocs de chiffres… Comme les 8 chiffres de mon mot de passe.

    Si mon navigateur web a émis ceci, c'est qu'il a été préalablement informé de la marche à suivre. Il y a forcément une convention entre le serveur de ma banque et mon navigateur web. Regardons les échanges précédents dans mitmproxy :

    GET […]/api/v1u0/medias/images/imgb6ad9545-e3be-455f-9dd6-7b9e0de59c25 Content-Type: image/png
    GET […]/api/v1u0/medias/images/imgb7f60f3f-5dff-4ba8-a85c-9fbf938c03e0 Content-Type: image/png
    GET […]/api/v1u0/medias/images/img32e8d95a-67b7-409a-92ae-e200aedb0961 Content-Type: image/png
    GET […]/api/v1u0/medias/images/img9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 Content-Type: image/png
    GET […]/api/v1u0/medias/images/img8971b94e-7f4c-49c1-acb4-bce2b0db4498 Content-Type: image/png
    GET […]/api/v1u0/medias/images/img0711f5af-3e90-449f-bbe9-c55f08450a7d Content-Type: image/png
    GET […]/api/v1u0/medias/images/img4710dc98-9eae-4492-9cd3-a8250ee7c827 Content-Type: image/png
    GET […]/api/v1u0/medias/images/img92e47c70-00ab-4b88-95af-ab19cbad6644 Content-Type: image/png
    GET […]/api/v1u0/medias/images/img93292639-12e1-45c8-ba22-16107ad657d3 Content-Type: image/png
    GET […]/api/v1u0/medias/images/img9d799ee1-166a-43af-a750-bbe3e7286c6b Content-Type: image/png

    Ho bah dis donc, 10 fichiers image, comme les 10 chiffres du clavier virtuel ! Exemple : le fichier img9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 est une image du chiffre 6. Des fichiers son sont nommés selon la même nomenclature. Exemple : /api/v1u0/medias/sounds/snd9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 = chiffre 6. Ils sont utilisés par la version du clavier virtuel accessible aux handicapés visuel.

    Hum, dis donc, le nom d'un fichier contient un bloc de chiffres qui ressemble à ceux du JSON, non ? C'est bien ça. 9ad8e027-86d9-4f9e-8ae9-3114e6c6bc78 = 6. Donc mon mot de passe est 666666XX . 0711f5af-3e90-449f-bbe9-c55f08450a7d représente un 4 et 92e47c70-00ab-4b88-95af-ab19cbad6644 un 2. Donc mon mot de passe est 66666642. C'est bien ce que j'avais saisi sur le clavier virtuel, en tout cas.

    Pour info, le nom des fichiers images change à chaque tentative de saisie d'un mot de passe, tout de même.

    Évidemment, l'utilisation de mitmproxy est de trop puisque les outils de dév' de Firefox permettent de voir le nom des images ainsi que le mot de passe encapsulé en JSON dans la requête POST. Mais ça nous a fourni un alibi pour jouer avec mitmproxy. :D

    Du coup, ouais, n'importe quelle saloperie installée dans le navigateur web a accès à mon mot de passe, en JS ou autre… Et c'est à peine plus difficile à enregistrer que le contenu d'un champ XHTML standard. Les claviers virtuels, c'est du pipeau.

    Fri Feb 7 19:06:48 2020 - permalink -
    - http://shaarli.guiguishow.info/?7sZKlg
  • Tranquil IT - Solution de déploiement de logiciel et expertise Samba-AD

    Tranquil IT est une société commerciale française qui vend de la prestation autour de Samba 4 AD DC (implémentation libre d'un contrôleur de domaine Microsoft avec un niveau fonctionnel winwin 2008 R2) : formation / transfert de compétences, migration AD / Samba 3 vers Samba 4 AD DC, documentation Samba 4 en libre accès, etc.

    Elle développe également WAPT (Windows Apt), un logiciel libre (GPL) de gestion de parc avec inventaire et déploiement de logiciels et de configurations pour winwin, mais j'ai rien à en dire (pour l'instant ?). De quoi remplacer le vieillissant et plus maintenu wpkg ? Je ne sais pas (encore ?).

    Nous avons eu recours aux services de cette société pour nous former sur Samba 4 AD DC et préparer une maquette de notre architecture Samba 4 (plusieurs contrôleurs, BIND DLZ + délégation DNS, avitaillement des identités / comptes utilisateur depuis notre OpenLDAP, PRA Samba 4, etc.). Rien à signaler. Nous n'avons pas souscrit à sa prestation de migration, car cette dernière nécessitait un travail d'intégration (scripts, procédures, etc.) sur lequel nous voulions garder la main.

    Bref, une petite société commerciale qui fait vivre le logiciel libre.

    Thu Feb 6 21:58:00 2020 - permalink -
    - https://www.tranquil.it/
Links per page: 20 50 100
◄Older
page 72 / 279
Newer►
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community