CentOS 7: anidamiento de reglas SELinux

CentOS 7: anidamiento de reglas SELinux

Entonces, ahora que tengodescubrí que .sshlos archivos necesitan elssh_home_t contexto del archivo, ahora necesito descubrir cómo anidar las reglas de SELinux.

Mi primer problema es que no puedo encontrar ninguna lista de contextos de archivos SELinux que describan su uso previsto. Entonces, puede que me vaya aquí. Creo que necesito hacer tres cosas, en este orden:

  1. Establezca cada directorio que coincida /exports/home/$USERconnfs_t sintambién coincide con cualquier subdirectorio bajo $USER. Esto le dice a mi servidor NFS que los directorios personales pueden exportarse legalmente.
  2. Configurar todo para que coincida /exports/home/$USER/.*con... ¿algo? Aquí es donde sería útil una lista completa con descripciones. ¿SELinux tiene un contexto de archivo que generalmente designa archivos en el directorio de inicio de un usuario?
  3. Establecer todo coincidente/exports/home/$USER/\.ssh(/.*) soloa ssh_home_t, por lo que SSHD puede permitir el uso de authorized_keys.

Necesito invocar las tres reglas desde el servidor NFS. Y necesito invocar la segunda y tercera reglas.como usuario individualen los archivos de ese usuario individual desde cualquier host que monte el directorio de inicio. Porque, obviamente espero, aplastar la raíz en cualquier host que monte uno de estos directorios de inicio. Lo más probable es que un usuario esté creando archivos, incluidos archivos ssh, desde un host que no es el servidor NFS.


ACTUALIZAR

Creo que he descubierto los contextos de archivos correctos. Ahora sólo necesito encontrar las expresiones regulares correctas.

# semanage fcontext -a nfs_t '<regexp 1>'

# semanage fcontext -a user_home_t '<regexp 2>'

# semanage fcontext -a ssh_home_t '<regexp 3>'

dónde

  • <regexp 1>atrapa /exports/home/$USERy no avanza más.
  • <regexp 2>capturas/exports/home/$USER\.* excepto por exports/home/$USER/\.ssh(/.*)?.
  • <regexp 3>capturas exports/home/$USER/\.ssh(/.*)?.

y $USERes independiente de las cadenas (es decir, cualquier usuario), yExpresiones regulares extendidas POSIXparecen estar prohibidos.

Respuesta1

Una respuesta fácil y sorprendente:

SELinux ya tiene una regla predeterminada para `/export/home/*. Simplemente suelte la "s" y ya estaba arreglado.

información relacionada