TX sécurité A18

Ce dépôt contient la documentation rédigée par Stanlkey RAGAVA et Igor WITZ à l'occasion de la TX sécurité réalisée au semestre d'automne 2018. Les dépôts Gitlab suivants ont été créés lors de cette TX :

  • picasoft-wiki pour stocker la documentation
  • Wiki où la documentation est stockée après fin de la TX
  • test-ci pour le développement de la chaîne d'intégration Gitlab

Les travaux ont été séparés en une partie infrastructure et une partie Docker.

Inventaire de bonnes pratiques Docker

Wiki :

Gitlab :

  • Rédaction d'un article contenant des recommandations systèmes pour Docker

Etude de l'infrastructure technique de Picasoft

Wiki :

  • Refonte de l'article architecture globale du Wiki comprenant :
    • un nouveau schéma de l'infrastructure
    • la liste des machines physiques et virtuelles ainsi que leur rôle
    • la liste des services pour chaque machine
    • la liste des noms de domaine identifiés ainsi que les machines spécifiques vers lesquelles ils pointent
    • la liste des briques logicielles et matérielles utilisées
    • la liste et la description des points névralgiques ayant pu être identifiés lors de l'état des lieux

Gestion des mises à jour

Gitlab :

  • Définition d'un plan de gestion des mises à jour comprenant :
    • Un comparatif entre les versions de chaque services et les dernières versions publiées
    • Un planning des mises à jour à effectuer
  • Développement d'un script permettant d'effectuer les mises à jour de sécurité ou autres sur des machines Debian et basées sur Linux

Procédures de départ et d'arrivée

  • Liste des actions à réaliser lors de l'arrivée et du départ d'utilisateurs

Etude de Hashicorp Vault

Gitlab :

  • Production de documentation, expliquant notamment pourquoi l'utilisation de cette technologie n'a pas été retenue.

Analyse de l'image pica-etherpad

  • Tests avec docker-bench-security et Clair
  • Tests manuels et confrontation de l'image aux bonnes pratiques déterminées préalablement
  • Rédaction d'un rapport d'analyse
  • Correction des vulnérabilités, rédaction d'un rapport de correction, insertion de l'image dans le dépôt Picasoft, mise en production de l'image, modifications de l'image pour réfléter les modifications apportées lors de la mise en production et correction supplémentaire. La version actuelle de l'image se trouve ici

Création d'une chaîne d'intégration Gitlab pour le dépôt picasoft/dockerfiles

  • Création d'un dépôt Gitlab pour le test de la CI
  • Installation d'un runner sur pica01-test et documentation du fonctionnement de la CI

Analyse de l'image pica-dokuwiki

  • Analyse de l'image et rédaction d'un rapport
  • Corrections des vulnérabilités détectées
  • Chaîne d'intégration :
    • intégration à la CI de l'image pica-mattermost selon la documentation
    • finir la partie “déploiement en production” → en particulier, exposer le démon Docker de la VM sur laquelle se trouve pica-dokuwiki au réseau ce qui n'est pas fait actuellement
  • Mises à jour automatiques :
  • Déploiement en sur une machine de test de picasoft (pica01-test par exemple) :
    • Dans le script de test, remplacer l'email de picasoft par celui de la personne qui réalise le test
      echo "MAILTO=\"picasoft@assos.utc.fr\"" >> /etc/cron-apt/config
    • Faire en sorte que le cron s'execute toutes les 15 minutes pour les tests en changeant la ligne ci-dessous dans le script (cf. wiki cron)
      # update 1st day of every months at 4:00 a.m.
            echo "0 4	* * *	root	test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt" > /etc/cron.d/cron-apt
    • Exécuter le script sur la machine de tests de picasoft
    • Regarder si les rapports de mises à jour sont bien envoyés/reçus par email et si tout s'est passé correctement
    • Si OK, déployer ce script sur toute les machines de tests (en surveillant que tout se passe bien pendant les premiers mois)
  • Déploiement sur les machines de production de picasoft
    • Si la phase précédente s'est bien passée, mettre le script de prod sur les machines de prod
  • txs/infra-a18/securite.txt
  • Dernière modification: 2019/05/13 15:42
  • (modification externe)