Introduction aux prisons FreeBSD

Un guide complet des prisons FreeBSD - virtualisation légère pour des environnements sécurisés et isolés

Introduction aux prisons FreeBSD

Les prisons FreeBSD fournissent une virtualisation au niveau du système d'exploitation, vous permettant de partitionner un système FreeBSD en plusieurs mini-systèmes indépendants appelés prisons.

Que sont les prisons ?

Les prisons sont des conteneurs légers qui partagent le noyau hôte mais possèdent le leur :

  • Hiérarchie du système de fichiers
  • Pile réseau (facultatif)
  • Comptes utilisateurs
  • Espace de processus

Pourquoi utiliser les prisons ?

  1. Isolement de sécurité - Les services compromis ne peuvent pas affecter l'hôte
  2. Gestion des ressources - Limiter l'utilisation du processeur, de la mémoire et du disque
  3. Déploiement facile – Clonez et migrez des environnements entiers
  4. Tests - Environnement sûr pour les expériences

Création de prison de base

# Create a jail root
mkdir -p /jails/myjail

# Extract base system
tar -xf /path/to/base.txz -C /jails/myjail

# Configure jail in /etc/jail.conf
myjail {
    host.hostname = "myjail.local";
    path = "/jails/myjail";
    exec.start = "/bin/sh /etc/rc";
    exec.stop = "/bin/sh /etc/rc.shutdown";
}

Prochaines étapes

Une fois que vous avez une prison de base en cours d’exécution, explorez :

  • VNET pour une virtualisation complète du réseau
  • Ensembles de données ZFS pour le stockage en prison
  • Des outils de gestion de prison comme iocage ou bastille