UP | HOME
LPASRSI

Modules « Système Linux »

Vacations en licence professionnelle « Audit et Sécurité des Réseaux et Systèmes d'Information » à l'antenne de Ifs du pôle de Caen de l'IUT Grand Ouest Normandie


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 :
    1. unité arithmétique et logique (UAL) qui effectue les opérations
    2. unité de contrôle ui pilote l’UAL
    3. mémoire recevant à la fois les instructions et les données. Elle peut être vive (travail) ou permanente (stockage).
    4. 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
  • 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

chapter03_flowchart_scr15_1.jpg

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.

776f487c-152f-4a1c-b939-bffee8e5b9a9.png

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
emulateur.png
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
hyperviseur.png
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).
isolateur.png
  • 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

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

Réseau-Ravada.png

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~
  1. Lister les différentes étapes du processus.
  2. 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 vs sudo)