Vue lecture

Souveraineté européenne : ce qu’il manque à l’Europe pour générer ses hyperscalers

Quoique les temps poussent l’Europe à une politique de souveraineté technologique, digitale et de protection des données, celle-ci prolonge son recours à des acteurs technologiques étrangers. Que manque-t-il au Vieux Continent pour donner naissance à ses propres géants ? Tribune par Benoit Trémolet, Directeur Général de Retarus France SAS – Si elles savent que les […]

The post Souveraineté européenne : ce qu’il manque à l’Europe pour générer ses hyperscalers first appeared on UnderNews.
  •  

DeepSeek fait face à une recrudescence de questionnement sur la sécurité des données

L’agence tchèque de cybersécurité NÚKIB a émis un avertissement de haut risque contre l’utilisation des produits et services de la société d’IA DeepSeek, invoquant des préoccupations concernant la transmission de données, la dés-anonymisation des utilisateurs et l’accès de l’État chinois aux données personnelles. L’avertissement s’applique aux systèmes liés aux infrastructures critiques et est juridiquement contraignant […]

The post DeepSeek fait face à une recrudescence de questionnement sur la sécurité des données first appeared on UnderNews.
  •  

« Nous nous excusons », s'incline Microsoft à propos d'une erreur en lien avec la grosse mise à jour Windows 11 24H2, l'expérience utilisateur sous Windows les pousse de plus en plus vers Linux

« Nous nous excusons », s'incline Microsoft à propos d'une erreur en lien avec la grosse mise à jour Windows 11 24H2
L'expérience utilisateur sous Windows les pousse de plus en plus vers Linux

Microsoft vient de s'excuser à propos d'une erreur en lien avec la grosse mise à jour Windows 11 24H2. C'est un bogue qui signale une erreur critique du pare-feu au travers de l'observateur d'événements. Ce dernier est apparu pour la première fois dans la mise à jour facultative de juin 2025 (KB5060829), mais...

  •  

Les cyberattaques mondiales augmentent de 21 % au deuxième trimestre 2025, l’Europe enregistre la plus forte hausse parmi toutes les régions

Rapport sur les menaces Check Point Research T2 2025. Les cyberattaques mondiales augmentent de 21 % au deuxième trimestre 2025. L’Europe enregistre la plus forte hausse parmi toutes les régions. Check Point Research révèle une augmentation spectaculaire de 21 % des cyberattaques mondiales au T2 2025, le secteur de l’éducation est en première ligne avec […]

The post Les cyberattaques mondiales augmentent de 21 % au deuxième trimestre 2025, l’Europe enregistre la plus forte hausse parmi toutes les régions first appeared on UnderNews.
  •  

KnowBe4 Phishing report 2ème trimestre 2025 : les sujets liés à l’interne représentent 98 % des e-mails les plus ouverts

Le rapport récapitulatif de KnowBe4 pour le deuxième trimestre 2025 met en lumière la vulnérabilité persistante des employés face aux courriels malveillants d’apparence familière, émanant des RH, du service informatique ou de grandes marques Tribune – KnowBe4, plateforme de cybersécurité de renommée mondiale spécialisée dans la gestion globale des risques humains, publie aujourd’hui son rapport […]

The post KnowBe4 Phishing report 2ème trimestre 2025 : les sujets liés à l’interne représentent 98 % des e-mails les plus ouverts first appeared on UnderNews.
  •  

Vacances d’été : Zimperium alerte sur la hausse des menaces mobiles

Plus de 5 millions de réseaux Wi-Fi publics non sécurisés détectés depuis début 2025 ; 33 % des utilisateurs continuent de s’y connecter malgré les risques. Tribune Zimperium — Alors que les déplacements s’intensifient pendant les vacances d’été, Zimperium, leader mondial de la sécurité mobile, met en garde les entreprises contre une recrudescence des cybermenaces […]

The post Vacances d’été : Zimperium alerte sur la hausse des menaces mobiles first appeared on UnderNews.
  •  

Protection des enfants – Vérification de l’âge des utilisateurs en ligne

La Commission européenne a annoncé que cinq pays européens, dont la France, allaient tester une application permettant de vérifier l’âge des utilisateurs en ligne afin de protéger les enfants en les empêchant d’accéder à des contenus non appropriés. Tribune.   Ci-dessous, le commentaire de Zakaria Hajiri, Vice-Président Europe du Sud chez Ping Identity :   […]

The post Protection des enfants – Vérification de l’âge des utilisateurs en ligne first appeared on UnderNews.
  •  

Installation simplifiée de Vaultwarden sur Debian avec APT

Un petit mémo sur l’installation de Vaultwarden sous Debian en utilisant le gestionnaire de paquet Apt.

L’utilisation du paquet Vaultwarden proposé via le dépôt communautaire vaultwarden-deb présente de nombreux avantages pour une installation sur Debian 12.

Cette méthode permet une mise en place rapide et propre grâce à l’intégration native dans le système APT : l’installation se fait en quelques commandes, et les futures mises à jour peuvent être appliquées automatiquement via apt upgrade.

Le service vaultwarden.service est également préconfiguré pour s’intégrer parfaitement à systemd, ce qui simplifie son démarrage, sa surveillance et sa gestion.

De plus, le web vault est déjà intégré, les fichiers de configuration sont centralisés dans /etc/vaultwarden.env, et aucun composant supplémentaire (comme Docker ou Rust) n’est requis.

Bien que ce dépôt ne soit pas officiel, il est activement maintenu par la communauté et constitue une solution fiable pour ceux qui souhaitent une instance Vaultwarden fonctionnelle, maintenable et bien intégrée à leur système Debian.

Vaultwarden

Vaultwarden est une alternative légère, auto-hébergeable et open source au gestionnaire de mots de passe Bitwarden. Écrit en Rust, il consomme peu de ressources tout en restant compatible avec les applications officielles Bitwarden (navigateur, desktop, CLI).

Il permet de stocker et partager en toute sécurité des identifiants, notes et secrets via une interface web moderne ou des clients natifs.

Idéal pour les petites équipes ou un usage personnel, Vaultwarden peut être déployé sans Docker et s’intègre facilement à un reverse proxy comme Nginx.

Installation de Vaultwarden

  • Ajout du dépôt non officiel vaultwarden-deb et installation du paquet vaultwarden :
    wget -qO- https://vaultwarden-deb.pages.dev/dists/bookworm/install.sh | sudo bash
    sudo apt update
    sudo apt install vaultwarden
    
    • Voici la liste des paquets qui seront installés :
  • Création du mot de passe pour le compte admin :
  • vaultwarden hash
  • Renseigner le mot de passe du compte admin dans /etc/vaultwarden.env :
  • nano /etc/vaultwarden.env
    ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=4$mD6bDLcfO6p3Hop0O8TFCfGMifdFK15IoPnEmuWMdKk$rVJzBHPHSBXGTCHSJIJSHGSHhW/6qon80m2xbxPB8fgmRQOHo'
  • Relancer le service vaultwarden :
  • systemctl restart vaultwarden
  • Installation su serveur web Nginx pour le revers proxy :
  • apt install nginx -y
  • Création du certificat autosigné :
  • mkdir -p /etc/nginx/ssl
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/vaultwarden.key -out /etc/nginx/ssl/vaultwarden.crt -subj "/C=FR/ST=Local/L=Local/O=LocalOrg/OU=Local/CN=vaultwarden.domaine.local"
  • Copie du certificat autosigné au système :
  • cp /etc/nginx/ssl/vaultwarden.crt /usr/local/share/ca-certificates/vaultwarden.crt
    update-ca-certificates
  • Configuration du serveur web :
  • nano /etc/nginx/sites-enabled/vaultwarden
    server {
        listen 443 ssl;
        server_name vaultwarden.domaine.local;
    
        ssl_certificate /etc/nginx/ssl/vaultwarden.crt;
        ssl_certificate_key /etc/nginx/ssl/vaultwarden.key;
    
        location / {
            proxy_pass http://127.0.0.1:8000;  # Vaultwarden écoute en HTTP
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
    # Rediriger le HTTP vers HTTPS
    server {
        listen 80;
        server_name vaultwarden.domaine.local;
    
        return 301 https://$host$request_uri;
    }
    
  • Vérification de la configuration du serveur web :
  • nginx -t
  • Relance du serveur web :
  • systemctl restart nginx
  • Test de l’accès de l’interface web de vaultwarden https://vaulwarden.domaine.local/admin puis saisir le mot de passe du compte admin :
  • Il ne reste plus qu’à configurer tous les paramètres de vaultwarden :
  • Pour ajouter un nouvel utilisateur, aller dans l’onglet Users puis saisir la boite mail pour envoyer une invitation :
  • Ressource

    •  

    FileFix : la nouvelle attaque d’ingénierie sociale basée sur ClickFix

    Check Point Research explique comment la nouvelle technique d’ingénierie sociale, FileFix, est activement testée par des acteurs malveillants. Tribune. FileFix est une attaque d’ingénierie sociale récemment découverte, qui repose sur la tactique largement détournée appelée ClickFix. Contrairement à ClickFix, qui incite les utilisateurs à exécuter des commandes malveillantes via la boîte de dialogue Exécuter de […]

    The post FileFix : la nouvelle attaque d’ingénierie sociale basée sur ClickFix first appeared on UnderNews.
    •  

    Une étude Gigamon révèle un manque de visibilité et des inquiétudes grandissantes face à l’IA pour les décideurs IT et sécurité français

    Gigamon, un leader de l’observabilité avancée, révèle dans sa nouvelle étude sur la sécurité du cloud hybride que les entreprises françaises sont confrontées à une augmentation des menaces de cybersécurité, souvent sans les moyens adéquats pour y répondre efficacement. Entre compromis en matière de sécurité, manque de visibilité sur le cloud hybride et inquiétudes autour […]

    The post Une étude Gigamon révèle un manque de visibilité et des inquiétudes grandissantes face à l’IA pour les décideurs IT et sécurité français first appeared on UnderNews.
    •  

    Cyber : les semi-conducteurs Taiwanais ciblés par la Chine

    Les chercheurs de la société de cybersécurité Proofpoint publient aujourd’hui une nouvelle analyse révélant l’intensification des opérations de cyberespionnage chinoise visant l’industrie critique des semi-conducteurs à Taïwan. Les conclusions révèlent un effort concerté et croissant de la part de plusieurs acteurs malveillants soutenus par l’État pour infiltrer et recueillir des renseignements dans ce secteur vital. […]

    The post Cyber : les semi-conducteurs Taiwanais ciblés par la Chine first appeared on UnderNews.
    •  

    Kaspersky révèle un vol de 500 000 dollars en crypto-monnaie via des programmes malveillants ciblant les utilisateurs de Cursor

    Les experts du GReAT (Global Research and Analysis Team) de Kaspersky ont découvert des paquets open-source qui téléchargent le backdoor Quasar et un stealer conçu pour exfiltrer des cryptomonnaies. Ces paquets malveillants sont destinés à l’environnement de développement Cursor, qui est basé sur Visual Studio Code, un outil utilisé pour le codage assisté par l’IA. […]

    The post Kaspersky révèle un vol de 500 000 dollars en crypto-monnaie via des programmes malveillants ciblant les utilisateurs de Cursor first appeared on UnderNews.
    •  

    Linux atteint 5 % de parts de marché aux USA et passe en un an de 3 % à 4,28 % en France, selon Statcounter : Une croissance qui trouve une explication dans le malaise des utilisateurs de Windows 10 et 11

    Linux atteint 5 % de parts de marché aux USA et passe en un an de 3 % à 4,28 % en France, selon Statcounter : Une croissance
    Qui trouve une explication dans le malaise des utilisateurs de Windows 10 et 11

    Linux a atteint la barre de 5 % de parts de marché sur le desktop aux Etats-Unis. En un an, l'OS est passé de 3 % à 4,28 % de parts en France, d'après les dernières données de Statcounter. C'est une croissance qui trouve son explication dans le malaise des utilisateurs de Windows 10 et Windows...

    •  

    Des nouvelles de Fortran n°7 - juillet 2025

    Dans les actualités Fortran, on abordera en particulier la troisième édition de la conférence internationale Fortran, la sortie officielle du nouveau compilateur Flang dans LLVM et les actualités du gestionnaire de paquets fpm. Et comme c'est bientôt les vacances, on terminera par une section consacrée à Fortran dans la culture populaire, où l'on apprendra entre autres que le Nostromo avait un neuvième passager…

    Sommaire

    Appel à contributions pour FortranCon 2025

    FortranCon 2025 est la troisième édition de la conférence internationale sur le développement et l'utilisation du langage de programmation Fortran, et aura lieu les 4 et 5 novembre 2025. Avec cette conférence, nous avons l'intention de rassembler les développeurs actifs du projet Fortran dans tous les domaines : les développeurs de bibliothèques et d'outils ainsi que les personnes utilisant Fortran pour développer des applications scientifiques, afin de partager leur expérience et d'échanger des idées. L'événement est organisé sur Zoom grâce aux contributions de la communauté pour la communauté.

    Le discours d'ouverture sera prononcé par John Reid, membre actif du comité Fortran de l'ISO/IEC JTC1/SC22/WG5 (et animateur du comité de 1999 à 2017). C'est également l'un des auteurs du livre de référence Modern Fortran explained, dont la sixième édition (couverture orange) inclut Fortran 2023.

    Les vidéos des présentations des éditions 2020 et 2021 sont toujours en ligne sur la chaîne YouTube FortranCon.

    Dates limites

    • Inscription (gratuite) : 15 octobre 2025.
    • Premier appel à résumés : 1er août 2025 (décisions envoyées avant le 30 août 2025).
    • Deuxième appel à résumés : 1er septembre 2025 (décisions envoyées avant le 30 septembre 2025).

    Sur le front des compilateurs

    Compilateurs opérationnels

    Flang (LLVM)

    Dans LLVM 20.1, sorti en mars 2025, flang-new a été rebaptisé flang et remplace son prédécesseur du même nom. Il s'agit donc du lancement officiel de ce nouveau compilateur soutenu par NVIDIA et le Département de l’Énergie américain, après sept ans de développement. Un article très complet du blog LLVM relate cette longue aventure :

    La doc de Flang présente même une pierre de Rosette pour les gens connaissant le C ou le C++ et souhaitant débuter en Fortran.

    Intel ifx

    Intel ifx (basé sur LLVM) est actuellement en version 2025.2.0, avec en particulier quelques améliorations du côté Fortran 2023 et OpenMP 6.0, par rapport à la 2025.1.0 qui améliorait également ces deux points.

    GFortran (GCC)

    GFortran est en version 15.1. Attention, les fichiers .mod générés par GFortran 15 ne sont pas compatibles avec les versions antérieures. Si vous ne savez pas de quoi je parle, les .mod c'est un peu l'équivalent des fichiers headers .h en C, mais en pire puisque ce sont des fichiers binaires pas normalisés, donc pas interopérables entre les différents compilateurs Fortran, voire comme ici entre différentes versions. Bref, pas glop !

    Parmi les six projets GCC du GSoC 2025, on en trouve un pour améliorer la prise en charge par GFortran de certaines fonctionnalités des normes Fortran 2018 et 2023. Le compilateur libre a également reçu 360 k€ de la Sovereign Tech Agency allemande, en particulier pour offrir un support direct des coarrays (co-tableaux) pour le calcul parallèle sur systèmes à mémoire partagée (pour l'instant il est nécessaire d'installer la bibliothèque OpenCoarrays pour les utiliser avec GFortran).

    En gestation

    Le développement du compilateur LFortran continue. Il s'approche tranquillement de la version beta, compilant déjà huit bibliothèques Fortran matures sur les dix définies pour ce jalon. On notera d'ailleurs que parmi les cinq projets de la communauté Fortran-lang du GSoC 2025, un projet a pour objectif de réussir à compiler le gestionnaire de paquets fpm avec LFortran. Une bonne façon de faire progresser le compilateur !

    Fedora ou F comme Fortran ?

    Une des meilleures distributions Linux pour faire du Fortran est peut-être Fedora. On trouve en effet directement dans ses dépôts pas moins de trois compilateurs Fortran libres en versions récentes : GFortran (GPL), Flang (licence Apache) et LFortran (licence BSD). Quand à Intel ifx, on pourra facilement l'installer par exemple dans un environnement Conda (paquet ifx_linux-64). Et avec la Fedora Rawhide, c'est bien sûr encore plus saignant (bleeding edge) au niveau des versions !

    Communauté Fortran-lang

    Projets Fortran-lang

    fpm

    Le gestionnaire de paquets Fortran fpm est disponible en version 0.12 depuis le 18 mai 2025. Parmi les nouveautés, on notera :

    • un fichier compile_commands.json exporté par défaut à chaque fois que l'on construit un projet avec fpm, ce qui facilitera son intégration avec d'autres outils, en particulier les IDE.
    • Deux nouveaux métapackages disponibles : BLAS/LAPACK et NetCDF.
    • La possibilité de générer des bibliothèques partagées, et non plus uniquement statiques.

    Du côté des greffons, on citera fpm-modules et fpm-deps qui permettent de visualiser les dépendances d'un projet fpm à l'aide d'outils tels que Mermaid ou Graphviz.

    Quelques projets divers

    • Fortitude 0.7.3 : un linter Fortran sous licence MIT, écrit en Rust et installable via Python.

    • Seer : une interface graphique pour gdb pour Linux, qui prend en charge de nombreux langages, dont Fortran. Licence GPL 3.0.

    • Codee commercialise un analyseur de code Fortran / C / C++ et un formateur de code Fortran. Ce dernier peut néanmoins être utilisé gratuitement pour un usage personnel. « Codee se distingue en tant que plateforme de développement Fortran, C et C++, en favorisant la correction du code, la modernisation, la sécurité, la portabilité et l'optimisation afin d'aider les développeurs à fournir des logiciels rapides, faciles à maintenir et fiables, conformes aux normes de l'industrie. » Codee vient de sortir en version 2025.3.

    Fortran et culture populaire

    Alien

    Comme vous le savez peut-être, le Nostromo est le vaisseau spatial du film Alien (1979). Lors de l'atterrissage sur la lune Acheron LV-426, l'ordinateur de bord affiche un modèle 3D de son relief. Sur cet extrait sur YouTube, vous pouvez le voir plusieurs fois à partir de l'instant 2:28. Ce modèle est présenté par son auteur dans l'article suivant :

    Le code ne faisait que 14 pages de code FORTRAN et son auteur explique :

    Le matériel utilisé était un Prime 300 connecté à un FR 80 de III (Information International, Inc.) qui peut tracer directement sur pellicule. Le logiciel d'animation Frolic, développé par C. Emmett, tournait sur ce système dans les laboratoires du SRC à Oxfordshire.

    Mon programme était écrit en FORTRAN avec des appels aux sous-routines Frolic.

    Années 70 obligent, le graphisme n'est pas sans rappeler le signal du pulsar CP1919 tracé informatiquement par Harold D. Craft Jr dans sa thèse soutenue en 1970 et popularisé par Peter Saville sur la pochette de l'album Unknown Pleasures, dont je vous avais déjà parlé. Quarante-six ans après la sortie du film Alien, on pourra s'amuser de constater que n'importe quelle voiture actuelle a un écran couleur bien plus high-tech que celui du Nostromo ! Mais dix ans avant, le premier alunissage avait eu lieu avec une informatique et une électronique qui semblent aujourd'hui rudimentaires. C'est que se déplacer est avant tout un problème de mécanique (éventuellement céleste). Côté déplacement, le Nostromo reste quand même très largement en avance sur les starships actuels.

    Fortran dans les dessins animés américains

    Le langage semble avoir laissé des traces, plutôt bienveillantes, chez les (vieux) étudiants américains :

    • Dans la série d'animation Futurama, Olde Fortran est une marque de liqueur de malt (bière forte) consommée par le robot Bender, une sorte de boisson énergisante pour lui. On y voit aussi des jackpots Wheel of Fortran (roue de la fortune… Algorithme Monte Carlo ?).
    • Dans Les Simpson, épisode « L'homme qui vint pour être le dîner » (2015), un extraterrestre dit à 1:23 :

    « En tant que jeunes choses insignifiantes, nous sommes éduqués dans la sagesse de l'univers. Physique, mathématiques, FORTRAN - le plus grand des langages de programmation ! »
    (“As young thinglings, we are schooled in the wisdom of the universe. Physics, mathematics, FORTRAN - the greatest of the programming languages!”)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    La distribution Linux GParted Live 1.7.0 abandonne la prise en charge 32 bits, améliore la gestion des périphériques et ajoute un mécanisme pour réduire l'ordre aléatoire des périphériques de bloc

    La distribution Linux GParted Live 1.7.0 abandonne la prise en charge 32 bits, améliore la gestion des périphériques et ajoute un mécanisme pour réduire l'ordre aléatoire des périphériques de bloc.

    GParted Live 1.7.0-8 a été publié. Alimenté par le noyau Linux 6.12.37-1 et basé sur le dépôt Debian Sid (Debian 13) du 12 juillet 2025, GParted Live 1.7.0-8 est disponible cinq mois et demi après GParted Live 1.7.0-1 afin d'implémenter un mécanisme qui réduit la possibilité d'un ordre aléatoire des périphériques...

    •  

    Comment installer Forgejo (Gitea fork) sur Debian 12

    Un petit mémo sur comment installer Forgejo sur Debian 12 en utilisant les paquets officiels.
    La procédure repose sur le système de paquets APT pour simplifier l’installation, la mise à jour et l’intégration avec systemd.
    Elle permet ainsi de déployer rapidement une forge Git auto-hébergée.

    Forgejo

    Forgejo est un logiciel libre sous licence MIT, léger, dérivé de Gitea, qui permet de gérer facilement ses dépôts GIT, des tickets, requêtes de fusion et de la documentation.

    Son objectif est de fournir une alternative communautaire, ouverte et éthique pour l’hébergement collaboratif de code, avec une interface web légère.

    Installation de Forgejo sur Debian 12

    • Basculer sur le compte root :
    su -
  • Mettre à jour le système :
  • apt update && apt full-upgrade -y
  • Installer les dépendances pour APT via HTTPS :
  • apt install wget apt-transport-https
  • Télécharger Forgejo :
  • wget --content-disposition "https://code.forgejo.org/forgejo-contrib/-/packages/debian/forgejo-deb-repo/0-0/files/10103"
  • Installer le paquet forgejo-deb-repo_0-0_all.deb via apt :
  • apt install ./forgejo-deb-repo_0-0_all.deb
  • Rafraîchir la liste des paquets :
  • apt update
  • Mettre à jour les paquets :
  • apt full-upgrade -y
  • Choisir la variante de Forgejo à installer :
    • Le dépôt propose 2 paquets :
      • Version avec sqlite (version choisie ici) :
      apt install forgejo-sqlite
    • Version avec base de données PostgreSQL ou MariaDB:
    apt install forgejo
  • Une fois installé, vérifier le statut du service :
    systemctl status forgejo
    ● forgejo.service - Forgejo (Beyond coding. We forge.)
         Loaded: loaded (/lib/systemd/system/forgejo.service; enabled; preset: enabled)
         Active: active (running) since Wed 2025-07-16 11:08:18 CEST; 3s ago
       Main PID: 2899 (forgejo)
          Tasks: 10 (limit: 2301)
         Memory: 81.2M
            CPU: 513ms
         CGroup: /system.slice/forgejo.service
                 └─2899 /usr/bin/forgejo web --config /etc/forgejo/app.ini
    
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:111:showWebStartupMessage() [I] Forgejo version: 7.0.15+gitea-1.21.11 built with GNU Make 4.3, go1.23.9 : sqlite, sqlite_unlock_no>
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:112:showWebStartupMessage() [I] * RunMode: prod
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:113:showWebStartupMessage() [I] * AppPath: /usr/bin/forgejo
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:114:showWebStartupMessage() [I] * WorkPath: /var/lib/forgejo
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:115:showWebStartupMessage() [I] * CustomPath: /var/lib/forgejo/custom
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:116:showWebStartupMessage() [I] * ConfigFile: /etc/forgejo/app.ini
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:117:showWebStartupMessage() [I] Prepare to run install page
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:304:listen() [I] Listen: http://0.0.0.0:3000
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 cmd/web.go:308:listen() [I] AppURL(ROOT_URL): http://localhost:3000/
    juil. 16 11:08:18 forgejo forgejo[2899]: 2025/07/16 11:08:18 ...s/graceful/server.go:50:NewServer() [I] Starting new Web server: tcp:0.0.0.0:3000 on PID: 2899
    
  • Changer le port d’écoute de Forgejo

    Ici, le serveur Forgejo est installé sur un réseau local et n’est pas directement exposé à Internet. Son port d’écoute restera le port par défaut, 3000. Cependant, grâce à Nginx, il est possible de le rendre accessible sur un autre port ; dans cet exemple, ce sera le port 80 pour l’accès à l’interface web.

    • Installer Nginx :
    apt install nginx
  • Exemple minimal de reverse proxy Nginx en écoute sur le port 80 et proxy-passer sur 3000 en local :
  • nano /etx/nginx/sites-enabled/forgejo
    server {
        listen 80;
        server_name forgejo.domaine.tld;
    
        location / {
            proxy_pass http://localhost:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
  • Relancer le service Nginx :
  • systemctl restart nginx
  • Test accès de l’interface web de Forgejo et pour finaliser l’installation de Forgejo, vérifier les information cliquer sur le bouton « Installer Forgejo : :

  • Une fois l’instllation terminée, creer un premier utilisateur en cliquant sur « Enregistrement » :
  • Renseigner les champs et cliquer sur « Créer un compte » :
  • Ressource

    •  

    Cybersécurité IoT : Keyfactor liste les 10 étapes clés pour anticiper les menaces et se conformer aux nouvelles exigences réglementaires

    Alors que les cybermenaces ciblant les objets connectés ne cessent d’augmenter et face à l’arrivée de nouvelles réglementations obligatoires comme le Cyber Resilience Act (CRA), la sécurisation du cycle de vie des appareils (dès leur conception) est au cœur des préoccupations des entreprises. Dans un contexte, où 48 % des OEM[1] estiment que les fabricants […]

    The post Cybersécurité IoT : Keyfactor liste les 10 étapes clés pour anticiper les menaces et se conformer aux nouvelles exigences réglementaires first appeared on UnderNews.
    •  

    Cryptographie embarquée : briques de base et communication avec serialguard

    Il était une fois un petit ESP32, installé dans une cave, qui voulait communiquer avec son copain sur le toit pour envoyer des données par 4G. Il parlait peu, donc il pouvait utiliser la norme radio LoRa. Elle est à bas débit, mais permet une portée bien plus grande qu’une modulation classique. Le problème, c’est qu’il parlait en clair, et que n’importe qui pouvait écouter ou pire : injecter de fausses données, voire corrompre le serveur distant.

    Le protocole de communication à la mode est celui de Signal, utilisé aussi par WhatsApp et Messenger. Un autre protocole en vogue est WireGuard, dont l’objectif est d’offrir un VPN léger pour Linux, en s’appuyant sur un ensemble restreint de briques cryptographiques modernes et fortement recommandées, qui ne sont plus laissées au choix de l’utilisateur.

    L’idée était donc de trouver une implémentation de ce type pour l’embarqué. Eh bien, je n’ai presque rien trouvé.

    Sommaire

    Briques de base

    TLS est la référence absolue pour tous les algos, mais c’est à vous de faire votre choix. Libsodium est une implémentation des derniers algos recommandés et fait le choix pour vous. Ces deux bibliothèques sont énormes et sont optimisées pour PC. Un professeur de cryptographie a écrit une série de tweets qui contient une petite lib qui reprend les algorithmes de libsodium en version auditable (https://tweetnacl.cr.yp.to/). Mais elle est lente.

    Une autre personne écrit ce que je cherche : Monocypher. C’est un fichier .c avec les algo principaux de libsodium et qui compile en pur C sans dépendance ! C’est parfait pour mon besoin.

    Cette bibliothèque fournit uniquement les briques de base, on est très loin d’un protocole Signal. Quand on parle de cryptographie, on pense à AES pour le chiffrement symétrique, à RSA pour le chiffrement à clef publique et la signature, aux hashs SHA1 ou SHA512 pour un hash de qualité cryptographique. Les propriétés nécessaires sont fascinantes mais cela ne dit pas comment bien les utiliser ensuite.

    Le chiffrement symétrique

    Il s’agit de chiffrer un bloc avec une clé de taille fixe. Le représentant le plus connu est AES, avec des clés de 128 ou 256 bits. On a un bloc, on a une clé, et on obtient un bloc plus ou moins aléatoire. AES utilise des modes (GCM, XTS, …) pour renforcer le mélange et garantir la sécurité selon différents contextes.

    Ici, l’algorithme recommandé est ChaCha20. Pas besoin de mode externe : tout est prévu dans l’algorithme de base.

    Au déchiffrement, la brique ne se pose pas de question : si la donnée a été altérée, le résultat le sera aussi.Il faut donc ajouter un protocole d’authentification, qui utilise la même clé et un hash pour vérifier l’intégrité. Les algorithmes classiques sont MAC, HMAC, mais il est facile de faire une erreur dans leur utilisation.

    Monocypher utilise Poly1305 pour authentifier le message (AEAD – Authenticated Encryption with Associated Data). Son API combine XChaCha20 et Poly1305, ce qui évite de se poser des questions : en cas de modification du message chiffré, la fonction de déchiffrement renvoie une erreur explicite.

    Cette fonction nécessite un NONCE ("Number used once"), qui doit être différent à chaque appel.

    Le hash

    Un hash prend un bloc de données, fait une grosse salade et rend un chiffre de taille fixe avec de bonnes propriétés crypto. Le but est d’avoir une empreinte de taille fixe pour un bloc de données, et qu’il soit impossible de forger un hash identique en modifiant un peu les données d’origine. En gros.

    Le hash recommandé est BLAKE2b : “as secure as SHA-3 and as fast as MD5”. Il fait 256 ou 512 bits.

    “Password hashing” ou la création de clef à partir de mot de passe

    Lorsqu’un mot de passe est saisi, il n’est jamais utilisé tel quel : il est d’abord transformé en une valeur de taille fixe via une fonction de hachage. Pour contrer les attaques par force brute, on a commencé par appliquer des centaines d’itérations de SHA1, avant d’adopter des fonctions de hachage volontairement lentes, comme bcrypt ou scrypt. Le but étant justement d’éviter qu’elles soient rapides, contrairement aux fonctions de hachage classiques.

    Aujourd’hui, Argon2 est recommandé.

    Chiffrement à clef publique

    L’image est souvent celle d’un cadenas ouvert : n’importe qui peut fermer le cadenas, mais seul le possesseur de la clef peut l’ouvrir. RSA a été le premier algorithme inventé avec cette propriété. Aujourd’hui, la mode est aux courbes elliptiques avec X25519.

    La fonction principale est basée sur l’échange Diffie-Hellman (DH). C’est le truc magique de la crypto asymétrique.

    DH(Clef publique de A, Clé privée de B) = DH(Clef publique de B, Clé privée de A) = N

    Sans une clef privée, il est cryptographiquement impossible de retrouver N.

    Comment créer une clef privée ? C’est simplement 32 octets très aléatoires. Toute la sécurité dépend de cela. On se rappelle de la faille Debian utilisant un générateur prévisible en 2008.

    Générateur d’aléatoire

    Pour faire de la cryptographie sérieusement, il faut un vrai générateur aléatoire de qualité cryptographique. Monocypher, par exemple, n’en fournit pas, car cela dépend trop du matériel utilisé. C’est donc à vous d'en fournir un correct.

    Ne surtout pas utiliser random() ou rand() : ces fonctions ne sont pas prévues pour la sécurité. Elles offrent souvent à peine 32 bits d’entropie, ce qui signifie qu’elles peuvent générer des valeurs qui tournent en boucle après seulement 4 milliards de cas, ce qui est trivial à explorer pour un attaquant moderne.

    Un bon générateur s’appuie sur des sources d’entropie, autrement dit, des phénomènes imprévisibles : le bruit du système, les délais entre événements, la température, etc. Ensuite, ces sources sont mélangées (souvent via un gros hash) pour produire des nombres avec des propriétés statistiques solides.

    Par exemple, Linux collecte plein de métriques internes (activité réseau, mouvements de la souris, etc.) pour alimenter son générateur aléatoire /dev/urandom.

    Côté matériel, certaines plateformes proposent un vrai générateur physique : il peut mesurer le bruit électrique à travers une diode via un convertisseur analogique-numérique (ADC), ou encore exploiter les légères variations de vitesse d’oscillateurs internes (anneaux d’inverseurs), qui sont ensuite mélangées avec des circuits comme des LFSR combinés via XOR.

    Utilisez le générateur cryptographique fourni par votre plateforme (par exemple getrandom(), arc4random(), ou un TRNG matériel si vous êtes en embarqué).

    Il ne faut pas se créer son propre générateur sans savoir exactement ce que l’on fait. Le pire étant de réutiliser des données (des clefs par exemple) pour générer d’autres nombres. On crée ainsi une énorme dépendance entre eux, qui n’ont plus rien d’aléatoire.

    Les dernières failles des imprimantes Brother proviennent du fait que les mots de passe d’administration sont dérivés de leur numéro de série (!).

    Signature

    On a un bloc de données, on signe avec une clef privée, on vérifie la signature avec la clef publique.

    Monocypher propose EdDSA.

    Serial Guard, le protocole de communication

    Il ne faut pas créer sa propre cryptographie, c’est trop facile de se tromper. C’est pourtant exactement ce que j’ai fait. La suite peut donc contenir des erreurs. L’idée est de créer un protocole léger de communication. Si des experts passent par là et voient une horreur, qu’ils n’hésitent pas à crier.

    On a maintenant les blocs de base. Et il faut maintenant les agencer comme il faut. On veut que A communique avec B (Alice et Bob), sans que E puisse comprendre les messages, insérer des messages, modifier des messages, rejouer des messages, récupérer les messages dans le futur s’il a tout enregistré et récupérer les clefs privées.

    Dans le monde de l’embarqué « simple », on communique avec des read et des write sur lien série. L’idéal est d’avoir à peu près la même API.

    Il faut réduire au minimum l’échange d’informations préalable pour être le plus léger possible.

    Je laisse de coté le "framing", c'est à dire la mise en paquet pour être envoyé sur un lien physique. Un lien série envoie des octets, serialguard fonctionne par paquets d'octet. Il faut reconstituer un paquet avant de l'envoyer dans la bibliothèque.

    La base est d’avoir une clef privée chacun, à longue durée de vie. Cela permet de s’authentifier selon le principe : si c’est toujours la même clef depuis l’installation, c’est toujours le même pair : TOFU.

    Si on a besoin de faire mieux, il faudrait qu’une « clef de confiance » signe cette clef. Mais on entre dans les méandres complexes d’une public key infrastructure, des certificats ou des web of trust type GPG.

    Pour pouvoir tout de même changer une clef privée à long terme, tout en ayant de la sécurité pour éviter les man-in-the-middle, il faut garder un secret partagé dans tous les pairs. Cela peut être très compliqué sur un réseau de serveurs, mais ici, chaque boîtier est programmé au même endroit.

    Il s’agit simplement d’un nombre de 32 octets aléatoire partagé par tous. C’est nommé pompeusement pre-shared key (PSK).

    Il faudra éviter de la laisser traîner dans le code source.

    Une clef de session est une clef temporaire, renouvelable. L’idée est d’utiliser la cryptographie asymétrique pour se mettre d’accord sur une clef symétrique.

    Si on utilise le nombre généré par Diffie-Hellman (DH) directement, il est unique par pair de clefs privées : ce n’est pas top. On pourrait échanger des nombres aléatoires pour se mettre d’accord sur une clef symétrique, mais je veux limiter les échanges au minimum.

    Pour cela, je vais utiliser une clef de session asymétrique, qui est l’invention du protocole Signal. Une fois la clef symétrique générée, la clef privée éphémère est jetée. Il sera impossible ensuite de déchiffrer la session, même dans le futur.

    On commence donc par un échange de 2 clefs publiques : l’une à durée de vie longue et l’autre éphémère.
    On croise les 8 clefs (2 publiques et 2 privées de chaque côté) dans 3 échanges DH, on trie les nombres pour avoir le même ordre des 2 côtés, et le résultat est donné à la fonction de hachage avec la PSK.

    On a ainsi notre clef de session symétrique.

    Le rejeu

    Tant que la session est active, l’envoi d’un message précédent reste valide. Pour éviter cela, un NONCE est utilisé dans le chiffrement symétrique. C’est un nombre fourni quelconque mais qui ne doit jamais être identique d’un paquet à l’autre. Il peut être transmis avec le paquet, mais cela prend de la place.

    J’ai choisi d’utiliser un simple compteur, cela évite de devoir se rappeler les NONCE passés pour éviter le rejeu.

    Les liaisons n’étant pas fiables, un paquet peut être corrompu : il faut pouvoir décoder le paquet suivant. J’ai simplement choisi de tester les 10 nombres successifs en cas d’erreurs, avant d’échouer.

    Durée de session

    Une session doit être limitée en temps ou en quantité d’informations transmises. Il faut trouver un événement symétrique des 2 côtés pour redéclencher un handshake. J’ai laissé ce point à l’application. Cela pourrait être inclus dans le protocole réseau de plus haut niveau.

    Schéma

    Envoi d’un seul message

    Ce schéma ne couvre pas le cas d’envoi d’un seul message.

    Dans l’Internet des objets, on pousse un message dans MQTT et on ne s’attend pas à une réponse. Cela serait bien plus pratique de pouvoir le faire. Il faut pouvoir faire l’envoi sans handshake préalable. Mais il faut tout de même envoyer les clefs publiques, ce qui prend de la place.

    Le système a besoin de la clef publique du serveur et du PSK, et tout le reste est fourni en plus du chiffré (NONCE, clef publique, et clef publique éphémère) dans le message envoyé.

    La différence est qu’il n’y a que 2 DH, et pas de clef éphémère du côté serveur.

    Travail en cours

    C’est encore un travail en cours. Il manque des tests sur le terrain et l’évaluation des performances sur plusieurs plateformes.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    La Kingston IronKey D500S est la première et unique clé USB au monde conforme à la norme TAA

    Kingston Digital Europe Co LLP, filiale chargée des mémoires Flash de Kingston Technology Company, Inc., leader mondial des produits mémoire et des solutions technologiques, annonce aujourd’hui que sa clé USB à chiffrement matériel Kingston IronKey™ D500S a reçu la validation NIST FIPS 140-3 niveau 3. Communiqué – Conçue et assemblée par Kingston en Californie, la D500S est la […]

    The post La Kingston IronKey D500S est la première et unique clé USB au monde conforme à la norme TAA first appeared on UnderNews.
    •  

    Zimperium découvre une variante sophistiquée du malware Konfety ciblant les appareils Android

    Zimperium, leader mondial de la sécurité mobile, a annoncé la découverte d’une nouvelle variante particulièrement furtive du malware Konfety visant spécifiquement les appareils Android. Identifiée par zLabs, l’équipe de recherche de Zimperium, cette dernière version utilise des techniques avancées d’obfuscation et d’évasion au niveau des fichiers ZIP, la rendant bien plus difficile à détecter et […]

    The post Zimperium découvre une variante sophistiquée du malware Konfety ciblant les appareils Android first appeared on UnderNews.
    •