

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de los modos de SELinux para AL2023
<a name="selinux-modes"></a>

Para AL2023, Security Enhanced Linux (SELinux) de forma predeterminada está `enabled` y está configurado en modo `permissive`. En el modo permisivo, las denegaciones de permisos se registran pero no se aplican. SELinux es un conjunto de características y utilidades del kernel que proporcionan una arquitectura de control de acceso (MAC) sólida, flexible y obligatoria a los principales subsistemas del kernel. 

SELinux proporciona un mecanismo mejorado para hacer cumplir la separación de la información en función de los requisitos de confidencialidad e integridad. Esta separación de la información reduce las amenazas de manipulación y elusión de los mecanismos de seguridad de las aplicaciones. También limita los daños que pueden causar las aplicaciones malintencionadas o defectuosas. 

SELinux incluye un conjunto de ejemplos de archivos de configuración de políticas de seguridad diseñados para cumplir con los objetivos de seguridad diarios.

Para obtener más información sobre las características y funcionalidades de SELinux, consulte el [cuaderno de SELinux](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/toc.md) y la [política de lenguajes](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/policy_languages.md). 

**Topics**
+ [Estado y modos predeterminados de SELinux para AL2023](default-SELinux-modes-states.md)
+ [Cambiar al modo `enforcing`](enforcing-mode.md)
+ [Opción para deshabilitar SELinux para AL2023](disable-option-selinux.md)

# Estado y modos predeterminados de SELinux para AL2023
<a name="default-SELinux-modes-states"></a>

Para AL2023, SELinux está configurado de forma predeterminada como `enabled` y en modo `permissive`. En el modo `permissive`, las denegaciones de permisos se registran pero no se aplican.

Los comandos **getenforce** o **sestatus** indican el estado, la política y el modo actuales de SELinux. 

Con el estado predeterminado establecido en `enabled` y `permissive`, el comando **getenforce** vuelve a `permissive`. 

El **sestatus** comando devuelve el estado de SELinux y la política de SELinux actual, como se muestra en el siguiente ejemplo: 

```
$ sestatus
SELinux status:                 enabled
  SELinuxfs mount:                /sys/fs/selinux
  SELinux root directory:         /etc/selinux
  Loaded policy name:             targeted
  Current mode:                   permissive
  Mode from config file:          permissive
  Policy MLS status:              enabled
  Policy deny_unknown status:     allowed
  Memory protection checking:     actual (secure)
  Max kernel policy version:      33
```

Al ejecutar SELinux en modo `permissive`, los usuarios a veces pueden etiquetar los archivos de forma incorrecta. Cuando se ejecuta SELinux en ese estado `disabled`, los archivos no se etiquetan. Tanto los archivos incorrectos como los que no están etiquetados pueden causar problemas al cambiar al modo `enforcing`.

SELinux reetiqueta automáticamente los archivos para evitar este problema. SELinux evita problemas de etiquetado con el reetiquetado automático al cambiar el estado a `enabled`.

# Cambiar al modo `enforcing`
<a name="enforcing-mode"></a>

Cuando se ejecuta SELinux en modo `enforcing`, la utilidad SELinux `enforcing` la política configurada. SELinux regula las capacidades de determinadas aplicaciones al permitir o denegar el acceso según las reglas de la política.

Para encontrar el modo SELinux actual, ejecute el comando `getenforce`.

```
getenforce
Permissive
```

## Edite el archivo de configuración para habilitar el modo `enforcing`
<a name="config-file-enforcing"></a>

Para cambiar el modo a `enforcing`, siga los pasos que se indican a continuación.

1. Edite el archivo `/etc/selinux/config` para cambiar al modo `enforcing`. El ajuste `SELINUX` debe ser similar a la siguiente especificación de ejemplo:

   ```
   SELINUX=enforcing
   ```

1. Reinicie el sistema para completar el cambio al modo `enforcing`.

   ```
   $ sudo reboot
   ```

En el siguiente arranque, SELinux vuelve a etiquetar todos los archivos y directorios del sistema. SELinux también añade el contexto de SELinux para los archivos y directorios que se crearon cuando SELinux estaba `disabled`.

Después de cambiar al modo `enforcing`, SELinux podría denegar algunas acciones debido a reglas de política de SELinux faltantes o incorrectas. Para ver las acciones que SELinux niega, use el comando siguiente.

```
$ sudo ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent
```

## Use cloud-init para habilitar el modo `enforcing`
<a name="cloud-init-enforcing"></a>

Como alternativa, cuando lance la instancia, pasa el siguiente `cloud-config` como datos de usuario para habilitar el modo `enforcing`. 

```
#cloud-config
selinux: 
  mode: enforcing
```

De forma predeterminada, esta opción hace que la instancia se reinicie. Para una mayor estabilidad, le recomendamos que reinicie la instancia. No obstante, si lo prefiere, puede omitir el reinicio. Para ello, proporcione el siguiente `cloud-config`.

```
#cloud-config
selinux:
  mode: enforcing
  selinux_no_reboot: 1
```

# Opción para deshabilitar SELinux para AL2023
<a name="disable-option-selinux"></a>

Al deshabilitar SELinux, la política de SELinux no se carga ni se aplica y los mensajes AVC no se registran. Pierde todos los beneficios para ejecutar SELinux. 

En lugar de deshabilitar SELinux, recomendamos usar el modo `permissive`. Ejecutarlo en modo `permissive` cuesta solo un poco más que deshabilitar SELinux por completo. La transición del modo `permissive` al modo `enforcing` requiere muchos menos ajustes de configuración que volver a un modo `enforcing` después de deshabilitar SELinux. Puede etiquetar los archivos y el sistema puede rastrear y registrar las acciones que la política activa podría haber denegado. 

## Cambiar del modo SELinux al modo `permissive`
<a name="change-to-permissive"></a>

Cuando se ejecuta SELinux en modo `permissive`, la política de SELinux no se aplica. En el modo `permissive`, SELinux registra los mensajes AVC pero no deniega las operaciones. Puede usar estos mensajes AVC para solucionar problemas, depurar y mejorar las políticas de SELinux. 

Para cambiar SELinux al modo permisivo, siga estos pasos.

1. Edite el archivo `/etc/selinux/config` para cambiar al modo `permissive`. El valor `SELINUX` debería ser similar al siguiente ejemplo.

   ```
   SELINUX=permissive
   ```

1. Reinicie el sistema para completar el cambio al modo `permissive`.

   ```
   sudo reboot
   ```

## Deshabilitar SELinux
<a name="disable-selinux"></a>

Al deshabilitar SELinux, la política de SELinux no se carga ni se aplica y los mensajes AVC no se registran. Pierde todos los beneficios para ejecutar SELinux.

Para deshabilitar SELinux, siga estos pasos:

1. Asegúrese de que el paquete `grubby` esté instalado.

   ```
   rpm -q grubby
   grubby-version
   ```

1. Configure su cargador de arranque para añadir `selinux=0` a la línea de comandos del kernel.

   ```
   sudo grubby --update-kernel ALL --args selinux=0
   ```

1. Reinicie el sistema.

   ```
   sudo reboot
   ```

1. Ejecute el comando `getenforce ` para confirmar que SELinux está `Disabled`.

   ```
   $ getenforce
   Disabled
   ```

Para obtener más información sobre SELinux, consulte [Cuaderno SELinux](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/toc.md) y [Configuración de SELinux](http://selinuxproject.org/page/Guide/Mode#SELinux_Config).