Se connecter

Fiche Module

FISE FISA

STI

Sécurité et Technologies Informatiques


Unité d'Enseignement :


Semestre : 9
Crédits ECTS : 8

Virtualisation et Cloud Computing


Elément Constitutif :


Coefficient : 1

Sécurité des infrastructures de virtualisation et Cloud Computing


Option Sécurité des Systèmes Ubiquitaires




Volume horaire : 21:20

Type Nombre Durée
Cours 8 01:20
TD 8 01:20


Evaluations : 1

Type Coefficient
Projet 0.5
Examen Final 0.5


Enseignants : 3

Enseignant Type
Eichler Cedric Responsable
Ravier Timothée Responsable
Ravier Timothée Intervenant


L'objectif de ce module est d'approfondir la compréhension du fonctionnement des infrastructure de virtualisation et des technologies sur lesquelles elles se basent pour pouvoir en évaluer, concevoir ou assurer la sécurité.

Pré-requis :

UE Semestre Module
Principes de la programmation 5 Programmation C
Initiation Système 5 Réseaux
Initiation Système 5 Programmation système
Programmation réseaux et système 6 Sécurité Informatique
Sécurité Informatique 7 Sécurité système
Sécurité Informatique 7 Sécurité réseau
Programmation réseaux et système 6 Administration système Linux
Virtualisation et Cloud Computing 9 Principes de la virtualisation et Cloud Computing
Virtualisation et Cloud Computing 9 Conteneur et Cloud Computing


  • Introduction générale sur les infrastructures cloud et introduction du cadre du module

  • Les conteneurs sous Linux

    • Disponibilité : concepts UNIX et cgroups
    • Isolation avec les namespaces
    • Capabilities Linux
    • seccomp-bpf
  • TD 1 :

    • Conteneurs avec Docker
    • Utilisation de l'interface noyau pour créer des namespaces en C
  • systemd

    • Historique
    • Fonctionnement et usage général
    • Fonctionnalités de sécurité
    • Modèle de menace, surface d'attaque, vulnérabilité potentielles et connues
  • TD 2 :

    • Fonctionnement de systemd & journald
    • Durcissement d'une unit systemd
    • Gestion avec les cgroups
  • SELinux

    • Concepts fondamentaux en sécurité
      • Confidentialité / Intégrité / Diposnibilité
      • Extensions: Authenticité / Auditabilité / Non répudiation
    • Principe du moindre privilège
    • Modèles de contrôle d'accès
      • Contrôle d'accès discrétionnaire (DAC)
      • Contrôle d'accès obligatoire (MAC)
    • Concepts fondamentaux pour SELinux
    • Concepts nécessaires à l'écriture d'une politique SELinux
  • TD 3 :

    • Fonctionnement de SELinux
    • Gestion des contextes et des booléens
    • Ecriture d'un module de politique
    • Confinement des utilisateurs
  • Sécurité des gestionnaires de conteneurs (Podman, Docker, etc.)

    • Fonctionnement d'un gestionnaire de conteneurs
    • Modèle de menace, surface d'attaque, vulnérabilité potentielles et connues
    • Durcissement des gestionnaires de conteneurs
  • Sécurité et durcissement de KVM

    • Fonctionnement de la virtualisation avec KVM
    • Fonctionnement des gestionnaires de machines virtuelles
    • Modèle de menace, surface d'attaque, vulnérabilité potentielles et connues
    • Durcissement des gestionnaires de machines virtuelles et de la virtualisation avec KVM
  • TD 4 :

    • Confinement des conteneurs avec SELinux
    • Création et durcissement d'une image de conteneur
    • Publication d'une image de conteneur sur un registre public
  • Sécurité des infrastructures

    • Fonctionnement général et sécurité d'OpenStack
    • Fonctionnement et sécurité de Kubernetes
    • Sécurité des cloud providers
    • Modèles de déploiement prenant en compte la sécurité
      • Infrastructure as Code
      • Immutable Infrastructure
  • TD 5 :

    • Introduction à Terraform (Infrastructre as Code)
    • Introduction à Fedora CoreOS (Immutable Infrastructure)
    • Sécurité Kubernetes et OpenShift



Examen Final sous forme de QCM, réalisé en cours, à la fin de l'intervention.

Project à rendre sous 2-3 semaines, nécessitant la mise en application des compétences acquises lors des TDs :

  • Création d'une unit systemd en prenant en compte des contraintes de sécurité
  • Création d'un module de politique SELinux pour une application de type démon
  • Création (Dockerfile) et exécution d'un conteneur en prenant en compte des contraintes de sécurité


Général :

  • https://www.ssi.gouv.fr/administration/guide/recommandations-de-configuration-materielle-de-postes-clients-et-serveurs-x86/
  • https://www.ssi.gouv.fr/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/

OpenStack :

  • https://docs.openstack.org/security-guide/
  • https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.2/html/security_and_hardening_guide/index

Kubernetes :

  • https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/
  • https://docs.openshift.com/container-platform/4.9/security/container_security/security-understanding.html
  • https://www.redhat.com/en/resources/openshift-security-guide-ebook

Compétences SecNumEdu:

Compétence Heures Cours Heures Pratique Niveau Entrée Niveau Sortie
Sécurité de l’électronique et des architectures matérielles 1 0 0 1
Etude de l'architecture matérielle et logicielle pour la mise en place de systèmes virtualisés et des implications en terme de sécurité.
Sécurité des systèmes d’exploitation 9 10 2 3
Sécurité des conteneurs, de la virtualisation, des orchestrateurs de conteneurs, confinement avec SELinux, systemd. Linux uniquement.
Compétences :

Ref. Verbe Description Niveau
C2_3 mettre en place Mise en oeuvre des fonctionnalités de sécurité proposées par les gestionnaires de conteneurs 3
C2_3 mettre en place Mise en oeuvre des fonctionnalités de sécurité proposées par systemd 3
C2_6 mettre en place Mise en oeuvre des fonctionnalités de sécurité proposées par SELinux 3