La Sécurité Avant Tout : Conseils Cruciaux Pour Éviter les Incidents

AWS Vault - Sécurisez vos clés AWS


Utiliser le cloud, c’est bien, sécuriser ses accès, c’est mieux, ou comment deux chaînes de caractères dans la nature peuvent vous coûter des (dizaines de) milliers d’euros.

Les risques d'une mauvaise sécurisation AWS

Une des problématiques de sécurité que l’on peut rencontrer avec AWS est la gestion des Access Keys. Ce sont des paires de clés utilisées pour accéder aux fonctionnalités d’AWS avec les outils en ligne de commande. C’est ce qui permet, par exemple, depuis la console de démarrer des machines virtuelles en ligne de commande. C’est aussi sur ce genre d’outils que reposent les outils d’IaC et donc, elles sont très présentes et doivent être sécurisées.

Utilisées par des personnes mal intentionnées, elles peuvent permettre de créer des ressources dans AWS (par exemple, démarrer des centaines de machines pour miner des crypto-monnaies, créer des dépôts permettant de s’échanger des fichiers douteux, etc.) et vous coûter une fortune et une convocation au commissariat.

Il y aurait pas mal à dire sur la façon de gérer et sécuriser ses comptes AWS (limiter les droits des utilisateurs, utiliser des rôles temporaires, faire une séparation complète des comptes…), on va se concentrer ici sur la gestion des clés et se dire que tout le reste est déjà fait. Et si ce n’est pas fait, faites-le maintenant au lieu de lire cet article.

Les bonnes pratiques Amazon Web Services

Tout d’abord, et c’est la base, ces clés ne doivent jamais être en clair dans le code source des projets. Elles ne doivent pas apparaître dans les journaux des applications non plus et ne doivent pas être accessibles en clair lorsqu’elles sont utilisées en ligne pour des services CI/CD. C’est vraiment la base et une grosse faute professionnelle selon moi. Il existe des moyens sécurisés pour que vos applications utilisent ces clés sans les exposer, mais ce n’est pas le sujet de CET article.

Il faut aussi éviter de les partager dans une équipe (chacun doit avoir sa clé) et si jamais vous voulez persister dans l’erreur alors encryptez-les pour l’échange. Enfin, pensez à organiser une rotation de ces clés. Je vois parfois des clés qui ont 5 ans encore actives et “un peu” risquées.

De manière générale, une fois les clés obtenues, inscrivez-les dans les fichiers de configurations du AWS CLI, et ça ne doit plus bouger jusqu’à leur remplacement.

Mais même là, c’est problématique. Même si je sais bien que vous avez tous bien sécurisé votre machine, que vous ne laissez jamais de session ouverte en votre absence, etc... Elles sont là, en clair, dans un répertoire. Si quelqu’un récupère ce fichier, alors il récupère le compte AWS.

Et ça, ça m’est toujours apparu comme problématique.

Heureusement, il y a peu, on m’a fait découvrir AWS Vault.

AWS Vault

AWS Vault est un outil Open Source permettant de stocker localement et de façon sécurisée ces Access Keys. Elles ne sont alors plus en clair sur la machine et leur utilisation via le AWS CLI nécessite l’entrée d’un mot de passe à chaque début de session. Mot de passe que vous conservez dans un gestionnaire de mot de passe, bien entendu. Dans le principe, AWS Vault va conserver vos clés dans l’outil de gestion de secrets natif de votre OS (par exemple, macOS Keychain) puis, lorsque vous voudrez accéder au compte AWS dont elles ressortent, les utiliser pour générer des clés d’accès temporaires (une feature++ d’AWS) qui sera injectée dans une sous-session à partir de laquelle vous allez exécuter vos commandes AWS CLI.

C’est simple, c’est propre, on aime.

Autres fonctionnalités d’AWS Vault :

  • Prise en charge de multiples comptes AWS

  • Gestion de la rotation des clés (effet wahoo sur moi)

  • Prise en charge MFA

  • Dispo sur macOS, Windows, Linux.

Si vous utilisez AWS et que vous avez la main sur le backlog de tâches de votre projet, je vous suggère fortement d’ajouter discrètement la tâche de sécuriser les accès cloud de l’équipe.

C’est un investissement que vous ne regretterez pas.

===================================

Meddy Menzikoff @ Savoie

CTO/DevOps certifié AWS, spécialisé en développement de SaaS @OneClickFlare.

Illustration: PMags.com

Relecture: Vincent Rouilhac

IA: Vérification orthographe

Copyright 2024 One Click Flare. All Rights Reserved

Designed By EnvyTheme