Glossaire cyber

Bastion / Jump server / PAM : guide pratique 2026

Du jump server SSH au PAM moderne : Teleport, Wallix, AWS SSM, Boundary, hardening, JIT access et zero standing privileges en 2026.

Naim Aouaichia
13 min de lecture
  • Bastion
  • PAM
  • SSH
  • Sécurité réseau
  • Cybersécurité
  • DevSecOps

Un bastion (ou jump server, jump host, jump box) est l'unique point d'entrée chiffré et audité vers une infrastructure privée, historiquement une instance Linux exposée Internet sur le port 22, durcie au maximum, par laquelle transitent toutes les connexions SSH/RDP des administrateurs. En 2026, 80% des bastions SSH artisanaux sont remplacés par des plateformes PAM (Privileged Access Management) : Teleport (open core, gratuit < 100 nodes, 12$/host/mois Enterprise), Wallix Bastion (français, certifié SecNumCloud, ~3-5k€/an entrée de gamme), HashiCorp Boundary 0.17 (octobre 2024), AWS Systems Manager Session Manager (gratuit, élimine le port 22 inbound), CyberArk PAM Self-Hosted, Delinea Secret Server. La rupture conceptuelle : passer du « bastion = point d'entrée » au « bastion = broker d'identité avec JIT access, zero standing privileges, session recording multi-protocole ». L'ANSSI impose pour les OIV (Opérateurs d'Importance Vitale) un bastion avec MFA matériel, recording signé, et PAW (Privileged Access Workstation) dédié, guide v2.0 mai 2018 mis à jour 2024. Cet article documente les trois générations de bastion, le hardening SSH opérationnel, le comparatif PAM 2026, les CVE marquantes, et les anti-patterns persistants.

Pour le contexte d'architecture : voir Zero Trust Architecture (ZTA). Pour les fondamentaux d'identité : IAM (Identity and Access Management) et RBAC.

Le bon mental model : le bastion n'est pas un proxy SSH, c'est un broker d'identité

Erreur conceptuelle la plus fréquente : penser le bastion comme un simple jump host SSH. Cette vision date de 2005-2015 et reste valable pour des homelabs ou des très petites structures (≤ 5 admins). En 2026, un bastion sérieux remplit 5 rôles distincts :

  1. Authentification forte centralisée, IdP unique (Okta, Entra ID, Keycloak, Auth0) avec MFA matériel (YubiKey FIDO2, carte CPS), pas de mot de passe local.
  2. Autorisation granulaire, RBAC ou ABAC par target (host, cluster, base de données), pas « accès root partout ».
  3. JIT access (Just-In-Time), l'admin demande un accès court (1-8h), validé par un peer ou un manager, certificat éphémère généré.
  4. Session recording multi-protocole, SSH (asciinema/tlog), RDP (vidéo MP4), HTTPS (HAR), base de données (queries log), avec hash signé pour intégrité.
  5. Audit trail compliance-ready, NIS2, ISO 27001 A.9, ANSSI, PCI DSS 8.3, exportable et requêtable.

Un bastion SSH artisanal couvre 1-2 de ces rôles à grand-peine. Une plateforme PAM moderne (Teleport, Wallix, CyberArk) couvre les 5. C'est cette distinction qui fait passer le bastion d'un « proxy chiffré » à un broker d'identité privilégiée.

Anatomie d'un bastion SSH durci (gen 1)

La config minimale acceptable d'un bastion SSH artisanal, typiquement déployé sur Debian 12 ou Ubuntu 24.04 LTS avec OpenSSH 9.6+ :

# /etc/ssh/sshd_config (extrait critique)
Port 22
Protocol 2
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey,keyboard-interactive:pam
PermitEmptyPasswords no
MaxAuthTries 3
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2
AllowAgentForwarding no
AllowTcpForwarding yes
X11Forwarding no
PermitUserEnvironment no
AllowUsers admin1 admin2 admin3
KexAlgorithms curve25519-sha256@libssh.org,curve25519-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
HostKeyAlgorithms ssh-ed25519,rsa-sha2-512
# Hardening complémentaire
apt install fail2ban tlog libpam-google-authenticator
 
# fail2ban /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
findtime = 600
bantime = 3600
 
# Session recording avec tlog (Red Hat, MIT licence)
tlog-rec-session --writer=journal -- /bin/bash
 
# Audit ssh-audit (cible grade A)
ssh-audit -p 22 bastion.corp.io
MesureOutilRésultat attendu
Cipher suites strictsshd_configssh-audit grade A
MFA TOTPlibpam-google-authenticatorAuthentification 2 facteurs
Brute-force protectionfail2banBan 1h après 3 échecs en 10 min
Session recordingtlog ou auditdReplay journalisé
Filtrage IPiptables / nftables / cloud SGWhitelist sources connues
Patches OSunattended-upgradesPatch automatique J+1
Logs centraliséssyslog → SIEMDétection IOC, retention 1 an
Inventaire cléscron + scriptDétection clés zombies > 90j

Cette config tient pour ≤ 20 admins. Au-delà, la maintenance manuelle (rotation clés, audit logs, revue accès) coûte plus cher qu'une licence Teleport.

Comparatif PAM 2026 (gen 2)

Marché PAM en mai 2026, vue ingénieur :

SolutionModèleTarif indicatifOpen SourceForceFaiblesse
TeleportOpen core (Apache 2.0 + Enterprise)Gratuit ≤ 100 nodes, 12$/host/mois Ent.Oui (Community)DevX, Kubernetes natif, certs courte duréeVerrouillage Enterprise sur SSO + RBAC
Wallix BastionClosed source FR~3-5k€/an entrée, scalableNonSecNumCloud, ANSSI, multilingueUX vieillissante, intégrations cloud limitées
CyberArk PAM Self-HostedClosed source100k€+/an typiqueNonRéférence enterprise, vault PSMCoût et complexité d'intégration
Delinea Secret Server (ex-Thycotic)Closed source50-150€/user/anNonBon rapport prix/fonctionnalitésPas multi-cloud natif
HashiCorp BoundaryOpen coreGratuit OSS, Enterprise sur devisOui (MPL 2.0)Intégration Vault, Consul, TerraformMaturité 2026 inférieure à Teleport
BeyondTrust Privileged Remote AccessClosed sourceSur devis (cher)NonRecording riche, support 24/7Lourdeur déploiement
StrongDMSaaS70$/user/moisNonUX excellente, multi-protocolePricing élevé
AWS SSM Session ManagerService AWSGratuitNonPas de port inbound, IAM intégréAWS-only, pas multi-cloud
Azure BastionService Azure~140$/mois hostNonPas de public IP VM, MFA EntraAzure-only
GCP Identity-Aware Proxy (IAP)Service GCPInclus GCPNonTCP forwarding, intégré IAMGCP-only
Saviynt Privileged AccessSaaSSur devisNonLifecycle complet identitésComplexité conf

Sweet spot 2026 selon profil :

  • Startup tech ≤ 50 admins : Teleport Community + IdP Okta/Entra ID, gratuit, suffisant.
  • PME industrielle / banque : Wallix Bastion ou CyberArk PSM, exigences ANSSI/PCI compliance.
  • Multi-cloud GAFAM-natif : Teleport Enterprise ou StrongDM, UX dev-first.
  • AWS-only ≤ 100 instances : SSM Session Manager, gratuit, suffisant.
  • OIV / SecNumCloud : Wallix Bastion, seule option certifiée FR mature.
# Exemple Teleport tctl rule (SSH access)
kind: role
version: v7
metadata:
  name: prod-readonly
spec:
  allow:
    logins: ["readonly"]
    node_labels:
      env: ["prod"]
    rules:
      - resources: ["session"]
        verbs: ["read", "list"]
  options:
    max_session_ttl: 1h
    require_session_mfa: hardware_key_touch
    record_session:
      desktop: true
      ssh: true
      default: best_effort

CVE bastion / PAM marquantes 2023-2025

Liste non exhaustive, focus sur impact opérationnel :

CVEProduitCVSSDateType
CVE-2024-6387 (regreSSHion)OpenSSH 8.5p1-9.7p18.11 juillet 2024RCE pre-auth via signal handler
CVE-2024-39884Apache HTTP Server (jump portail)7.5juillet 2024Source disclosure
CVE-2023-48795 (Terrapin)OpenSSH ≤ 9.55.9décembre 2023Prefix truncation handshake
CVE-2024-47176 + CUPS chaincups-browsed9.9septembre 2024RCE bastion exposant CUPS
CVE-2023-40217Python ssl module5.3août 2023Bypass TLS verify (impact bastion Python)
CVE-2024-3094 (XZ Utils backdoor)liblzma 5.6.0/5.6.110.0mars 2024Backdoor SSH via systemd dependency
CVE-2024-31497PuTTY ≤ 0.805.9avril 2024NIST P-521 key recovery
CVE-2024-45491 / 92libexpat (PAM dependency)9.1août 2024Integer overflow

regreSSHion (CVE-2024-6387) mérite un focus particulier : RCE pre-auth root sur OpenSSH server, découverte par Qualys (1 juillet 2024), ~14 millions de serveurs exposés selon Shodan à la révélation. Race condition dans sshd quand un client n'authentifie pas avant LoginGraceTime, exploit demande des heures de tentatives mais reste exploitable. Patch OpenSSH 9.8 disponible J+0. Tout bastion non patché à J+7 = exposition critique.

XZ Utils backdoor (CVE-2024-3094) : backdoor sophistiquée injectée dans liblzma 5.6.0/5.6.1 (février-mars 2024) par un mainteneur sous pseudonyme « Jia Tan », découverte par Andres Freund (Microsoft) le 29 mars 2024. Cible : RCE via SSH sur Debian sid, Fedora 41, openSUSE Tumbleweed. Stoppée avant déploiement stable Debian/Ubuntu LTS. Leçon : supply chain attack sur composant indirect (xz n'a aucune relation directe à SSH, mais transit via systemd → libsystemd → sshd patché Debian).

JIT access et zero standing privileges (gen 3)

Le principe ZSP (Zero Standing Privileges) : aucun admin ne possède en permanence d'accès à la prod. C'est la différence majeure entre un PAM 2018 (vault de credentials longue durée) et un PAM 2026 (broker JIT avec certificats éphémères).

Workflow type Teleport Access Request :

  1. Admin Alice veut SSH sur prod-db-01. Sa role par défaut n'a aucun accès prod.
  2. Elle ouvre une Access Request dans Teleport : target node:env=prod, raison incident #12345 db slowdown, durée 2h.
  3. La request est routée à 2 reviewers (peer ou manager selon politique). Notification Slack/email.
  4. Bob (peer reviewer) consulte la justification, approuve.
  5. Teleport génère un certificat SSH x.509 court (TTL 2h, principals limités, hardware MFA touché).
  6. Alice se connecte. Session enregistrée (vidéo SSH + commandes), audit trail signé.
  7. Expiration auto à T+2h. Aucun credential résiduel.

Implémentations équivalentes :

  • Microsoft Entra ID PIM (Privileged Identity Management), pour rôles Azure/M365.
  • AWS IAM Identity Center JIT roles, via SCIM + SSO + session courte.
  • HashiCorp Vault dynamic secrets, credentials DB générés à la demande, TTL 15 min.
  • Saviynt Privileged Access, workflow lourd enterprise.
  • CyberArk PSM Just In Time, module Enterprise Access Manager.

ROI mesurable : réduction de 80-95% de la fenêtre d'exposition d'un compte admin compromis. Si Alice se fait phisher son token Okta, sans demande active = aucun accès prod, breach contenu.

Erreurs fréquentes en exploitation bastion

ErreurSymptômeFix
Bastion EC2 / VM mutualisé avec autres workloadsCompromission latérale possibleBastion dédié, hardening minimal exposé
PermitRootLogin yesBrute force sur compte universelPermitRootLogin no, sudo nominatif
PasswordAuthentication yesPhishing + brute force réussitClés SSH only + MFA
Clés SSH 4096-bit RSA datéesLentes, surface attaque vintageMigrer Ed25519 (2014, RFC 8709)
Pas de rotation des authorized_keys30-60% clés zombies après 12 moisAudit trimestriel, expiry via Teleport CA
AllowAgentForwarding yes non maîtriséHijacking agent SSH du bastion compromisDésactiver ou restreindre par user
Pas de logs centralisésForensic impossible post-incidentrsyslog → SIEM avec retention 12 mois
MFA seulement sur portail VPNBypass possible si bypass VPNMFA aussi sur sshd via PAM ou Teleport
Bastion partagé prod + dev + stagingPas de séparation, blast radius énorme1 bastion par environnement minimum
Session recording absentAudit vide, no accountabilitytlog, asciinema, ou bascule PAM
Pas de PAW (poste admin dédié)Compromission bureautique → bastionPAW VLAN séparé, EDR strict
sudo sans audit ni MFAÉlévation silencieuse, no traçabilitésudo -A avec MFA + auditd

Mapping framework : bastion dans les référentiels

FrameworkRéférenceExigence bastion / PAM
ANSSI Recommandations Adminv2.0 mai 2018Bastion dédié, MFA matériel, PAW, recording
ANSSI SecNumCloudv3.2 (2022)Bastion FR, opéré par habilités
NIST SP 800-53 r5AC-6, IA-2, AU-3Least privilege, MFA, audit trail
NIST SP 800-207Zero TrustBastion = PEP (Policy Enforcement Point)
ISO/IEC 27001:2022A.5.16, A.8.2, A.8.18Identity mgmt, privileged access, recording
PCI DSS v4.07.2, 8.3, 10.2RBAC, MFA, session log
MITRE ATT&CKT1078 Valid AccountsBastion = mitigation principale
NIS2 directiveart. 21 §2 (g, h, i)Authentification forte, contrôles d'accès
HIPAA45 CFR § 164.308(a)(4)Access management
CIS Controls v85, 6, 8Account mgmt, access control mgmt, audit

Pour aller plus loin

Points clés à retenir

  • 3 générations de bastion : (1) jump server SSH durci, (2) PAM appliance ou SaaS, (3) broker JIT avec zero standing privileges et certs éphémères.
  • 80% des bastions SSH artisanaux sont remplacés par PAM en 2026, Teleport, Wallix, CyberArk, Boundary, AWS SSM, Azure Bastion, GCP IAP.
  • Teleport Community gratuit ≤ 100 nodes, Enterprise 12$/host/mois ; Wallix Bastion ~3-5k€/an entrée (français, certifié SecNumCloud) ; CyberArk PAM 100k€+/an enterprise.
  • ANSSI guide admin v2.0 (mai 2018, MAJ 2024) : MFA matériel, PAW dédié, session recording signé, séparation stricte.
  • regreSSHion (CVE-2024-6387, juillet 2024) : RCE pre-auth root OpenSSH 8.5p1-9.7p1, ~14M serveurs exposés Shodan. Patch obligatoire J+7.
  • XZ Utils backdoor (CVE-2024-3094, mars 2024, CVSS 10.0) : supply chain attack via liblzma 5.6.0/5.6.1, découverte Andres Freund. Backdoor SSH evitée de justesse.
  • JIT access + ZSP : credentials générés à la demande, TTL 1-8h, validation peer/manager, expiration auto. Réduction 80-95% fenêtre exposition.
  • Hardening SSH minimal 2026 : OpenSSH 9.8+, Ed25519 keys (RFC 8709), PermitRootLogin no, MFA via PAM, fail2ban, ssh-audit grade A.
  • AWS SSM Session Manager : pas de port 22 inbound, IAM granulaire, log CloudWatch/S3, gratuit. Suffit pour 80% des cas AWS-only.
  • Position : bastion SSH artisanal défendable ≤ 20 admins ; au-delà, migration PAM obligatoire pour ISO 27001, SOC 2, NIS2, SecNumCloud.
  • Erreur n°1 : 30-60% des authorized_keys sont zombies après 12 mois sans rotation. Justification suffisante de la migration vers certs courte durée.
  • Mapping ATT&CK : bastion = mitigation primaire de T1078 Valid Accounts. NIST SP 800-207 le positionne comme PEP (Policy Enforcement Point).

Questions fréquentes

  • Bastion SSH classique ou PAM moderne (Teleport, Wallix) en 2026 ?
    Pour &lt; 20 admins et infra simple, un bastion SSH durci (OpenSSH 9.6+, fail2ban, MFA SSH via PAM, sessions enregistrées via tlog ou ssh-audit) reste valide. Au-dessus, passer à Teleport (open core, gratuit &lt; 100 nodes, 12$/host/mois Enterprise), HashiCorp Boundary, ou Wallix Bastion (français, certifié SecNumCloud, ~3-5k€/an entrée). Critère bascule : besoin de session recording multi-protocole (SSH + RDP + DB), JIT access, intégration IdP SAML/OIDC, audit trail réglementaire (NIS2, ANSSI). Le bastion SSH artisanal montre vite ses limites en multi-cloud.
  • AWS Systems Manager Session Manager remplace-t-il un bastion ?
    Oui pour 80% des cas AWS. SSM Session Manager (lancé 2018, gratuit en plan AWS) supprime le port SSH inbound, route via agent SSM sortant vers Systems Manager, log dans CloudWatch ou S3. Plus de bastion EC2 à patcher, plus de port 22 exposé, IAM granulaire par tag. Limites : pas de RDP natif (passer par port forwarding tunnel), pas multi-cloud (Azure Bastion équivalent côté Microsoft, GCP IAP côté Google), pas de session recording vidéo. Pour multi-cloud + audit fort, Teleport ou Boundary restent supérieurs.
  • Quelles exigences ANSSI pour un bastion en SecNumCloud ou OIV ?
    Le guide ANSSI « Recommandations relatives à l'administration sécurisée des SI » (v2.0, mai 2018, mis à jour) impose : authentification forte multifacteur (carte à puce ou OTP matériel), session recording exhaustif, séparation stricte poste admin / poste bureautique (PAW, Privileged Access Workstation), traçabilité signée (anti-tampering), revue trimestrielle des accès. SecNumCloud v3.2 (2022) ajoute : bastion sous juridiction française, opéré par personnel français habilité confidentiel défense. Wallix Bastion et le bastion DSI Beta de l'État sont les deux options francisées certifiées.
  • Comment auditer un bastion SSH legacy avant migration ?
    Cinq commandes en 30 minutes. 1) `ssh-audit -p 22 bastion.corp.io` pour scanner cipher suites, KEX algorithms, host keys (cible : grade A). 2) `lynis audit system` pour le hardening OS global. 3) Revue manuelle `/etc/ssh/sshd_config` : `PermitRootLogin no`, `PasswordAuthentication no`, `PubkeyAuthentication yes`, `Protocol 2`, `MaxAuthTries 3`, `AllowUsers ...`. 4) Vérifier `lastlog`, `last -F`, `auth.log` pour activités suspectes 30 derniers jours. 5) Inventaire des clés `~/.ssh/authorized_keys` de tous les comptes, typiquement 30-60% de clés zombies à révoquer. Ce 5e point seul justifie la migration vers Teleport (clés courtes durée auto-générées).
  • Just-In-Time access et zero standing privileges, comment ça marche ?
    Principe : aucun admin ne possède en permanence d'accès à la prod. Quand il en a besoin, il fait une demande dans Teleport / Boundary / Saviynt / Okta Privileged Access avec justification, validation peer ou manager (15 min à 4h selon criticité), et reçoit un certificat SSH/RDP signé valable 1-8h. Expiration auto. Audit complet de la demande, de la validation, et de la session. Réduit drastiquement le blast radius d'un compte admin compromis : sans demande active, le credential ne donne accès à rien. Microsoft Entra ID PIM, Teleport Access Requests, AWS IAM Identity Center JIT sont les implémentations majeures 2026.

Écrit par

Naim Aouaichia

Cyber Security Engineer et fondateur de Zeroday Cyber Academy

Ingénieur cybersécurité avec un parcours hybride : développement, DevOps Capgemini, DevSecOps IN Groupe (sécurité des documents d'identité régaliens), audits CAC 40. Fondateur de Hash24Security et Zeroday Cyber Academy. Présence LinkedIn 43 000 abonnés, Substack Zeroday Notes 23 000 abonnés.