GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sécuriser les serveurs Linux avec SE Linux

La sécurité est un aspect extrêmement important du développement logiciel, de la gestion des serveurs et du développement d'applications de nos jours.

Et si vous utilisez Linux, vous avez de la chance - il est livré avec une excellente fonctionnalité appelée SE Linux qui vous aide à ajouter une couche de sécurité supplémentaire.

Qu'est-ce que SE Linux ?

SE Linux a été développé par la NSA (National Security Agency) pour servir les tâches de sécurité liées au gouvernement.

SE Linux signifie Security Enhanced Linux. Il donne aux administrateurs système plus de contrôle pour fournir l'accès aux fichiers et aux processus. Avec SE Linux, les administrateurs peuvent définir un contexte et baliser les fichiers et les autoriser dans ce contexte.

L'accès et les autorisations sont généralement hérités en fonction des groupes d'utilisateurs. Mais certaines sources (comme les serveurs Web et les processus) ont besoin d'accéder aux ports réseau et aux processus du noyau. Ceux-ci sont généralement générés par l'utilisateur root ou des utilisateurs disposant d'un accès spécial. SE Linux vous aide à limiter qui peut accéder à ces processus spéciaux.

Comment travailler avec SE Linux

SE Linux est fourni par défaut dans la plupart des distributions Linux. Dans ce post, je vais travailler sur Fedora.

Gardez simplement à l'esprit que travailler avec SE Linux nécessite sudo ou root accès.

Le fichier de configuration SE Linux se trouve dans le répertoire /etc/sysconfig/selinux dossier. Voyons son contenu :

Mode SE Linux

Dans le fichier de configuration, nous pouvons changer les modes et en choisir un parmi les suivants :

  1. Appliquée – Activé par défaut, filtres basés sur des politiques définies.
  2. Permissif – N'applique pas les stratégies définies, mais enregistre toutes les tentatives dans des fichiers journaux. Ce mode est utile pour le dépannage.
  3. Désactivé – SE Linux est complètement désactivé. Ceci n'est pas recommandé car cela pourrait exposer votre système à des menaces. De plus, le retour à l'application appliquée pourrait créer certaines divergences.

Vous pouvez vérifier votre mode SE Linux actuel avec les commandes ci-dessous :

  1. getenforce
  2. sestatus

Si vous avez seulement besoin de changer le mode pour la session en cours, vous pouvez utiliser les commandes ci-dessous :

  1. sudo setenforce 0 – définit le mode permissif pour la session en cours
  2. sudo setenforce 1 – définit le mode d'application pour la session en cours

Politiques SE Linux

Dans SE Linux, les politiques définissent l'accès aux utilisateurs. Les utilisateurs définissent l'accès aux rôles et les rôles définissent l'accès aux domaines. Les domaines permettent alors d'accéder à certains fichiers.

Pour changer et modifier les accès, des 'booléens' sont définis. Nous examinerons les booléens dans la section suivante.

Comment gérer les politiques SE Linux avec des booléens

Comme vous le savez maintenant, les politiques SE Linux sont gérées par des booléens.

Voyons un exemple concret de la façon dont vous afficheriez et définiriez un booléen. Dans cet exemple, nous allons définir des booléens spécifiques à httpd .

Tout d'abord, listez tous les modules spécifiques à http – getsebool -a | grep httpd .

Ici -a liste tous les booléens.

Ensuite, sélectionnons et modifions le booléen surligné en jaune dans le code ci-dessus :

getsebool httpd_can_connect_ftp

Maintenant, définissez la valeur sur allow .

setsebool -P httpd_can_connect_ftp 1

Dans la commande ci-dessus,

  • Le drapeau P est utilisé pour rendre le changement permanent même après le redémarrage.
  • 1 active le booléen.

Désormais, lorsque vous listerez à nouveau le processus, sa valeur sera autorisée.

Architecture Linux SE

Le schéma ci-dessous explique comment SE Linux valide une tentative depuis la source :

Dépannage et journaux SE Linux

SE Linux produit des journaux très détaillés pour chaque tentative. Vous pouvez trouver les journaux et les consulter ici :/var/log/audit .

Lors du dépannage, vous devez passer en mode "permissif" afin que tous les événements puissent être enregistrés dans les journaux. Bien que les politiques ne soient pas appliquées, les tentatives sont enregistrées dans les journaux.

Comment désactiver et activer SE Linux

Désactiver complètement SE Linux n'est jamais une bonne option. Mais il existe certains scénarios où les stratégies peuvent être contournées, comme lors du dépannage.

Au lieu de désactiver SE Linux si vous rencontrez un petit problème, il est préférable d'investir du temps dans le dépannage.

Mais si vous avez vraiment besoin de désactiver SE Linux, suivez ces étapes :

  1. Changez le mode de "application" à "permissif".
  2. Changez le mode de "permissif" à "désactivé".

Conclusion

Apprendre SE Linux vaut votre temps et il existe des possibilités infinies que vous pouvez explorer lors de son utilisation.

SE Linux fournit aux administrateurs un niveau de contrôle précis. Alors pourquoi ne pas l'apprendre et l'exploiter pour augmenter votre sécurité ?

Merci d'avoir lu jusqu'au bout. Connectons-nous sur Twitter.


Linux
  1. Comment j'utilise Vagrant avec libvirt

  2. Comment chiffrer des fichiers avec gocryptfs sous Linux

  3. Comment sécuriser Nginx avec Letsencrypt sur Rocky Linux/Centos 8

  4. Linux - Comment remplacer un serveur Vm DNS ?

  5. Comment sécuriser Rocky Linux 8

Comment exécuter un alias avec Sudo sous Linux

Comment démarrer avec Arch Linux

Comment protéger GRUB avec un mot de passe sous Linux ?

Comment gérer le stockage avec GParted Linux

Comment sécuriser un pare-feu Linux avec les règles IPTables

Comment sécuriser SSH avec Fail2Ban