Blog

  • Mise en place d’une PKI interne avec Step-CA

    Pourquoi mettre en place une PKI interne ?

    Mettre en place une PKI interne permet :

    • d’émettre ses propres certificats
    • de maîtriser leur durée de vie
    • d’automatiser leur renouvellement
    • de supprimer les certificats auto-signés non maîtrisés

    Par contre, il faudra prévoir d’e configurer ‘ajouter le certificat de l’autorité de certification sur chaque client.

    Dans cet article, nous allons voir comment déployer une autorité de certification interne avec step-ca.


    Pourquoi utiliser step-ca ?

    Smallstep step-ca est une autorité de certification open source développée par Smallstep.

    Avantages :

    • Installation simple
    • Compatible ACME (comme Let’s Encrypt)
    • Gestion d’identités X.509 et SSH
    • API REST
    • Intégration facile avec des scripts et outils d’automatisation
    • Support du renouvellement automatique

    Architecture recommandée

    Une PKI interne minimale comprend :

    • 1 CA root (idéalement offline)
    • 1 CA intermédiaire (utilisée pour signer les certificats)
    • 1 serveur step-ca
    • 1 mécanisme de distribution du certificat root vers les clients

    En environnement simple (lab ou PME), on peut commencer avec une seule CA hébergée sur un serveur sécurisé.


    Installation de step-ca (exemple sous Debian 12)

    1️⃣ Installation



    curl -fsSL https://get.smallstep.com | bash
    apt install step-ca

    Vérification :

    step version
    

    2️⃣ Initialisation de la PKI

    
    
    
    
    
    step ca init

    L’assistant va demander :

    • Nom de la CA
    • Nom DNS du serveur
    • Adresse IP
    • Mot de passe de protection de la clé privée

    À la fin, tu obtiens :

    • root_ca.crt
    • intermediate_ca.crt
    • fichiers de configuration

    3️⃣ Démarrage du service

    
    
    
    
    
    step-ca $(step path)/config/ca.json

    Ou via systemd.


    Émission d’un certificat

    Exemple pour un serveur interne :

    
    
    step ca certificate srv-web01.infra.local srv-web01.crt srv-web01.key
    

    Le certificat est signé par la CA interne.

    Tu peux ensuite l’installer dans :

    • Nginx
    • Apache
    • HAProxy
    • Interface d’administration d’un firewall
    • Reverse proxy

    Activation du protocole ACME

    L’un des gros avantages de step-ca est le support natif d’ACME.

    Cela permet :

    • d’utiliser Certbot
    • d’automatiser le renouvellement
    • d’éviter toute gestion manuelle

    Exemple de configuration ACME :

    
    
    {
      "type": "ACME",
      "name": "acme"
    }
    

    Ensuite, un serveur peut demander son certificat automatiquement via ACME interne.


    Distribution du certificat root

    Point critique : tous les clients doivent faire confiance à la CA interne.

    Sur Linux :

    
    
    
    
    
    cp root_ca.crt /usr/local/share/ca-certificates/
    update-ca-certificates

    Sur Windows : via GPO
    Sur équipements réseau : import manuel du certificat root.


    Cas d’usage concrets

    En environnement réseau/sécurité (comme le tien), une PKI interne permet :

    • HTTPS sur interfaces d’administration de firewalls
    • TLS sur serveurs internes
    • Authentification mutuelle VPN
    • Wi-Fi entreprise (EAP-TLS)
    • Signature de certificats pour API internes
    • Certificats courts pour renforcer la sécurité

    Bonnes pratiques de sécurité

    • Protéger la clé privée de la CA
    • Sauvegarder les clés hors ligne
    • Conserver la root CA offline si possible
    • Utiliser des certificats courts (30 à 90 jours)
    • Automatiser le renouvellement
    • Mettre en place une CRL ou OCSP si nécessaire

    Conclusion

    Mettre en place une PKI interne n’est plus réservé aux grandes entreprises.

    Avec Smallstep step-ca, il est possible de :

    • déployer une autorité de certification en quelques minutes
    • automatiser totalement l’émission
    • sécuriser l’ensemble de l’infrastructure interne
  • Installer un DNS interne pour un lab (Debian + Bind9)

    Pourquoi mettre en place un DNS interne dans un lab ?

    Dans beaucoup de labs, on utilise des adresses IP en dur ou un simple fichier /etc/hosts. Ça fonctionne… jusqu’au jour où :

    • le lab grandit,
    • plusieurs services communiquent entre eux,
    • on veut se rapprocher d’une infrastructure réelle.

    Un DNS interne permet notamment de :

    • Résoudre des noms de machines sans dépendre d’Internet
    • Centraliser la résolution de noms
    • Simuler un environnement d’entreprise
    • Préparer des scénarios réalistes (AD, messagerie, reverse proxy, supervision…)
    (suite…)
  • Découvrir firewalld sous Debian 13

    firewalld est un gestionnaire de pare-feu dynamique, largement utilisé sur les distributions Red Hat (RHEL, Rocky, Alma, Fedora), mais également disponible sur Debian. Contrairement à une gestion directe de nftables ou iptables, firewalld apporte une couche d’abstraction basée sur des zones, des services et des règles persistantes, ce qui facilite l’administration quotidienne.

    (suite…)
  • Utiliser une Web UI avec Ollama sur Debian

    Après avoir vu comment installer Ollama et utiliser des modèles comme Mistral et LLaMA 3.2 en ligne de commande, une question revient souvent :

    Peut-on utiliser Ollama avec une interface web, plus conviviale qu’un terminal ?

    La réponse est oui. Dans cet article, nous allons voir comment utiliser une Web UI pour Ollama, afin d’interagir avec des modèles d’IA locale directement depuis un navigateur web.

    (suite…)
  • Installer Ollama sur Debian

    Introduction

    Ollama permet d’exécuter des modèles de langage puissants localement sur votre ordinateur, garantissant ainsi une confidentialité totale de vos données sans dépendre d’une connexion internet.

    Dans cet article, nous allons voir comment installer Ollama sur une machine Debian disposant de 12 Go de RAM. Ollama permet de télécharger et d’exécuter facilement des modèles de langage (LLM) comme Llama, Mistral ou Gemma, directement en local.

    (suite…)
  • Docker pour débutants

    Qu’est-ce que Docker ?

    Docker est une plateforme de conteneurisation qui permet d’empaqueter une application et toutes ses dépendances dans un conteneur standardisé. Imaginez un conteneur comme une boîte isolée qui contient tout ce dont votre application a besoin pour fonctionner : le code, les bibliothèques, les outils système et les configurations. L’avantage majeur ? Votre application fonctionnera de manière identique, que ce soit sur votre ordinateur portable, sur un serveur de production ou sur la machine d’un collègue. Fini les fameux « mais ça marche sur ma machine ! » qui sont la hantise des développeurs.

    (suite…)
  • 10 commandes Linux indispensables

    Quand on débute sous Linux, certaines commandes reviennent en permanence en administration système.
    Les connaître permet de lire des fichiers, analyser des logs, rechercher des informations et modifier des configurations efficacement.

    Cet article présente 10 commandes Linux essentielles, avec des exemples concrets, utilisables immédiatement sur Debian, Ubuntu et la plupart des distributions Linux.

    (suite…)
  • snmptranslate : Traduire les OID SNMP en un clin d’œil

    snmptranslate : Traduire les OID SNMP en un clin d’œil

    snmptranslate est un utilitaire Net-SNMP qui convertit les OID (identifiants d’objets) entre leurs différentes représentations. Simple mais indispensable pour tout administrateur réseau travaillant avec SNMP.

    Exemples de base

    Traduire un OID numérique en nom :

    $ snmptranslate 1.3.6.1.2.1.1.1.0
    SNMPv2-MIB::sysDescr.0

    Obtenir l’OID numérique à partir d’un nom :

    $ snmptranslate -On SNMPv2-MIB::sysName.0
    .1.3.6.1.2.1.1.5.0

    Afficher la description complète d’un objet :

    $ snmptranslate -Td SNMPv2-MIB::sysUpTime.0
    SNMPv2-MIB::sysUpTime.0
    sysUpTime OBJECT-TYPE
      SYNTAX TimeTicks
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION "The time since the network management portion..."

    Recherche et exploration

    Rechercher tous les objets contenant « interface » :

    $ snmptranslate -Tz | grep -i interface

    Afficher l’arborescence d’une MIB :

    $ snmptranslate -Tp -IR system
    +--system(1)
       |
       +-- -R-- String    sysDescr(1)
       +-- -R-- ObjID     sysObjectID(2)
       +-- -R-- TimeTicks sysUpTime(3)

    Obtenir le type de données d’un objet :

    $ snmptranslate -Td ifInOctets
    IF-MIB::ifInOctets
      SYNTAX Counter32

    Options utiles

    -IR : Recherche aléatoire (pas besoin du préfixe MIB complet)

    $ snmptranslate -IR -On sysName
    .1.3.6.1.2.1.1.5

    -TB : Afficher l’OID avec tous les nœuds parents

    $ snmptranslate -TB SNMPv2-MIB::sysDescr
    .iso.org.dod.internet.mgmt.mib-2.system.sysDescr

    -m ALL : Charger toutes les MIB disponibles

    $ snmptranslate -m ALL -IR hrSystemUptime
    HOST-RESOURCES-MIB::hrSystemUptime

    Cas pratiques

    Vérifier qu’une MIB propriétaire est bien chargée, explorer la structure d’objets inconnus, ou convertir rapidement des OID dans des scripts de monitoring. snmptranslate transforme des séquences numériques cryptiques en informations exploitables.

  • SNMPv2 et SNMPv3 sur un switch Cisco : tutoriel pratique avec snmpget et snmpwalk

    Dans cet article, nous allons utiliser le protocole SNMP sur un switch Cisco à l’aide des outils snmpget et snmpwalk.
    Objectif : comprendre comment interroger un équipement réseau et récupérer des informations utiles .

    Ce tutoriel est basé sur des environnements Cisco IOS et Debian/Ubuntu.

    (suite…)
  • Sécuriser son réseau Cisco : DHCP Snooping, Dynamic ARP Inspection et IP Source Guard

    Dans un réseau d’entreprise, les attaques de type DHCP rogue, ARP spoofing ou usurpation d’adresse IP sont fréquentes et simples à réaliser. Les switchs Cisco proposent plusieurs mécanismes de sécurité de niveau 2 pour se protéger efficacement.
    Dans cet article, nous allons voir comment configurer :

    • DHCP Snooping
    • Dynamic ARP Inspection (DAI)
    • IP Source Guard
    (suite…)