Chapitre 9. Création de politiques SELinux pour les conteneurs
Red Hat Enterprise Linux 9 fournit un outil permettant de générer des politiques SELinux pour les conteneurs à l'aide du paquetage udica
. Avec udica
, vous pouvez créer une politique de sécurité personnalisée pour mieux contrôler la façon dont un conteneur accède aux ressources du système hôte, telles que le stockage, les périphériques et le réseau. Cela vous permet de renforcer vos déploiements de conteneurs contre les violations de sécurité et simplifie également l'obtention et le maintien de la conformité réglementaire.
9.1. Introduction au générateur de politiques SELinux udica
Pour simplifier la création de nouvelles politiques SELinux pour les conteneurs personnalisés, RHEL 9 fournit l'utilitaire udica
. Vous pouvez utiliser cet outil pour créer une stratégie basée sur une inspection du fichier JavaScript Object Notation (JSON) du conteneur, qui contient les capacités Linux, les points de montage et les définitions de ports. L'outil combine ensuite les règles générées à l'aide des résultats de l'inspection avec les règles héritées d'un bloc SELinux Common Intermediate Language (CIL) spécifié.
Le processus de génération d'une politique SELinux pour un conteneur à l'aide de udica
comporte trois parties principales :
- Analyse du fichier de spécification du conteneur au format JSON
- Trouver des règles d'autorisation appropriées sur la base des résultats de la première partie
- Génération de la politique SELinux finale
Au cours de la phase d'analyse, udica
recherche les capacités Linux, les ports réseau et les points de montage.
Sur la base des résultats, udica
détecte les capacités Linux requises par le conteneur et crée une règle SELinux autorisant toutes ces capacités. Si le conteneur se lie à un port spécifique, udica
utilise les bibliothèques SELinux de l'espace utilisateur pour obtenir l'étiquette SELinux correcte d'un port utilisé par le conteneur inspecté.
Ensuite, udica
détecte les répertoires montés dans l'espace de noms du système de fichiers du conteneur à partir de l'hôte.
La fonction d'héritage de blocs de la CIL permet à udica
de créer des modèles de SELinux allow rules axés sur une action spécifique, par exemple :
- allow accessing home directories
- allow accessing log files
- allow accessing communication with Xserver.
Ces modèles sont appelés blocs et la politique SELinux finale est créée en fusionnant les blocs.
Ressources supplémentaires
- Générer des politiques SELinux pour les conteneurs avec udica Red Hat Blog article