Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
16 mai 2017

htmlpdflatexmanmd




genhomedircon

genhomedircon

Générer des entrées de configuration de contexte de fichier SELinux pour les répertoires personnels

   genhomedircon est un script qui exécute semodule pour reconstruire la stratégie SELinux active (sans la recharger) et pour créer les labels pour chaque répertoire personnel basé ser les chemins retournés par getpwent. Ce script est généralement exécuté par semanage bien que cela peut être modifié par disable-genhomedircon=true dans semanage.conf.

^
08 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/booleans

/etc/selinux/‹SELINUXTYPE›/booleans, booleans.local

Fichiers de configuration pour les booléens SELinux

   Le fichier booleans, si présent, contient les booléens pour supporter une distribution spécifique. booleans.local, si présent contient les booléens générés localement. Ces fichiers contiennent une liste de noms et leurs valeurs associés. Généralement ces fichiers ne sont pas présents (ils ont été dépréciés). Cependant s'il y a une application qui utilise les fonctions libselinux listés ci-dessous, ces fichiers peuvent être présents:

security_set_boolean_list(3)
security_load_booleans(3)

Format

   Ces fichiers ont le format suivant: boolean_name value
^
08 mai 2017

htmlpdflatexmanmd




checkpolicy

checkpolicy

Compilateur de stratégie SELinux

   checkpolicy est un programme qui vérifie et compile une configuration de stratégie de sécurité SELinux dans une représentation binaire qui peuvent être chargée dans le kernel. Si aucun fichier d'entrée n'est spécifié, tente de lire policy.conf ou la stratégie.

OPTIONS

-b, --binary Lit un fichier de stratégie binaire existant au lieu d'un fichier policy.conf
-C, --cil Écrit un fichier de stratégie CIL au lieu d'un fichier binaire
-d, --debug Entre en mode debug une pour la stratégie chargée
-M, --mls ACtive la stratégie MLS en vérifiant et en compilant la stratégie
-o, --output filename Écrit un fichier de stratégie binaire au nom spécifié
-c policyvers Spécifie la version de la stratégie
-t, --target Spécifie la platform cible (selinux ou xen)
-U, --handle-unknown ‹action› Spécifie comment le kernel doit gérer les classes ou permissions inconnues (deny, alow ou reject)
^
08 mai 2017

htmlpdflatexmanmd




mcstransd

mcstransd

Service MCS. Traduit les labels MCS/MLS sous forme lisible

OPTIONS

-F Ne lance pas en tâche de fond
^
08 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/customizable_types

/etc/selinux/‹SELINUXTYPE›/contexts/customizable_types

Fichier de configuration des types personnalisables SELinux

   Ce fichier contient une liste de types qui peuvent être personnalisés dans certaines applications. Généralement, c'est un type de contexte de fichier qui est définis sur les fichiers qui doivent être partagés dans certains domaines et où les administrateurs souhaitent gérer manuellement le type.

   L'utilisation de types personnalisables est déprécié en faveur de semanage, fcontext, etc. Cependant les application compatibles SELinux comme setfiles utilisent ces informations pour obtenir une liste de types en relation avec des fichiers qui ne devraient pas être relabélisés. Chaque ligne dans le fichier consiste d'un type qui peut être personnalisé

Exemple:
mount_loopback_t
public_content_rw_t
public_content_t
swapfile_t
sysadm_untrusted_content_t

^
08 mai 2017

htmlpdflatexmanmd




secolor.conf

secolor.conf

Fichier de configuration de couleur SELinux

Ce fichier contrôle la couleur associée aux composants de contexte associés au context raw passé par selinux_raw_context_to_color(3). Quand les informations lié au contexte sont affichées en couleur par une application compatible SELinux. Le fichier a le format suivant:
color color_name = #color_mask
[...]
    
[...]
context_component string    *    fg_color_name bg_color_name

color Le mot clé color
color_name nom de la couleur (ex: red)
color_mask Masque de couleur avec un # qui décris les couleurs RGB hexadécimal. black = #000000 et white = #ffffff
context_component Nom du composant de contexte (user, role, type ou range)
string change context_component qui matche le contexte raw. un '=' peut être utilisé pour matcher toute les types.
fg_color_name nom de couleur utilisé pour le texte
bg_color_name Nom de couleur utilisé pour le fond

Exemples

Exemple 1:
color black = #000000
color green = #008000
color yellow = #ffff00
color blue = #0000ff
color white = #ffffff
color red = #ff0000
color orange = #ffa500
color tan = #D2B48C
user * = black white
role * = white black
type * = tan orange
range s0-s0:c0.c1023 = black green
range s1-s1:c0.c1023 = white green
range s3-s3:c0.c1023 = black tan
range s5-s5:c0.c1023 = white blue
range s7-s7:c0.c1023 = black red
range s9-s9:c0.c1023 = black orange
range s15:c0.c1023 = black yellow
Exemple 2:
color black = #000000
color green = #008000
color yellow = #ffff00
color blue = #0000ff
color white = #ffffff
color red = #ff0000
color orange = #ffa500
color tan = #D2B48C
user unconfined_u = #ff0000 green
role unconfined_r = red #ffffff
type unconfined_t = red orange
user user_u = black green
role user_r = white black
type user_t = tan red
user xguest_u = black yellow
role xguest_r = black red
type xguest_t = black green
user sysadm_u = white black
range s0:c0.c1023 = black white
user * = black white
role * = black white
type * = black white
^
08 mai 2017

htmlpdflatexmanmd




pam_sepermit

pam_sepermit

Module PAM pour autoriser/refuser le login en fonction de l'état d'enforcement SELinux

   Quand un utilisateur se log et match une entrée dans le fichier de configuration, il est autorisé seulement quand SELinux est en mode enforcing, sinon l'accès lui est refusé. Pour les utilisateurs qui ne matchent pas dans le fichier de configuration, le module retourne PAM_IGNORE.

OPTIONS

debug mode debug
conf=/path/to/conf/file Chemin alternatif du fichier de configuration

   Ce module fournis les type auth et account

Valeurs de retour

PAM_AUTH_ERR SELinux est désactivé ou en mode permissif et l'utilisateur match.
PAM_SUCCESS SELinux est en mode enforcing et l'utilisateur match
PAM_IGNORE L?utilisateur ne match pas
PAM_USER_UNKNOWN Le module n'est pas capable de déterminer le nom utilisateur
PAM_SERVICE_ERR Erreur durant la lectule du fichier de configuration

Exemple

auth [success=done ignore=ignore default=bad] pam_sepermit.so
auth required pam_unix.so
account required pam_unix.so
session required pam_permit.so
^
08 mai 2017

htmlpdflatexmanmd




/etc/security/sepermit.conf

/etc/security/sepermit.conf

fichier de configuration pour pam_sepermit

   Les lignes sont sous la forme ‹user›[:‹option›:‹option›...]. Un utilisateur peut être un username, un @group, ou un utilisateur SELinux (%seuser)

OPTIONS

exclusive Seul une session login est permise pour l'utilisateur et les processus de l'utilisateur seront tués au logout
ignore Le module ne retourne jamais PAM_SUCCESS pour l'utilisateur. Il retourne PAM_IGNORE si SELinux est en mode enforcing, PAM_AUTH_ERR sinon. Utile pour supporter les utilisateurs invités sans mot de passe et des utilisateurs confinés sans mot de passe simultanément.
^
08 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/setrans.conf

/etc/selinux/‹SELINUXTYPE›/setrans.conf

Fichier de configuration de traduction pour les systèmes SELinux MCS/MLS

   Ce fichier spécifie la manière dont les labels MCS/MLS sont traduits sous forme lisible par l'homme par les service mcstransd. Les stratégies par défaut ne supportent que 16 niveaux de sensibilité (s0 à s15) et 1024 catégories (c0 à c1023). Plusieurs catégories peuvent être séparés par des ',' et une plage de catégorie peut être raccourcie en utilisant un '.'

Mots clés

Base Une fois une base déclarée, les définitions de label suivant possèderont tous ces modificateurs durant la traduction.
Default Définit le bit de plage de catégorie utilisé pour les bits inverses
Domain Créé un nouveau domaine avec le nom fournis
Include Lit et traite le contenu du fichier de configuration spécifié
Join Définis un caractère utilisé pour séparer les membres d'un ModifierGroup
ModifierGroup Un moyen de grouper des définitions de bit de catégorie par la manière dont ils modifient le label de sensibilité
Prefix Mot(s) préfixe qui peuvent précéder les membres d'un modifiergroup
Suffix Mot(s) suffixe qui peuvent suivre les membres d'un modifiergroup
Whitespace Définis le jeu de caractère d'espace blanc acceptables qui peuvent être utilisé dans les labels traduits

Exemples de définition de niveau de sensibilité
s0=SystemLow
Définis une traduction de s0 (le niveau de sensibilité la plus faible) sans catégorie.
s15:c0.c1023=SystemHigh
Définis une traduction de s15:c0.c1023 en system SystemHigh. c0.c1023 est un raccourcis pour toutes les catégories.
s0-s15:c0.c1023=SystemLow-SystemHigh
Définis une traduction de s0-s15:c0.c1023 en SystemLow-SystemHigh.
s0:c0=PatientRecord
Définis une traduction de la sensibilité s0 avec la catégorie c0 en PatientRecord
s0:c1*Accounting
Définis une traduction de la sensibilité s0 avec la catégorie c1 en Accounting
s2:c1,c2,c3=Confidential3Categories
s2:c1.c3=Confidential3Categories
Définissent une traduction de la sensibilité s2 avec les catégories c1, c2 et c3 en Confidential3Categories
s5=TopSecret
Définis une traduction de la sensibilité s5 sans catégorie en TopSecret

Exemples de contraintes
c0!c1 Si les bits de catégorie 0 et 1 sont mis, la contrainte échoue et le contexte original est retourné
c5.c9›c1
Si les bits 5 à 9 sont mis et le niveau de sensibilité s1, la contrainte échoue
s1!c5,c9
Si les bits 5 et 9 sont mis et le niveau de sensibilité est s1, la contrainte échoue.
^
08 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/seusers

/etc/selinux/‹SELINUXTYPE›/seusers

Fichier de configuration de mappage des utilisateurs GNU/Linux en utilisateurs SELinux

   Ce fichier est utilisé par les application de connexions compatible SELinux. selinux_usersconf_path(3) retourne le chemin de la stratégie active vers ce fichier. getseuserbuname(3) lit ce fichier pour maper un utilisateur ou groupe en un utilisateur SELinux. Chaque ligne consiste des champs suivants [%group_id]|[user_id]:seuser_id[:range]

group_id|user_id Le GID/UID GNU/Linux. une entrée __default__ peut être fournis.
seuser_id L'identité utilisateur SELinux
range Niveau ou plage optionnelle pour une stratégie MLS/MCS

Exemple


__default__:user_u:s0
system_u:system_u:s0-s15:c0.c255
root:root:s0-s15:c0.c255
fred:user_u:s0
%user_group:user_u:s0
^
07 mai 2017

htmlpdflatexmanmd




semodule

semodule

Gérer les modules de stratégie SELinux

   semodule est l'outil utilisé pour gérer les modules de stratégie SELinux, incluant l'installation, la mise à jours, le listing et la suppression des modules. semodule peut également être utilisé pour reconstruire une stratégie depuis un magasin de module et/ou forcer à recharger une stratégie sans effectuer d'autre transactions. semodule agit sur les paquets de module créés par semodule_package. Par convention, ces fichiers ont un suffixe .pp (policy package).

OPTIONS

-R, --reload Force à recharger une stratégie
-B, --build Force à reconstruire une stratégie (recharge également sauf si -n)
-D, --disable_dontaudit Supprime temporairement dontaudits de la stratégie
-i, --install=MODULE_PKG Install/remplace un paquet module
-r, --remove=MODULE_NAME Supprime un module existant
-l[KIND], --liste-modules[=KIND] Affiche une liste des modules installés
-E, --extract=MODULE_PKG Extrait un module du magasin comme fichier HLL ou CIL dans le répertoire courant.

KIND

        standard Liste la plus haut priorité
        full Liste tous les modules

-X,--priority=PRIORITY Définis la priorité pour les opérations qui suivent (1-999)
-e, --enabled=MODULE_NAME Active un module
-d, --disable=MODULE_NAME désactive un module
-s, --store Nom du magasin à utiliser pour les opérations
-n, --noreload, -N ne pas recharger la stratégie
-p, --preserve_tunables préserve tunables in policy
-C, --ignore-module-cache Recompile les module CIL construis depuis les fichiers HLL
-p, --path Chemin alternatif pour la racine de stratégie
-S, --store-path Chemin alternatif pour la racine du magasin de stratégie
-v, --verbose mode verbeux
-c, --cil Extrait le module comme fichier CIL
-H, --hll Extrait le module comme fichier HLL

Exemples

Installer ou remplacer un paquet de stratégie de base
semodule -b base.pp
installer ou remplacer un paquet de stratégie non base
semodule -i httpd.pp
Lister les module non de base
semodule -l
Activer tous les messages AVC pour lesquels SELinux est actuellement en 'dontaudit'
semodule -DB
Réapplique les règles 'dontaudit'
semodule -B
Installer ou remplacer tous les modules non-base dans le répertoire courant
semodule -i *.pp
Installer ou remplacer tous les modules dans le répertoire courant
ls *.pp | grep -Ev "base.pp|enableaudit.pp" | xargs /usr/sbin/semodule -b base.pp -i
Désactiver un module
semodule -d alsa
Installer un module avec une priorité spcifique
semodule -X 100 -i alsa.pp
Lister tous les modules
semodule --list=full
Définir un chemin alternatif pour la racine des stratégie
semodule -B -p "/tmp"
Écris la version HLL de puppet et la version CIL de wireshark
semodule -X 400 -E puppet --cil -E wireshark
^
07 mai 2017

htmlpdflatexmanmd




/etc/sestatus.conf

/etc/sestatus.conf

Fichier de configuration pour sestatus

   sestatus -v utilise ce fichier pour déterminer quel contexte de sécurité de fichier et processus devraient être affichés. Le fichier consiste de 2 sections optionnelles [files] et [process].

[files] Début d'une liste de fichier
file_name Un ou plusieurs noms de fichiers complet, chacun sur une ligne, dont le contexte sera affiché. Si le fichier n'existe pas il est ignoré. Si c'est un lien symbolique, affihe le contexte de la cible
[process] Début d'une liste de processus
executable_file_name Un ou plusieurs fichiers exécutable complet qui devraient être dans un processus actif, et dont le contexte sera affiché.

Exemples


[files]
/etc/passwd
/etc/shadow
/bin/bash
/bin/login
/lib/libc.so.6
/lib/ld-linux.so.2
/lib/ld.so.1
    
[process]
/sbin/mingetty
/sbin/agetty
/usr/sbin/sshd
^
07 mai 2017

htmlpdflatexmanmd




sestatus

sestatus

Outils de status SELinux

   sestatus est utilisé pour obtenir le status d'un système avec SELinux

OPTIONS

-v Affiche les fichiers de contexte des fichiers et processus listés dans /etc/sestatus.conf
-b Affiche l'état courant des booléens
^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/users/<se_user>

/etc/selinux/‹SELINUXTYPE›/contexts/users/‹se_user›

Fichiers contenant les entrées qui permettent de déterminer le contexte d'un utilisateur à l'ouverture d'une session

   Il y a un fichier pour chaque utilisateur SELinux configuré dans le système. Chaque ligne dans le fichier de configuration a le format login_process user_login_process

login_process consiste d'une entrée role:type[:range] qui représente le contexte du processus de login
user_login_process consiste d'une entrée role:type[:range] qui représente le contexte du processus de login de l'utilisateur

Exemple


system_r:crond_t:s0 xguest_r:xguest_t:s0
system_r:initrc_t:s0 xguest_r:xguest_t:s0
system_r:local_login_t:s0 xguest_r:xguest_t:s0
system_r:remote_login_t:s0 xguest_r:xguest_t:s0
system_r:sshd_t:s0 xguest_r:xguest_t:s0
system_r:xdm_t:s0 xguest_r:xguest_t:s0
xguest_r:xguest_t:s0 xguest_r:xguest_t:s0
^
07 mai 2017

htmlpdflatexmanmd




service_seusers

service_seusers

Fichiers de configuration de mappage d'utilisateur et service en utilisateur SELinux

   Ces fichiers sont optionnels et permettent aux services de définir un utilisateur SELinux à l'authentification. Il y a un fichier pour chaque utilisateur GNU/Linux qui est requis pour lancer un service avec un username SELinux spécifique. Chaque ligne a le format service:seuser[:range]

service Le nom du service utilisé par l'application
seuser Le nom d'utilisateur SELinux
range La plage MCS/MLS

Exemple


# ./logins/root
ipa:user_u:s0
this_service:unconfined_u:s0
    
# ./logins/rch
ipa:unconfined_u:s0
that_service:unconfined_u:s0
^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/config

/etc/selinux/config



   Ce fichier contrôle l'état de SELinux:

        1. Le status d'application de la stratégie
        2. Le nom de la stratégie et le type qui forment un chemin vers la stratégie à charger
        3. Le comportement au regard des utilisateurs quand la stratégie est chargée
        4. Comment les applications login compatibles SELinux doivent se comporter si aucun utilisateur SELinux n'est configuré
        5. Si le système doit être relabélisé ou non.

OPTIONS

SELINUX Cette entrée indique l'application de la stratégie: enforcing, permissive, ou disabled
SELINUXTYPE Identifie le type de stratégie et doit être le nom d'un répertoir e sous /etc/selinux.
REQUIREUSERS (bool) Permet d'échouer un login s'il n'y a pas de match en d'entrée par défaut dans le fichier seusers
AUTORELABEL (bool) à 0, s'il existe un fichier .autorelabel dans le répertoire racine, alors le loader donne un shell où root peut manuellement relabéliser le système de fichier. À 1 et un fichier .autorelabel, le système relabélise automatiquement en utilisant fixfiles -F restore
^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/x_context

/etc/selinux/‹SELINUXTYPE›/contexts/x_context

Fichier de configuration et labeling SELinux pour les objects X Window System

   Le backend de contexte X mappe les noms d'objets X en contextes de sécurité. Il est utilisé pour trouver le contexte approprié pour les objets X Window System dont la signification et/ou l'utilisation sont déterminés par nom. Le format est object_type object_name context

object_type Est la représentation du type d'objet:

        property object_name spécifie le nom d'une propriété de fenêtre, tel que "WM_NAME"
        selection object_name spécifie le nom d'une sélection, tel que "PRIMARY"
        extension object_name spécifie le nom d'une extension de protocole, tel que "RENDER"
        event object_name spécifie le nom d'un type d'évènement, tel que "X11:ButtonPress"
        client object_name est ignoré, cependant il devrait être mis à soit '*', ou une entrée spécifique tel que "remote".
        poly_property idem à property, mais vérifie que la propriété est marguée comme polyinstanciée.
        poly_selection idem à selection, mais vérifie que la sélection est marquée comme polyinstanciiée.

Exemple


selection PRIMARY system_u:object_r:clipboard_xselection_t:s0
selection *     system_u:object_r:xselection_t:s0
client *     system_u:object_r:remote_t:s0
^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/files/media

/etc/selinux/‹SELINUXTYPE›/contexts/files/media

Fichier de configuration pour le backend de contexte de média

   Le backend de contextes de média mappe les noms de périphériques tel que 'cdrom' ou 'floppy' en contextes de sécurité. Il est utilisé pour trouver le contexte approprié puor établir les contextes au montage de ces périphériques. Le format de ce fichier est device_name context

device_name l'identifiant de média, par ex. cdrom, floppy, disk et usb

Exemple


cdrom system_u:object_r:removable_device_t
floppy system_u:object_r:removable_device_t
disk system_u:object_r:fixed_disk_device_t
^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/files/file_contexts

/etc/selinux/‹SELINUXTYPE›/contexts/files/file_contexts, file_contexts.local, file_contexts.homedirs, file_contexts.subs, file_contexts.subs_dist

Fichier de configuration et labeling SELinux pour les backend de contexte de fichier

   Le backend de contextes de fichier mappe depuis les combinaisons pathname/mode en contextes de securité. C'est utilisé pour trouver le contexte approprié pour chaque fichier en relabélisant un système de fichier. Le format est pathname [file_type] context. Les fichiers de substitution (.subs, et .subs_dist) ont le format subs_pathname pathname

pathname Une entrée qui définis le chemin qui peut être sous la forme d'une expression régulière. Pour les fichiers de substitution, matche un ou plusieurs fichier de configuration de stratégie de contexte de fichier
file_type type de fichier: -b, -c, -d, -p, -d, -l, -s, --.
subs_pathname Le chemin qui est considéré comme équivalent avec pathname par le processus de recherche.

Exemple

Exemple de fichier file_contexts
/. /.. /.config /.hcwd /.local system_u:object_r:default_t:s0
/[^/]+ -- system_u:object_r:etc_runtime_t:s0
/tmp/.* ‹‹none››

Exemple de fichier file_contexts.subs
/myweb /var/www
/myspool /var/spool/mail
^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/sepgsql_context

/etc/selinux/‹SELINUXTYPE›/contexts/sepgsql_context

Fichier de configuration et labeling SELinux pour les objects RDBMS

   Le format est object_type object_name context

object_type Est la représentation du type d'objet:

        db_database object_name spécifie le nom d'une base de données
        db_schema object_name spécifie le nom d'un objet schéma
        db_table object_name spécifie le nom d'une table
        db_column object_name spécifie le nom d'une colonne
        db_tuple object_name spécifie le nom d'une table qui contient les tuples à relabéliser
        db_procedure object_name spécifie le nom d'une procédure
        db_sequence object_name spécifie le nom d'une séquence
        db_blob object_name spécifie le nom d'un grand objet. Noter qu'un grand objet n'a pas de nm, il est identifié par sa valeur identifiant
        db_view object_name spécifie le nom d'une vue
        db_language object_name spécifie le nom d'un langage
        db_exception object_name spécifie le nom d'une exception
        db_datatype object_name spécifie le nom d'un type ou domaine

Exemples


db_database my_database system_u:object_r:sepgsql_db_t:s0
db_database *     system_u:object_r:sepgsql_db_t:s0
db_schema generator.php system_u:object_r:sepgsql_schema_t:s0
db_tuple row_low system_u:object_r:sepgsql_table_t:s0
db_tuple row_high system_u:object_r:sepgsql_table_t:s0:c1023
db_tuple *.*.* system_u:object_r:sepgsql_table_t:s0
^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/restorecond.conf

/etc/selinux/restorecond.conf, restorecond-user.conf

Configuration pour restorecond

   restorecond.conf contient une liste de fichiers qui peuvent être créé par les applications avec un contexte de sécurité incorrect. Le service restorecond vérifie leur création et corrige leur contexte de sécurité en accord avec les fichiers de configuration de stratégie active /etc/selinux/‹policy_name›/contexts/files. Chaque ligne du fichier contient le chemin complet d'un fichier ou répertoire. Les entrées qui commencent avec un tilde seront étendus aux fichiers dans les répertoires personnels des utilisateurs. Noter qu'il est possible de lancer restorecond dans une session utilisateur avec l'option -u, et nécessite un fichier /etc/selinux/restorecond-user.conf.

^
07 mai 2017

htmlpdflatexmanmd




restorecond

restorecond

Service qui supervise la création de fichier et définis le contexte de fichier SELinux par défaut

   Ce service utilise inotify pour voir les fichiers listés dans le fichier /etc/selinux/restorecond.conf. Quand ils sont créés, ce service s'assure que le contexte du fichier est correct en accord avec la stratégie

OPTIONS

-d mode debug
-f restorecond_file Spécifie un fichier de configuration alternatif
-u Active le mode utilisateur. ans restorecond dans la session utilisateur et lis /etc/selinux/restorecond_user.conf. Utilise Dbus pour s'assure que seul une instance restorecond tourne par session utilisateur.
-v mode verbeux
^
07 mai 2017

htmlpdflatexmanmd




restorecon

restorecon

Restaure les contextes de sécurité par défaut SELinux

   Ce programme est principalement utilisé pour réinitialiser le contexte de sécurité d'un ou plusieurs fichiers. Il peut être lancé à tout moment pour corriger des erreurs, ajouter le support pour de nouvelles stratégies, ou avec l'option -n pour simplement vérifier les contextes. Si un objet fichier n'a pas de contexte, restorecon écrit un contexte par défauut dans les attributs étendus de l'objet fichier. Si nu objet fichier a un contexte, restorecon ne modifie que la portion de type du contexte de sécurité.

OPTIONS

-i ignore les fichiers qui n'existent pas
-f infilename Fichier contenant une liste de fichiers à traiter pal l'application, ou '-' pour stdin
-e directory Répertoire à exclure. Peut être spécifié plusieurs fois
-R, -r Change les labels des fichiers et répertoires récursivement
-n  Ne change par les labels
-o outfilename Sauve la liste des fichiers avec un context incorrect dans ce fichier
-P Affiche une progression en affichant un '*' tous les 1000 fichiers
-v Affiche les changements dans les labels
-F Force à réinitialiser le contexte pour correspondre à file_context pour les fichiers personnalisable, et le contexte de fichier par défaut, en changeant l'utilisateur, rôle, plage et le type.
^
07 mai 2017

htmlpdflatexmanmd




/usr/libexec/selinux/hll/pp

/usr/libexec/selinux/hll/pp

Lit un fichier .pp et affiche l'équivant CIL

   Si le fichier d'entrée n'est pas fournis, ou '-', lis depuis stdin. Si le fichier de sortie n'est pas spécifié, ou '-', affiche CIL sur stdout

^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/newrole_pam.conf

/etc/selinux/newrole_pam.conf

Configuration pour newrole

   Ce fichier est utilisé par la commande newrole et mappe les applications ou commandes en fichiers de configuration PAM. Chaque ligne contient le nom du fichier exécutable suivi par le nom d'un fichier de configuration pam qui existe dans /etc/pam.d

^
07 mai 2017

htmlpdflatexmanmd




rewrole

rewrole

Lancer un shell avec un nouveau rôle SELinux

   Le nouveau contexte est dérivé de l'ancien contexte dans lequel newrole est exécuté. Si un rôle est spécifié mais pas le domaine, le type par défaut est dérivé du rôle spécifié par le niveau.

OPTIONS

-r, --role ROLE Spécifie le nouveau contexte
-t, --type TYPE Spécifie le nouveau domaine
-l, --level Spécifie le niveau ou plage
-p, --preserve-environment Préserve les variables d'environnment, sinon un nouvel environnement minimal est créé

Exemples

Changer de rôle
› id -Z
staff_u:staff_r:staff_t:SystemLow-SystemHigh
› newrole -r sysadm_r
› id -Z
staff_u:sysadm_r:sysadm_t:SystemLow-SystemHigh
Changer la sensibilité
› id -Z
staff_u:sysadm_r:sysadm_t:Unclassified-SystemHigh
› newrole -l Secret
› id -Z
staff_u:sysadm_r:sysadm_t:Secret-SystemHigh
Changer la sensibilité
› id -Z
staff_u:sysadm_r:sysadm_t:Unclassified-SystemHigh
› newrole -l Secret-Secret
› id -Z
staff_u:sysadm_r:sysadm_t:Secret
Lancer un programme d-ans un contexte et niveau donné:
› newrole -r sysadm_r -- -c "/path/to/app arg1 arg2..."
› newrole -l Secret -- -c "/path/to/app arg1 arg2..."
^
07 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/users/local.users

/etc/selinux/‹SELINUXTYPE›/contexts/users/local.users

Fichier de configuration des utilisateurs locaux SELinux

   Ce fichier contient les définitions des utilisateurs locaux sous la forme de déclaration d'utilisateur en langage de stratégie et est déprécié et remplacé par les services semanage. Ce fichier consiste d'une ou plusieurs entrées terminée pas ';', au format: user seuser_id roles role_id [[level level] [range range]];

user seuser_id l'identifiant de l'utilisateur SELinux
roles role_id Un ou plusieurs identifiants de rôle
level level Le niveau MLS/MCS
range range La plage que l'utilisateur peut utiliser.


user test_u roles staff_r level s0 range s0 - s15:c0.c1023;

^
05 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/failsafe_context

/etc/selinux/‹SELINUXTYPE›/contexts/failsafe_context

Fichier de configuration de contexte par défaut

   Ce fichier permet aux applications compatible SELinux tel que PAM d'obtenir un contexte de login valide pour un administrateur si aucune entrée par défaut n'est trouvé. Le format consiste des éléments suivant:

  role:type[:range]

Exemple

unconfined_r:unconfined_t:s0
^
05 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/removable_context

/etc/selinux/‹SELINUXTYPE›/contexts/removable_context

Fichier de configuration de contexte de périphériques débranchable

   Ce fichier contient le label par défaut qui devrait être utilisé pour les périphériques hot-plug qui ne sont pas définis dans le fichier media. Le fichier consiste d'une seule ligne user:role:type[:range]

Exemple

system_u:object_r:removable_t:s0
^
05 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/securetty_types

/etc/selinux/‹SELINUXTYPE›/contexts/securetty_types

Fichier de configuration de type tty sécurisé SELinux

   Ce fichier contient une liste de types associés aux type tty qui est définis dans la stratégie utilisée par les application. Chaque ligne dans ce fichier contient un type définis dans la stratégie pour les périphériques tty sécurisés

Exemple

sysadm_tty_device_t
user_tty_device_t
staff_tty_device_t
^
04 mai 2017

htmlpdflatexmanmd




semanage

semanage

Outil de gestion de stratégie SELinux

   semanage est utilisé pour configurer certains éléments de la stratégie SELinux sant nécessiter de modification ou recompilation. Cela inclus le mappage des usernames linux en user SELinux et les mappages de contexte de sécurité pour divers types d'objet. semanage possède les sous-commandes suivantes:

import Importer des personnalisations locales
export Exporte des personnalisations locales
login Gérer les mappages entre les users Linux et SELinux
port Gérer les définitions de type de port réseau
interface Gérer les définitions de type d'interface réseau
module Gérer les modules de stratégie SELinux
node Gérer les définitions de type de nœud réseau
fcontext Gérer les définitions de mappage de contexte de fichier
boolean Gérer les booléens pour activer des fonctionnalités
permissive Gérer le mode d'enforcement
dontaudit Active/désactive les rèoles dontaudit dans la stratégie

^
04 mai 2017

htmlpdflatexmanmd




semanage-boolean

semanage-boolean

Gestion des booléen SELinux

   semanage boolean contrôle les paramètres booléens dans la stratégie SELinux.

OPTIONS

-n, --noheading Ne pas afficher les en-tête dans le listing des type d'objet
-N, --noreload Ne par recharger la stratégie après le commit
-C, --locallist Lister les personnalisations locales
-S STORE, --store STORE Magasin alternatif
-m, --modify Modifie un enregistrement du type d'objet spécifié
-l, --list Liste les enregistrement du type d'objet spécifié
-E, --extract Extrait les commandes personnalisables, à utiliser dans une transaction
-D, --deleteall Supprimer toutes les personnalisation locales
-1, --on active le booléen
-0, --off Désactive le booléen

Exemples

Active le booléen apache peut envoyer un mail
semanage boolean -m --on httpd_can_sendmail
lister les booléens personnalisés
semanage boolean -l -C
^
04 mai 2017

htmlpdflatexmanmd




semanage-dontaudit

semanage-dontaudit

Gestion dontaudit

   semanage dontaudit active/désactive les règles dontaudit dans la stratégie. Désactiver les règles dontaudit permet de vois si le kernel bloque un accès

OPTIONS

-N, --noreload Ne par recharger la stratégie après le commit
-S STORE, --store STORE Magasin alternatif

Exemples

Désactiver les règles dontaudit:
semanage dontaudit off
^
04 mai 2017

htmlpdflatexmanmd




semanage-fcontext

semanage-fcontext

Gestion des contextes de fichier

   semanage fcontext est utilisé pour gérer les labels de système de fichier par défaut dans un système SELinux. Cette commande mappe les chemins de fichier en utilisant des expressions régulières en labels SELinux

OPTIONS

-n, --noheading Ne pas afficher les en-tête dans le listing des type d'objet
-N, --noreload Ne par recharger la stratégie après le commit
-C, --locallist Lister les personnalisations locales
-S STORE, --store STORE Magasin alternatif
-a, --add Ajoute un enregistrement du type d'objet spécifié
-d, --delete Supprime un enregistrement du type d'objet spécifié
-m, --modify Modifie un enregistrement du type d'objet spécifié
-l, --list Liste les enregistrement du type d'objet spécifié
-E, --extract Extrait les commandes personnalisables, à utiliser dans une transaction
-D, --deleteall Supprimer toutes les personnalisation locales
-e EQUAL, --equal EQUAL Substitue le chemin cible avec le sourcepath en générant le label par défaut.
-f [{a,f,d,c,b,s,l,p}], --ftype [{a,f,d,c,b,s,l,p}] Type de fichier.
-s SEUSER, --seuser SEUSER Nom de l'utilisateur SELinux
-t TYPE, --type TYPE Type SELinux pour l'objet
-r RANGE, --range RANGE plage MLS/MCS

Exemples

Ajoute un contexte de fichie pour tous les fichiers sous /web
semanage fcontext -a -t httpd_sys_content_t "/web[/.*)?"
restorecon -R -v /web
Substituer /home1 avec /home en définissant le contexte de fichier
semanage fcontext -a -e /home /home1
restorecon -R -v /home1
Pour les répertoires personnels sou le répertoire racine (ex: /disk6/home), exécuter les commandes suivantes:
semanage fcontext -a -t home_root_t "/disk6"
semanage fcontext -a -e /home /disk6/home
restorecon -R -v /disk6
^
04 mai 2017

htmlpdflatexmanmd




semanage-export

semanage-export

Exporter des modifications SELinux

   semanage import et export peuvent être utilisés pour extraire les modifications SELinux d'une machine et les appliquer sur une autre.

OPTIONS

-S STORE, --store STORE Magasin alternatif
-f OUTPUT_FILE, --output_file OUTPUT_FILE Fichier de sortie

Exemples

Appliquer les modification à une autre machine:
semanage export -f semanage.mods
scp semanag.mod remodemachine:
ssh remodemachine
semange -import -f semanage.mods
^
04 mai 2017

htmlpdflatexmanmd




semanage-import

semanage-import

Importer des modifications SELinux

   semanage import et export peuvent être utilisés pour extraire les modifications SELinux d'une machine et les appliquer sur une autre.

OPTIONS

-N, --noreload Ne par recharger la stratégie après le commit
-S STORE, --store STORE Magasin alternatif
-f INPUT_FILE, --input_file INPUT_FILE Fichier d'entrée
^
04 mai 2017

htmlpdflatexmanmd




semanage-interface

semanage-interface

Outil de gestion d'interface réseaux

   semanage interface contrôle les labels assignés aux interfaces réseaux

OPTIONS

-n, --noheading Ne pas afficher les en-tête dans le listing des type d'objet
-N, --noreload Ne par recharger la stratégie après le commit
-C, --locallist Lister les personnalisations locales
-S STORE, --store STORE Magasin alternatif
-a, --add Ajoute un enregistrement du type d'objet spécifié
-d, --delete Supprime un enregistrement du type d'objet spécifié
-m, --modify Modifie un enregistrement du type d'objet spécifié
-l, --list Liste les enregistrement du type d'objet spécifié
-E, --extract Extrait les commandes personnalisables, à utiliser dans une transaction
-D, --deleteall Supprimer toutes les personnalisation locales
-t TYPE, --type TYPE Type SELinux pour l'objet
-r RANGE, --range RANGE plage MLS/MCS
^
04 mai 2017

htmlpdflatexmanmd




semanage-login

semanage-login

Gestion des mappages des utilisateurs Linux et SELinux

   semanage login contrôle le mappage entre un utilisateur Linux et un utilisateur SELinux. Il peut être utilisé pour activer des utilisateurs confinés. Par exemple on peurrait définis qu'un utilisateur particulier ou un groupe d'utilisateurs vont se logger dans un système en tant que user_u. Préfixer un nom de groupe avec '%'.

OPTIONS

-n, --noheading Ne pas afficher les en-tête dans le listing des type d'objet
-N, --noreload Ne par recharger la stratégie après le commit
-C, --locallist Lister les personnalisations locales
-S STORE, --store STORE Magasin alternatif
-a, --add Ajoute un enregistrement du type d'objet spécifié
-d, --delete Supprime un enregistrement du type d'objet spécifié
-m, --modify Modifie un enregistrement du type d'objet spécifié
-l, --list Liste les enregistrement du type d'objet spécifié
-E, --extract Extrait les commandes personnalisables, à utiliser dans une transaction
-s SEUSER, --seuser SEUSER Nom d'utilisateur SELinux
-r RANGE, --range RANGE plage MLS/MCS

Exemples

Modifier l'utilisateur default dans le système en guest_u
semanage login -m -s guest_u __default__
assigner à l'utilisateur gijoe dans une machine MLS une plage et l'utilisateur staff_u
semanage login -a -s staff_u -rSystemLow-Secret gijoe
assigner tous les utilisateurs du groupe engineering à l'utilisateur staff_u
semanage login -a -s staff_u %engineering
^
04 mai 2017

htmlpdflatexmanmd




semanage-module

semanage-module

Installe, supprime et désactive les modules de stratégie SELinux

OPTIONS

-n, --noheading Ne pas afficher les en-tête dans le listing des type d'objet
-N, --noreload Ne par recharger la stratégie après le commit
-C, --locallist Lister les personnalisations locales
-S STORE, --store STORE Magasin alternatif
-a, --add Ajoute un enregistrement du type d'objet spécifié
-r, --remove Supprime le module spécifié
-d, --disable Désactive le module spécifié
-e, --enable Active le module spécifié
-l, --list Liste les enregistrement du type d'objet spécifié
-E, --extract Extrait les commandes personnalisables, à utiliser dans une transaction
^
04 mai 2017

htmlpdflatexmanmd




semanage-node

semanage-node

Contrôle les adresses IP en définition de type de nœud

OPTIONS

-n, --noheading Ne pas afficher les en-tête dans le listing des type d'objet
-N, --noreload Ne par recharger la stratégie après le commit
-C, --locallist Lister les personnalisations locales
-S STORE, --store STORE Magasin alternatif
-a, --add Ajoute un enregistrement du type d'objet spécifié
-d, --delete Supprime un enregistrement du type d'objet spécifié
-m, --modify Modifie un enregistrement du type d'objet spécifié
-l, --list Liste les enregistrement du type d'objet spécifié
-E, --extract Extrait les commandes personnalisables, à utiliser dans une transaction
-D, --deleteall Supprimer toutes les personnalisation locales
-t TYPE, --type TYPE Type SELinux pour l'objet
-r RANGE, --range RANGE plage MLS/MCS
-p PROTO, --proto PROTO Protocole pour le port spécifié (tcp|udp) ou version du protocole internet pour le nœud spécifié (ipv4|ipv6)
-M NETMASK, --netmask NETMASK Masque de sous-réseau
^
04 mai 2017

htmlpdflatexmanmd




semanage-permissive

semanage-permissive

Gestion des mappages permissifs

   semanage permissive ajoute ou supprime un module permissif de stratégie SELinux

OPTIONS

-n, --noheading Ne pas afficher les en-tête dans le listing des type d'objet
-N, --noreload Ne par recharger la stratégie après le commit
-S STORE, --store STORE Magasin alternatif
-a, --add Ajoute un enregistrement du type d'objet spécifié
-d, --delete Supprime un enregistrement du type d'objet spécifié
-l, --list Liste les enregistrement du type d'objet spécifié

Exemples

Lister tous les modules permissifs
semanage permissive -l
faire de httpd_t un domaine permissif
semanage permissive -a httpd_t
^
04 mai 2017

htmlpdflatexmanmd




semanage-port

semanage-port

Outil de gestion de mappage de port

   semanage port contrôle le numéro de port en définitions de type de port

OPTIONS

-n, --noheading Ne pas afficher les en-tête dans le listing des type d'objet
-N, --noreload Ne par recharger la stratégie après le commit
-C, --locallist Lister les personnalisations locales
-S STORE, --store STORE Magasin alternatif
-a, --add Ajoute un enregistrement du type d'objet spécifié
-d, --delete Supprime un enregistrement du type d'objet spécifié
-m, --modify Modifie un enregistrement du type d'objet spécifié
-l, --list Liste les enregistrement du type d'objet spécifié
-E, --extract Extrait les commandes personnalisables, à utiliser dans une transaction
-D, --deleteall Supprimer toutes les personnalisation locales
-t TYPE, --type TYPE Type SELinux pour l'objet
-r RANGE, --range RANGE plage MLS/MCS
-p PROTO, --proto PROTO Protocole pour le port spécifié (tcp|udp) ou version du protocole internet pour le nœud spécifié (ipv4|ipv6)

Exemples

Lister toutes les définitions de port
semanage port -l
autoriser Apache à écouter sur tcp port 81
semanage port -a -t http_port_t -p tcp 81
autoriser sshd à écouter sur le port tcp 8991
semanage port -a -t ssh_port_t -p tcp 8991
^
04 mai 2017

htmlpdflatexmanmd




semanage.conf

semanage.conf

Fichier de configuration global pour la libraire de gestion SELinux

OPTIONS

module-store Spécifie comment la libraire interagit avec le magasin de stratégie SELinux

        direct Écris directement dans le magasin de stratégie (défaut)
        ‹socket path› Chemin absolu vers un socket utilisé pour se connecter au serveur de gestion de stratégie
        ‹server name› Nom et port d'un serveur de gestion de stratégie utilisé sur TCP.

root Chemin racine alternatif pour le magasin. Défaut: /
store-root Chemin racine du magasin alternatif. Défaut: /var/lib/selinux
compiler-directory Répertoire alternatif contenant les compilateurs HLL vers CIL. Défaut: /usr/libexec/selinux/hll
ignore-module-cache true|false ignore ou non le cache des modules CIL compilés depuis HLL. Défaut: false.
policy-version en générant la stratégie, semanage défini POLICYDB_VERSION_MAX tel que définis dans ‹sepol/policydb/policydb.h›. Ce paramètre permet de définir une autre versions
target-platform 0|1 Vérifie ou non les règles neverallow en exécutant la commande semanage. Défaut: 1
file-mode Par défaut le mode de permission pour les fichiers de stratégie temps-réer est à 0644
save-previous true|false Contrôle si le répertoire du module précédent est sauvé après être validé avec succès dans le magasin de stratégie. Défaut: false (la version précédente est supprimée)
save-linked true|false Contrôle si le module lié précédent est sauvé (avec le nom base.linked) une fois correctement chargé dans le magasin de stratégie. Défaut: false (le module précédent est supprimé)
ignoredirs Liste de répertoires séparés par des ';' de répertoires à ignorer en définisant les répertoires personnels utilisateur.
usepasswd true|false Active l'utilisation de getpwent() pour obtenir une liste de répertoire home à labéliser. défaut: true
disable-genhomedircon true|false Contrôle si la fonction genhomedircon est exécutée avec la commande semanage. Défaut: false
handle-unknown deny|reject|allow Contrôle le comportement du kernel pour gérer les permisssions définies dans le kernel, mais manquante dans la stratégie courante.
bzip-blocksize [0-9] 0-pas de compression. Défaut: 9
bzip-small true|false indique si l'algorithme bzip tente de réduire son utilisation mémoire. Défaut: false
remove-hll true|false à true, les fichiers HLL seront supprimés après recompilation dans CIL.
^
04 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/default_contexts

/etc/selinux/‹SELINUXTYPE›/contexts/default_contexts

Fichier de configuration de contextes par défaut SELinux

   Ce fichier contient des entrée pour les application de login compatible SELinux. Chaque ligne consiste des éléments suivants:

  login_process user_login_process [user_login_process] ...

login_process Consiste d'une entrée role:type[:range] qui représente le contexte du processus de login définis dans la stratégie
user_login_process Consiste d'une ou plusieurs entrées role:type[:range] qui représentent le contexte du processus login utilisateur définis dans la stratégie.

Exemple


system_r:crond_t:s0 system_r:system_crond_t:s0
system_r:local_login_t:s0 user_r:user_t:s0 staff_r:staff_t:s0
system_r:remote_login_t:s0 user_r:user_t:s0
system_r:sshd_t:s0 user_r:user_t:s0
system_r:sulogin_t:s0 sysadm_r:sysadm_t:s0
system_r:xdm_t:s0 user_r:user_t:s0
^
04 mai 2017

htmlpdflatexmanmd




/etc/selinux/<SELINUXTYPE>/contexts/default_type

/etc/selinux/‹SELINUXTYPE›/contexts/default_type

Fichier de configuration de type par défaut SELinux

   Ce fichier contient les entrées qui permettent aux application compatibles SELinux comme newrole de sélectionner un type par défaut pour un rôle s'il n'est pas fournis. Chaque ligne dans ce fichier a le format role:type où:

role Le rôle SELinux
type Le type de domaine qui est retourné pour ce rôle

Exemple


auditadm_r:auditadm_t
user_r:user_t
^
14 juillet 2010

htmlpdflatexmanmd




chcon

chcon

Change le contexte de récurité SELinux des fichiers spécifiés

OPTIONS

-h, --no-dereference affecte les liens symboliques au lieu des fichiers référencés
--reference=RFILE utilise le context de sécurité de RFILE au lieu de spécifier un contexte.
-R, --recursive Opère sur les fichiers et les répertoires récursivement.
-H si -R est spécifié et qu'un argument de la ligne de commande est un lien symbolique vers un répertoire, le traverse.
-L en mode récursif, traverse tous les liens symboliqes vers un répertoire.
-P Ne traverse aucun lien symbolique. mode par défaut.
-v, --verbose Affiche un diagnostique pour chaque fichier traité.
-u USER, --user=USER Définis l'utilisateur dans le contexte de sécurité cible.
-r ROLE, --role=ROLE Définis le role dans le contexte de sécurité cible
-t TYPE, --type=TYPE Définis le type dans le contexte de sécurité cible
-l RANGE, --range=RANGE Définit la plage dans le contexte de sécurité cible
^
14 juillet 2010

htmlpdflatexmanmd




runcon

runcon

Lance une commande dans le contexte de sécurité SELinux spécifié

   Si aucune option n'est spécifiée, le premier argument est utilisé comme contexte complet. Sans options ni commande, affiche le contexte de sécurité courant.

OPTIONS

-c, --compute Calcule le contexte de transission du processus avant de le modifier
-u USER, --user=USER Définis l'utilisateur dans le contexte de sécurité cible.
-r ROLE, --role=ROLE Définis le role dans le contexte de sécurité cible
-t TYPE, --type=TYPE Définis le type dans le contexte de sécurité cible
-l RANGE, --range=RANGE Définit la plage dans le contexte de sécurité cible