Mise en place d'une infrastructure sécurisée

Image


Ma mission au sein de la DSI d'Orange a débuté en janvier 2020 et a duré jusqu'en juin 2022. L'objectif était de construire une infrastructure sécurisée qui fonctionnera avec un poste de travail sécurisé.



L'environnement

Pour ce faire, j'ai commencé à construire une plateforme de validation avec les services nécessaires. L'infrastructure fonctionnait virtuellement sur VMWare, et toutes les machines que je gérais tournaient sous Redhat Linux 8.



Configuration de base

Après avoir accès à tout ce dont j'avais besoin pour commencer à créer les machines et à effectuer leur configuration initiale, j'ai utilisé Ansible pour automatiser ces tâches. Mes playbooks étaient simples mais fonctionnaient très bien, interagissant avec l'API de VMWare. Une fois la création des machines terminée, j'ai également écrit quelques playbooks Ansible pour effectuer la configuration initiale des machines, comme la configuration DNS, les dépôts, NTP et ainsi de suite.



Applications

La première chose que j'ai configurée était le DNS, après avoir assigné des adresses IP à chaque machine. J'ai choisi d'utiliser bind9 parce que je l'ai déjà utilisé, et avais donc des connaissances préalables. Le DNS avait plusieurs vues pour gérer les différentes IP de source et de destination. Il y avait également d'autres zones avec différents domaines.

Après avoir configuré le DNS, j'avais besoin d'un serveur de dépôt local pour que chaque machine puisse installer des paquets sans interroger les serveurs Redhat à chaque fois. Pour ce faire, j'ai utilisé une machine dédiée sur laquelle j'ai cloné des dépôts Redhat à l'aide de commandes intégrées. Une fois le clonage effectué, le serveur fait office de référentiel. Pour maintenir les paquets à jour, un script peut être utilisé et exécuté avec cron.

J'ai également dû configurer OpenLDAP pour les utilisateurs. Avec cela, ils pouvaient s'authentifier et utiliser les services fournis par l'infrastructure. Le serveur OpenLDAP fonctionnait également avec kerberos.

J'ai aussi utilisé de nombreuses autres applications telles que le serveur web Apache, Haproxy pour la répartition de charge, postgresql pour les bases de données, Stormshield comme pare-feu, etc.



Sécurité

La sécurité était un élément important du projet, car l'infrastructure devait être conforme à un grand nombre de règles.

Chaque connexion était chiffrée avec des certificats SSL, utilisateurs et machine à machine. Grâce à cela, j'ai beaucoup appris sur les certificats, les clés privées et la manière de gérer et de sécuriser les applications et les serveurs.

Les droits *nix étaient également très importants dans le projet. J'ai dû faire très attention aux droits en fonction du type de fichier et des informations qu'ils contiennent. Par exemple, une clé privée ne devrait jamais être lisible par tout le monde, les bits setuid et setguid n'étaient pas recommandés. Ces exigences m'ont permis de mieux comprendre comment les droits *nix fonctionnent et quels fichiers doivent être protégés plus que d'autres.

SELinux était également mis en place sur chaque machine, empêchant les utilisateurs et les applications de modifier certains paramètres du système qui pourraient casser la machine ou sa sécurité. Par exemple, je ne peux pas définir le port SSH sur un port habituellement utilisé dans les connexions HTTP sans modifier les politiques SELinux.



Supervision

Cette plate-forme de validation n'était pas surveillée au départ. J'ai considéré qu'elle n'était pas assez critique pour que je sois averti par e-mail dès qu'un petit problème survient. Ce n'était pas une bonne idée, car certains problèmes sont apparus au bout d'un certain temps, comme l'espace disque qui devenait faible ou plein, l'utilisation du CPU qui augmentait parce qu'une application se comportait mal, etc.

J'ai décidé de déployer la solution de surveillance que je connais le mieux : Centreon. Je l'ai configurée pour superviser l'ensemble de la plate-forme de validation, qui compte plus de 300 services. Cela m'a beaucoup aidé à intercepter les problèmes qui pourraient devenir plus graves s'ils n'étaient pas rapidement résolus.



Le PC sécurisé

En plus de l'infrastructure, je travaillais avec un poste de travail sécurisé qui se connectait à l'aide de VPNs mis en place sur une machine Stormshield. Ce poste de travail est un ordinateur supplémentaire utilisé pour effectuer des tâches critiques de la manière la plus sécurisée qui soit, grâce à son système d'exploitation renforcé et à la sécurité robuste de l'infrastructure.



Travail d'équipe

Un autre aspect non négligeable du projet a été la capacité à travailler en équipe. De nombreuses personnes étaient impliquées dans le projet, et beaucoup d'entre elles n'étaient pas présentes au bureau avec moi. Il y avait des gens dans différentes villes, et la communication était essentielle. Nous avons dû communiquer beaucoup en utilisant plusieurs outils, travailler avec différentes entités et avec des personnes ayant des compétences et expériences différentes.

J'ai trouvé cela très enrichissant car toutes ces personnes différentes m'ont appris beaucoup de choses pendant ces deux ans.