Weekly Shaarli

All links of one week in a single page.

Week 09 (February 28, 2022)

Post-mortem and remediations for Apr 11 security incident | Matrix.org
thumbnail

En 2019 Matrix a subi une intrusion sur ses serveurs. Ils en retirent plusieurs recommandations.

Sur le plan technique :

  • Ne PAS utiliser l'agent forwarding avec SSH, privilégier le ProxyJump (-J)
  • placer le fichier authorized_keys sous le contrôle de root plutôt que sous celui de l'utilisateur
  • avoir des procédés automatisés pour détecter les mises à jour à lettre en œuvre
  • segmenter le réseau, limiter les privilèges au minimum nécessaire

Sur le plan organisationnel:

  • ils notent le danger des infrastructures (ou outils) "legacy", maintenus en fonctionnement et laissés en l'état quand les efforts se concentrent sur une nouvelle architecture/version plus sûre: il faut impérativement avoir une personne en responsabilité de lettre fin à cette situation.
  • il faut des check-lists pour la remise en route des services et la rotation des secrets
  • lors d'un incident, il faut quelqu'un pour coordonner les travaux, gérer la communication interne et la communication externe: si peuvent être remplies par la même personne, il s'agit bien de 3 missions distincted
How does ssh ProxyCommand actually work?
thumbnail

Le proxy SSH fonctionne de façon similaire au proxy HTTP avec CONNECT :

  • le client C ouvre une session SSH (http) vers le proxy P
  • dans cette session, il demande l'ouverture d'une connexion TCP par le proxy vers le serveur S de destination
  • le serveur ouvre la connexion et la redirige vers le client (il encapsule la session TCP dans la session SSH ou HTTP)
  • via cette nouvelle connexion TCP, le client démarre une nouvelle session SSH ou HTTP vers S.

Plusieurs conséquences:

  • si les conditions de sécurité sont réunies, le proxy ne peut ni déchiffrer ni altérer la communication entre le client et le serveur de destination (conditions réunies = usage de TLS et de certificat valide pour HTTP et préconnaissance mutuelle du serveur et du client pour SSH ou usage de SSHFP ou usage de PKI SSH)
  • le proxy P connait l'adresse du client et l'adresse et le nom du serveur de destination (si le client demande un serveur par son nom plutôt que par IP), sauf si plusieurs proxies sont utilisés pour atteindre la destination.
  • le serveur S de destination ne voit plus l'adresse du client, mais seulement celle du proxy.

C'est donc une forme de connexion bien plus sécurisée que par l'usage du SSH agent forwarding, qui permet au serveur proxy P d'usurper l'identité du client C auprès de n'importe quel serveur.

Voir aussi man ssh_config#ProxyJump