SELINUX pour les débutants utilisant des centos

SELINUX pour les débutants utilisant des centos
Développé par la NSA pour prévenir l'accès et les intrusions malveillantes, Linux ou Selinux amélioré par la sécurité est une fonction de contrôle d'accès avancé qui est expédié avec la plupart des distros Linux modernes. SELINUX est défini comme le système de contrôle d'accès obligatoire (Mac) développé en remplacement du système de contrôle d'accès discrétionnaire (DAC).

Selinux peut sembler intimidant et très difficile à mettre en œuvre dans la plupart des systèmes modernes. Cependant, la configuration de Selinux présente d'énormes avantages à la fois dans l'application de la sécurité et le dépannage.

Ce tutoriel discutera de divers concepts mis en œuvre par SELINUX et explorera diverses méthodes pratiques de mise en œuvre de SELINUX.

Remarque: Avant de commencer, il est bon d'utiliser les commandes de ce tutoriel en tant qu'utilisateur racine ou utilisateur du groupe Sudoers.

Installez les packages Selinux

Installons divers packages Selinux, qui à leur tour aideront à travailler avec les politiques SELINUX.

Avant de procéder à l'installation des packages Selinux, il est bon que nous vérifions lesquels sont installés sur le système actuel.

Dans la plupart des installations de distributions REHL, certains packages sont installés par défaut. Ces forfaits comprennent:

  1. Setools - Ce package est utilisé pour surveiller les journaux, les politiques de requête et la gestion des fichiers de contexte.
  2. Policycoreutils-Python - fournit des utilitaires Python Core pour gérer SELINUX
  3. Policycoreutils - Ce package fournit également des services publics pour gérer SELINUX.
  4. McStrans - McStrans fournit un démon de traduction selinux, qui traduit différents niveaux en formats faciles qui peuvent être comprises facilement.
  5. setools-console - similaire à Setools.
  6. SELINUX-POLICY - Il fournit une référence pour configurer la stratégie SELINUX
  7. Sellinux-policy-ciblé - similaire à la politique de seinux
  8. Libslelinux-utils - Utilitaires SELINUX LIBSLELINUX qui aident à gérer SELINUX
  9. Setroubleshoot-Server - Outils pour dépanner SELINUX

Pour vérifier quels packages sont déjà installés sur votre système, vous pouvez utiliser la commande RPM -QA et tuer le résultat pour Grep pour SELINUX comme:

RPM -QA | grep selinux
libselinux-utils-2.9-4.EL8_3.x86_64
RPM-Plugin-Selinux-4.14.3-4.EL8.x86_64
sellinux-policy-ciblé-3.14.3-54.EL8_3.2.noarch
python3-libselinux-2.9-4.EL8_3.x86_64
selinux-politique-3.14.3-54.EL8_3.2.noarch
libselinux-2.9-4.EL8_3.x86_64

Cela devrait vous donner une sortie de tous les packages installés pour la prise en charge de Selinux

Si tous les packages Selinux sont installés sur votre système, utilisez Yum pour les installer comme indiqué dans la commande ci-dessous:

Yum installer la politique de politique de politique de politique-Politeutils-python-utils selinux-policy selinux-policy-ciblé libslelinux-utils setroubleshoot-server serools serools-console mcstrans

Modes et états de selinux

Laissez maintenant commencer à jouer avec selinux, en particulier, les modes selinux.

Modes selinux

Lorsqu'il est activé, Selinux peut être trois modes possibles:

  • Application
  • Permissif
  • Désactivé

Mode d'application

Si le mode selinux à appliquer, il garantira qu'aucun accès non autorisé au système par un utilisateur ou des processus n'est refusé. Le mode d'application conserve également les journaux de toute tentative d'accès non autorisé.

Mode permissif

Le mode permissif agit comme un état Selinux partiellement activé. Dans ce mode, aucun accès n'est refusé car Selinux n'applique pas ses politiques dans ce mode. Cependant, le mode permissif conserve un journal de toute tentative de violation de la politique. Ce mode est très efficace pour les tests avant de l'activer pleinement, car les utilisateurs et les composants peuvent toujours interagir avec le système mais toujours collecter des journaux. Cela vous permet de réprimer votre système d'une manière que vous le jugez bon.

Mode handicapé

Le mode désactivé peut également être considéré comme un état handicapé dans lequel Selinux est désactivé et n'offre aucune sécurité.

États de SELINUX

Une fois SELINUX installé sur un système. Il peut avoir des états binaires: activés et désactivés. Pour afficher l'état de Selinux, utilisez la commande:

Gettenforce
Désactivé

La sortie ci-dessus indique que SELINUX est actuellement désactivé.

Vous pouvez également utiliser la commande Sestatus comme indiqué ci-dessous:

Sestatus
Statut SELINUX: Désactivé

Activer et désactiver SELINUX

Les états et la configuration de selinux sont gérés par le fichier de configuration situé dans / etc / selinux / config. Vous pouvez utiliser la commande CAT pour afficher son contenu.

chat / etc / selinux / config
#Ce fichier contrôle l'état de selinux sur le système.
# Selinux = peut prendre l'une de ces trois valeurs:
#Enforcing - La politique de sécurité de Selinux est appliquée.
#Permissive - Selinux imprime les avertissements au lieu de l'application.
#Disabled - Aucune stratégie SELINUX n'est chargée.
Selinux = application
# SelinuxType = peut prendre l'une de ces trois valeurs:
# ciblé - les processus ciblés sont protégés,
# minimum - Modification de la politique ciblée. Seuls les processus sélectionnés sont protégés.
# MLS - Protection de sécurité multi-niveaux.
SelinuxType = ciblé

À partir de la sortie ci-dessus, nous avons deux directives principales activées. La directive SELINUX a spécifié le mode dans lequel SELINUX est configuré. La directive SelinuxType spécifie l'ensemble de stratégie SELINUX. Par défaut, Selinux utilise une stratégie ciblée qui vous permet de personnaliser les autorisations de contrôle d'accès. L'autre politique est la sécurité à plusieurs niveaux ou la MLS.

Vous pouvez trouver, une politique minimale dans certaines versions.

cd / etc / selinux /
[ls -l
total 4
-rw-r - r-- 1 racine racine 548 février 16 22:40 Config
DRWXR-XR-X 1 Root Root 4096 Féb 16 22:43 MLS
-RW-R - R-- 1 Root Root 2425 Jul 21 2020 SEMANAGE.confli
DRWXR-XR-X 1 racine de racine 4096 Féb 16 22:40 Target

Voyons maintenant comment activer Selinux sur le système. Nous recommandons d'abord définir le mode selinux sur permissif et non appliqué.

nano / etc / selinux / config

Modifiez maintenant la directive Selinux comme:

Selinux = permissive

Une fois que vous avez enregistré le fichier, émettez un redémarrage du système.

redémarrer

Remarque: nous recommandons fortement de définir la directive Selinux à permissive avant d'appliquer SELINUX.

Une fois que vous avez redémarré le système, vérifiez tous les journaux rapportés par Selinux dans / var / log / messages.

Ensuite, assurez-vous que vous n'avez aucune erreur et appliquez SELINUX en définissant la directive pour appliquer dans / etc / selinux / config

Enfin, vous pouvez afficher le statut Selinux à l'aide de la commande Sestatus:

Statut Selinux: activé
SELINUXFS MONT: / SYS / FS / SELINUX
SELINUX ROOT RACIAL: / etc / selinux
Nom de la politique chargée: ciblé
Mode actuel: application
Mode à partir du fichier de configuration: erreur (succès)
Statut MLS de politique: activé
Politique Deny_Unknown Status: Autorisé
Vérification de la protection de la mémoire: réel (sécurisé)
Version de la politique du noyau Max: 31

Vous pouvez également utiliser la commande setenforce pour basculer entre divers modes selinux. Par exemple, pour définir le mode sur permissive, utilisez la commande:

setenforce permissive

Ce mode est temporaire et sera restauré à un dans le fichier de configuration après un redémarrage.

Sestatus
Statut Selinux: activé
SELINUXFS MONT: / SYS / FS / SELINUX
SELINUX ROOT RACIAL: / etc / selinux
Nom de la politique chargée: ciblé
Mode actuel: permissif
Mode à partir du fichier de configuration: application
Statut MLS de politique: activé
Politique Deny_Unknown Status: Autorisé
Vérification de la protection de la mémoire: réel (sécurisé)
Version de la politique du noyau Max: 31

Politique et contexte de Selinux

Pour éviter la confusion pour les débutants de Selinux, nous ne plongerons pas profondément dans la façon dont les politiques de Selinux sont mises en œuvre, mais nous le toucherons simplement pour vous donner une idée.

Selinux travaille en mettant en œuvre des politiques de sécurité. Une politique de Selinux fait référence à une règle utilisée pour définir les droits d'accès à chaque objet du système. Les objets se réfèrent aux utilisateurs, aux processus, aux fichiers et aux rôles.

Chaque contexte est défini sous la forme de l'utilisateur: Rôle: Type: Niveau.

Par exemple, créez un répertoire dans votre répertoire domestique et affichez son contexte de sécurité Selinux comme indiqué dans les commandes ci-dessous:

mkdir ~ / linuxhint_dir
ls -z ~ / | grep linuxhint

Cela affichera la sortie comme indiqué ci-dessous:

non raffiné_u: objet_r: user_home_t: s0 linuxhint_dir

Vous pouvez également trouver d'autres répertoires avec les contextes de sécurité comme:

Système: _u: objet_r: user_home_t: s0

Vous pouvez réaliser que la sortie ci-dessus suit la syntaxe de l'utilisateur: Rôle: Type: Niveau.

Conclusion

C'était un tutoriel pour débutant à Selinux en utilisant Centos 8. Bien que le tutoriel soit conçu pour les débutants, il est plus que suffisant pour faire fonctionner vos pieds à Selinux et éliminer la nature intimidante de Sellinux.

Merci pour la lecture.