Introduction
Selinux est un module de contrôle d'accès (Mac) obligatoire résidant au niveau du noyau des systèmes Linux. C'est un développement conjoint de Redhat et de la NSA publié vers 1998 et toujours entretenu par une communauté de passionnés. Par défaut, Ubuntu utilise Apparmor et non SELINUX, qui est similaire en termes de performances mais plutôt populaire en termes de simplicité. Cependant, Selinux est connu pour être assez sûr en raison de l'implication d'une agence gouvernementale. Selinux est une application open source qui protège l'hôte en isolant chaque application et en confinant ses activités. Par défaut, les processus sont empêchés de faire des activités à moins que l'autorisation explicite ne soit accordée. Le module fournit nativement deux règles de gestion du niveau mondial: permissive et application qui enregistre respectivement chaque règle violée et nie l'accès à une demande particulière envoyée à partir d'un processus. Ce tutoriel montre comment l'utiliser sur Ubuntu avec facilité.
Comment installer et activer
SELINUX est une application très délicate à installer, car si elle n'est pas correctement configurée avant le premier redémarrage, il rendra l'ensemble du système d'exploitation inoverable, ce qui signifie que tout au-delà de l'écran de démarrage initial sera pratiquement inaccessible par des moyens normaux.
Également comme indiqué précédemment, Ubuntu a déjà un système de contrôle d'accès obligatoire de haut niveau sophistiqué appelé Apparmor, et il doit donc être désactivé avant d'installer SELINUX pour éviter tout conflit. Utilisez les instructions suivantes pour désactiver Apparmor et activer SELINUX.
sudo / etc / init.D / Apparmor Stop |
APT-Get Update && mise à niveau -yuf |
APT-GET INSTALLATION SELINUX |
nano / etc / selinux / config |
«Définissez selinux sur permissive, selinuxType par défaut» |
Cette configuration de fichier peut être ouverte avec n'importe quel éditeur de texte pour apporter des modifications. La raison de l'attribution de la règle permissive à SetLinux est de rendre le système d'exploitation accessible tout en laissant SELINUX activé. Il est fortement recommandé d'utiliser l'option permissive car elle est sans tracas, mais elle enregistre les règles violées des règles définies dans SELINUX.
Options disponibles
Selinux est un module complexe et complet; Par conséquent, il contient beaucoup de fonctionnalités et d'options. Cela étant dit, la plupart de ces options peuvent ne pas être utiles pour tout le monde en raison de leur nature exotique. Les options suivantes sont quelques-unes des options de base et utiles dans ce module. Ils sont plus que suffisants pour faire fonctionner Selinux.
Vérifiez l'état: Le statut de selinux peut être vérifié directement via la fenêtre du terminal, qui montre les informations de base comme si SELINUX est activé, SELINUX ROOT ROOT DIRECTROY. Après avoir redémarré le système après l'installation de Selinux, utilisez la commande suivante comme utilisateur racine avec la commande sudo. S'il indique que Selinux est activé dans la section d'état, cela signifie qu'il est opérationnel en arrière-plan.
root @ ubuntu: / home / Dondilanga # Sestatus |
Modifier le niveau d'autorisation globale: Le niveau d'autorisation global indique comment Sellinux se comporte lorsqu'il trébuche sur une règle. Par défaut, Selinux se définit sur l'application qui bloque efficacement toutes les demandes, mais elle peut être modifiée en permissive, ce qui est un peu indulgent envers l'utilisateur car il permet d'accéder, mais enregistre toutes les règles violées dans son fichier journal.
nano / etc / selinux / config |
«Définissez selinux sur permissive ou appliquant, selinuxType par défaut» |
Vérifiez le fichier journal: Le fichier journal qui indique les règles violées par chaque demande. Cela ne conserve que les journaux si seinux est activé.
grep selinux / var / log / audit / audit.enregistrer |
Activer et désactiver les politiques et les protections qu'ils proposent: C'est l'une des options les plus importantes de Selinux, car elle permet d'activer et de désactiver les politiques. Selinux a un grand nombre de politiques prédéfinies qui déterminent si la demande spécifiée est autorisée ou non. Certains de l'exemple sont permis_ftpd_full_access qui déterminent la capacité du service FTP à se connecter aux utilisateurs locaux et à lire tous les fichiers sur le système, allow_ssh_keysign qui permet à des clés d'être utilisées lors de la connexion à SSH, allow_user_mysql_connect qui permet aux utilisateurs de se connecter à MySQL, allow_user_mysql_connect qui permet aux utilisateurs de se connecter à MySQL , httpd_can_sendmail qui détermine la capacité du service HTTP à envoyer un e-mail, etc. , Enfin, il enseigne comment définir ou désactiver une politique, le perte_ftpd_full_access est le nom de politique comme indiqué dans le terminal renvoyé par Sémanage,
APT-Get Installer Policycoreutils-Python-Utils |
setSebool -p allow_ftpd_full_access sur |
Options avancées
Les options avancées sont des options qui aident à étendre les fonctionnalités à SELINUX. Il existe énormément de combinaisons en raison de la nature globale de SELINUX, donc cet article répertorie certains des proéminents et utiles parmi eux.
Contrôle d'accès basé sur les rôles (RBAC): La RBAC permet aux administrateurs de passer à un moyen basé sur le rôle de limiter l'autorisation des applications. Ce que cela signifie, c'est qu'un utilisateur d'un groupe d'utilisateurs particulier est autorisé à exécuter ou à effectuer certaines actions prédéfinies. Tant que l'utilisateur fait partie du rôle, ça va. C'est la même chose que le passage à root lors de l'installation d'applications sur Linux avec des droits administratifs.
SEMANAGE LOGIN -A -S 'MYROLE' -R 'S0-S0: C0.C1023 ' |
Les utilisateurs peuvent changer leur rôle avec la commande suivante.
Les utilisateurs peuvent également se connecter à distance au serveur via SSH avec le rôle activé au démarrage.
ssh / new_role_r @ nucuta.com |
Autoriser un service à écouter un port non standard: Ceci est très utile pour personnaliser un service, par exemple lorsqu'un port FTP est transformé en un port non standard afin d'éviter les accès non autorisés, Selinux doit être informé en conséquence pour permettre à ces ports de passer et de fonctionner comme d'habitude. L'exemple suivant permet au port FTP d'écouter le port 992. De même, tout service renvoyé par Port de sémanage -l Peut être remplacé. Certains des ports populaires sont http_port_t, pop_port_t, ssh_port_t.
PORT DE SEMANAGE -A -T FTP_PORT_T -P TCP 992 |
Comment désactiver
La désactivation de Selinux est plus facile car elle est activée et installée. Fondamentalement, il y a deux façons de le désactiver. Temporairement ou permanent. La désactivation de Selinux temporaire le rend désactivé pendant un certain temps jusqu'au démarrage suivant, et dès que l'ordinateur est à nouveau activé, l'état est redémarré. D'un autre côté, le désactivation permanente de Selinux la ferme complètement l'exposition aux menaces; C'est donc un choix judicieux de restaurer l'Apparmor par défaut d'Ubuntu au moins pour la sécurité du système.
La commande suivante sur le terminal l'éteint temporairement:
Pour modifier en permanence / etc / selinux / config et définir SELINUX à Disabled.