M22, Session #1
Présentation
Olivier Le Monnier, SysOp/DevSecOp
- Actuellement administrateur système à l’Université de Caen Basse-Normandie
- Responsable technique de plusieurs services d’infrastructure : DHCP, DNS, LDAP, Radius, parefeux des systèmes Linux…
- Initiateur d’innovations tant techniques qu’organisationnelles : infrastructure as code, intégration continue, centralisation des logs, prévention d’intrusion, rapprochement DevOps…
- Chef de projets (HelpDesk, Network Access Control, Ansible Tower, Gitlab, IPAM…)
- Promoteur des solutions du logiciel libre
Domaines de compétences
- Administration systèmes, expert Linux
- Exploitation réseaux IP : LAN, WAN, DC
- Sécurité des systèmes et des réseaux
Expériences Professionnelles (1/2)
- Depuis 2021 : Responsable du cours « Architectures de sécurité » pour le titre BAC+4 du CNAM concepteur en architecture informatique parcours cybersécurité
- Depuis 2013 : infrastructure as code (Puppet, Ansible, Gitlab),
architecture des parefeux pour les systèmes Linux (
iptables
), détections d’intrusion (Crowdsec, Suricata), centralisation et analyse des journaux (ELK) - Depuis 2011 : Enseignant en licence professionnelle « Audit et Sécurité de Réseaux et Systèmes d’Information » (Sécurité Linux avancée [SELinux, AppArmor], Analyse de la menace, Méthodologies d’audit de sécurité [ISO27000, EBIOS], Détections d’intrusion)
Expériences Professionnelles (2/2)
- 2006-2011 : Conception/Déploiement/Exploitation d’une solution d’accès sécurisé pour les collèges et lycées de l’académie de Caen (concentration IPsec, plateforme de production ZTP des routeurs de sites, séquestre de clé sécurisé)
- 1999-2006 : Développement/Exploitation d’une solution de serveur de communication (proxy transparent, hébergement messagerie et web, bastion SSH) déployés dans 200 collèges et lycées
- 1991-1999 : Enseignant en électronique/électrotechnique du BEP au BTS
Et vous-même ?
- Quel a été votre parcours jusqu’à aujourd’hui ? (formation initiale et/ou continue, établissements fréquentés…)
- Dans quel environnement professionnel avez-vous évolué et vous situez-vous ajourd’hui ? (grande ou petite entreprise, secteur public, quels services, missions, projets, technologies utilisées…)
- Quels sont les aspects de la formation que vous souhaitez développer ou qui vous attirent plus particulièrement ?
Merci de bien vouloir me faire une réponse écrite par email. J’espère y trouver matière à rendre cette UE aussi adaptée que possible à vos besoins. Il ne s’agit pas d’une évaluation.
Qu’est ce qu’un système d’exploitation ?
Très brièvement…
- Le système d’exploitation (souvent abrégé OS, pour Operating System) se place entre le matériel constituant l’ordinateur et les logiciels applicatifs
- C’est la première « application » exécutée après l’amorçage de l’ordinateur
- Les services offerts par l’OS permettent (du point de vue de l’utilisateur) l’exécution simultanée de plusieurs logiciels par plusieurs utilisateurs
- Il fournit une couche d’abstraction du matériel pour les développeurs
- Il gère et organise les accès aux ressources matérielles
demandés par les applications :
- capacités de stockage (mémoires, disques),
- temps de calcul fourni par les CPU,
- cartes graphiques, cartes réseau, autres périphériques d’entrée/sortie, …
- Aujourd’hui on distingue deux grandes familles d’OS : Unix et Windows
utilisateur -> applications -> OS -> matériel
Qu’est-ce qu’un ordinateur ?
Éléments historiques
- 1837
- machine analytique de Charles Babbage (concepts de Pascal avec la Pascaline, première machine à calculer en 1647 et de Jacquart avec son métier à tisser commandé par des cartes perforées en 1801)
- 1847
- Ada lovelace, premier programme destiné à calculer les nombres de Bernouilli pour la machine analytique
- 1906
- Henry Babbage calcule les 40 premiers multiples de π avec une précision de 29 décimales avec une version simplifiée de la machine analytique
- 1937
- première machine à calculer électromécanique programmable par IBM
- 1946
- L’ENIAC, première machine électronique programmable utilisant des tubes à vide
- 1950
- Apparition des transistors
- ~1965
- Mise au point de l’intégration à large échelle (LSI, Large Scale Integration)
- 1971
- Commercialisation du premier microprocesseur
- 1975
- Premier ordinateur personnel
Un ordinateur effectue des calculs, est une machine électronique et programmable. Le programme est une série d’instructions qui sont une forme d’informations.
Architecture matérielle
- Architecture de Von Neumann => Quatre parties :
- unité arithmétique et logique (UAL) qui effectue les opérations
- unité de contrôle ui pilote l’UAL
- mémoire recevant à la fois les instructions et les données. Elle peut être vive (travail) ou permanente (stockage).
- entrées/sorties
- Communication via des bus : de données ou de contrôle
- Composants :
- le microprocesseur regroupe :
- l’UAL et l’UC
- de la mémoire dîte mémoire-cache, parfois spécialisée données ou instructions
- NB : une puce peut regrouper plusieurs microprocesseurs
- NB : un microprocesseur est caratérisé par son architecture interne (ex : 486) et la taille des données qu’il traite (ex : 32 bits)
- de la mémoire vive (RAM) ou permanente (disques, de différentes technologies)
- une horloge (optionnelle de nos jours) pour cadencer le travail du microprocesseur
- des entrées/sorties très diverses
- le microprocesseur regroupe :
- Mémoire : Performances, Ordres de grandeur (cf http://www.info.univ-angers.fr/~richer/ensl3i_crs4.php)
Techno | Débit | Capacité | Coût | Temps d’accès |
---|---|---|---|---|
Mémoire-cache | 30Go/s | 16 Ko (L1) à 24 Mo (L3) | 100 $/Mo | 5 ns |
RAM | 10 Go/s | > 1 Go | 10 $/Mo | 10 ns |
Disque SSD | 3 Go/s | > 1 To | 1 $/Mo | 5 ms |
Disque SAS | 800 Mo/s | > 2 To | 0,1 $/Mo | 5 ms |
Disque SATA (III) | 300 Mo/s | > 4 To | 0,1 $/Mo | 5 ms |
Amorçage
- un code situé dans une EEPROM est chargé en mémoire et exécuté
- le BIOS lit le MBR (512 octets) ou la GPT (norme UEFI), charge puis exécute le chargeur d’amorçage en RAM (adresse 0x7c00)
- possibilité d’avoir le chargeur d’amorçage en ROM ou sur mémoire flash
- http://www.slashroot.in/linux-booting-process-step-step-tutorial-understanding-linux-boot-sequence

Stockage et Système de fichiers
Qui dit calcul, dit données (opérandes) et instructions. Les données comme les instructions sont des informations. Ces informations sont organisées sous la forme de fichiers (point de vue humain) et stockées dans des systèmes de fichiers (point de vue machine).
Systèmes de fichiers
Le système de fichiers organise les données sur le disque physique ou logique. Il existe de nombreux systèmes de fichiers. VFAT, NTFS, EXT3, HFS sont les plus connus des systèmes de fichiers locaux.
Le filesystem :
- offre des fonctions de sécurité
- peut être virtuel (
/proc
,/sys
) - peut être sur le réseau
- peut n’utiliser qu’une partie d’un disque
- peut agréger plusieurs disques
- peut offrir des fonctionnalités optionnelles (redondance, « élasticité », journalisation, instantanés, quotas, …)
On distingue d’autres types de systèmes de fichiers : réseau,
temporaire (cf initrd
), spécialisé (ISO9660 pour les CDROM, devfs
pour
l’espace des périphériques, …).
La journalisation du système de fichiers permet la récupération du système de fichiers en cas d’arrêt de l’écriture effective des données.
LVM
La gestion par volumes logiques des espaces de stockage d’un système consiste à gérer les disques durs physiques locaux et/ou distants dans des groupes de volumes, découpés en volumes logiques vus comme des disques physiques par le système.
LVM apporte des fonctionnalités intéressantes de sécurité (redondance de données) et d’administration (possibilité de prise d’instantanés de l’état des volumes logiques.

Chiffrement
Il est possible de gérer des partitions dont les données seront chiffrées/déchiffrées à la volée par le système.
Partitionnement
Le partitionnement consiste à séparer l’espace de stockage disponible en plusieurs espaces logiques. La table des partitions d’un disque est située dans le MBR. L’une des partitions principales (quatres au maximum) contient le programme d’amorçage du système d’exploitation. Une partition étendue peut contenir sa propre table des partitions et donc quatre sous-partitions ou partitions étendues.
Swap
Le swap est une partition spécialisée conçue pour recevoir des pages de mémoire en cas de saturation de la mémoire vive.
Virtualisation
- Histoire : premières recherches à Grenoble, émulateurs de consoles
- Concepts : système hôte, machine virtuelle
- Un empilage de couches, différents modèles :
- hyperviseur de type 2 (émulateur partiel)
- VirtualBox, VMware, QEMU

- hyperviseur de type 1 – système hôte adapté
- (plusieurs
solutions existant sous Linux, un projet d’harmonisation a
donné naissance à VirtIO, dont la libvirt est intégrée entre
autres à KVM.)
- Paravirtualisation : optimisation du noyau de la machine hôte pour la paravirtualisation ne requiert pas des machines virtuelles adaptées
- Solutions : KVM, Xen, VMware ESX

- conteneur ou isolateur (notion de contexte d’exécution)
- Vserver, OpenVZ, LXC et Docker. Le système hébergé est le même que le système hôte (un seul et unique noyau).

- Virtualisation matérielle : support des instructions de virtualisation processeurs AMD-V, Intel VT
- Couche d’abstraction entre le matériel et le Système d’exploitation
- Optimise la consommation des ressources vs consomme des ressources (cf paradoxe de Jevons et effet rebond)
- Facilite l’administration (certaines tâches plus aisées, notamment via la gestion des images – cf PRA et PCA) mais complexifie l’administration (nouvelles tâches)
- Aspect sécurité : machine hôte invisible vs machine hôte compromise
- Machine virtuelle parallèle et machine virtuelle applicative
Pour aller plus loin
TP Installation Linux
Installer la dernière version de la distribution CentOS en instanciant la machine virtuelle LPASRSI-CentOS8 sur le serveur Ravada : https://vdi.unicaen.fr

Celle-ci « embarque » le CD d’installation de la distribution CentOS 8. Sont imposés les éléments suivants :
- nom de domaine
lpasrsi.net
- politique de sécurité :
- installation minimale
- le système doit permettre de tracer l’identité des administrateurs
- le système doit comprendre un compte
olm
sur lequel il sera possible de se connecter en SSH sans mot de passe avec la clé suivante : ~ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJg4KOijZ2P2EVC8FYP1bvCoxKDfrOYG7ORfYWvAfDUA olm@n306z-olm001.campus.unicaen.fr~
- Lister les différentes étapes du processus.
- Décrire les choix techniques effectués, notamment en ce qui
concerne la définition des utilisateurs et son impact sur la
politique de sécurité (cf
su
vssudo
)