Sécuriser son environnement de développement

27 janvier 2020

La sécurité des serveurs de production, de développement, d'intégration continue ainsi que les postes de travail des développeurs doit être une priorité car ils centralisent l'accès à un grand nombre de données.

Évaluez vos risques et adoptez les mesures de sécurité adéquates

  • Évaluez les risques dans les outils et les processus utilisés pour vos développements. Recensez vos mesures de sécurité existantes et définissez un plan d'action permettant d'améliorer la couverture de vos risques. Désignez une personne responsable de sa mise en œuvre.
  • Pensez à prendre compte les risques sur tous les outils que vous utilisez, notamment les risques liés aux outils SaaS (Software as a Service) et collaboratifs dans le cloud (type Slack, Trello, GitHub, etc.).

Sécurisez vos serveurs et vos postes de travail d'une façon homogène et reproductible

  • Des listes de recommandations concernant la sécurisation des serveurs, postes de travail et réseaux internes sont disponibles dans les fiches n° 5 à 8 du guide sécurité des données personnelles de la CNIL.
  • Rédigez un document regroupant ces mesures et expliquant leur configuration permet de s'assurer d'une mise en place homogène des mesures de sécurité sur les serveurs et les postes de travail. Afin de réduire la charge de travail, des outils de gestion de configuration, tels qu'Ansible, Puppet ou Chef, peuvent être utilisés.
  • Mettez à jour les serveurs et postes de travail, si possible de manière automatique. Vous pouvez vous constituer une liste de veille recensant les vulnérabilités les plus importantes, par exemple les alertes de sécurité, avis de sécurité et les bulletins d'actualité du CERT-FR.

Insistez particulièrement sur la gestion des accès et la traçabilité des opérations

  • Pensez à documenter la gestion de vos clés SSH (utilisation d'algorithmes de cryptographie et de longueur de clés à l'état de l'art, protection des clés privées par une passphrase, rotation des clés). Pour des exemples de bonnes pratiques, consulter le document sur l'usage sécurisé d'(open)SSH.
  • Favorisez une authentification forte sur les services utilisés par l'équipe de développement.
  • Tracez les accès à vos machines et, si possible, mettez en place une analyse automatique des journaux. Afin de conserver des traces fiables, l'usage de compte générique est à proscrire.