

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurando modos do SELinux para o AL2023
<a name="selinux-modes"></a>

Por padrão, o Security Enhanced Linux (SELinux) está `enabled` e configurado para o modo `permissive` para o AL2023. No modo permissive, as negações de permissão são registradas, mas não aplicadas. O SELinux é uma coleção de recursos e utilitários do kernel para fornecer uma arquitetura de controle de acesso (MAC) forte, flexível e obrigatória aos principais subsistemas do kernel. 

O SELinux fornece um mecanismo aprimorado para impor a separação de informações com base nos requisitos de confidencialidade e integridade. Essa separação de informações reduz as ameaças de adulteração e desvio dos mecanismos de segurança do aplicativo. Também limita os danos que podem ser causados por aplicativos maliciosos ou defeituosos. 

O SELinux inclui um conjunto de exemplos de arquivos de configuração de políticas de segurança projetados para atender às metas diárias de segurança.

Para obter mais informações sobre os recursos e funcionalidades do SELinux, consulte [Cadernos do SELinux](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/toc.md) e [Idiomas da Política”.](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/policy_languages.md) 

**Topics**
+ [Status e modos padrão do SELinux para o AL2023](default-SELinux-modes-states.md)
+ [Mudar para o modo `enforcing`](enforcing-mode.md)
+ [Opção para desabilitar o SELinux para o AL2023](disable-option-selinux.md)

# Status e modos padrão do SELinux para o AL2023
<a name="default-SELinux-modes-states"></a>

Para o AL2023, o SELinux vem por padrão como `enabled` e configurado no modo `permissive`. No modo `permissive`, as negações de permissão são registradas, mas não aplicadas.

Os comandos **getenforce** ou **sestatus** lhe dizem o atual status, política e modo do SELinux. 

Com o status padrão definido como `enabled` e `permissive`, o comando **getenforce** retorna `permissive`. 

O comando **sestatus** retorna o status do SELinux e a política atual do SELinux, conforme mostrado no seguinte exemplo: 

```
$ 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
```

Quando você executa o SELinux no modo `permissive`, os usuários podem rotular os arquivos incorretamente. Quando você executa o SELinux no status `disabled`, os arquivos não são rotulados. Arquivos incorretos ou não identificados podem causar problemas quando você muda para o modo `enforcing`.

O SELinux renomeia automaticamente os arquivos para evitar esse problema. O SELinux evita problemas de etiquetagem com a nova rotulagem automática quando você altera o status para `enabled`.

# Mudar para o modo `enforcing`
<a name="enforcing-mode"></a>

Quando você executa SELinux no modo `enforcing`, o utilitário SELinux está `enforcing` a política configurada. O SELinux controla os recursos de aplicações selecionadas, permitindo ou negando acesso com base nas regras da política.

Para encontrar o modo atual do SELinux, execute o comando `getenforce`.

```
getenforce
Permissive
```

## Edite o arquivo de configuração para ativar o modo `enforcing`
<a name="config-file-enforcing"></a>

Para alterar o modo para `enforcing`, siga as etapas a seguir.

1. Edite o arquivo `enforcing` para mudar para o modo `/etc/selinux/config`. A configuração de `SELINUX` deve ser semelhante ao exemplo a seguir.

   ```
   SELINUX=enforcing
   ```

1. Reinicie o sistema para concluir a mudança para o modo `enforcing`.

   ```
   $ sudo reboot
   ```

Na próxima inicialização, o SELinux renomeará todos os arquivos e diretórios no sistema. O SELinux também adiciona o contexto do SELinux para arquivos e diretórios que foram criados quando o SELinux estava `disabled`.

Depois de mudar para o modo `enforcing`, o SELinux pode negar algumas ações devido a regras de política do SELinux incorretas ou ausentes. Você pode visualizar as ações que o SELinux nega com o comando a seguir.

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

## Use cloud-init para ativar o modo `enforcing`.
<a name="cloud-init-enforcing"></a>

Como alternativa, ao iniciar sua instância, transmita o seguinte `cloud-config` como dados do usuário para ativar o modo `enforcing`. 

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

Por padrão, essa configuração faz com que a instância seja reinicializada. Para maior estabilidade, recomendamos reinicializar sua instância. Entretanto, se você preferir, poderá pular a reinicialização fornecendo o `cloud-config` a seguir.

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

# Opção para desabilitar o SELinux para o AL2023
<a name="disable-option-selinux"></a>

Quando você desabilita o SELinux, a política do SELinux não é carregada nem imposta e as mensagens do Access Vector Cache (AVC) não são registradas em log. Você perde todos os benefícios de executar o SELinux. 

Em vez de desabilitar o SELinux, recomendamos usar o modo `permissive`. Custa apenas um pouco mais executar no modo `permissive` do que desabilitar completamente o SELinux. A transição do modo `permissive` para o modo `enforcing` requer muito menos ajustes de configuração do que a transição de volta ao modo `enforcing` após desabilitar o SELinux. Você pode rotular arquivos e o sistema pode rastrear e registrar ações que a política ativa possa ter negado. 

## Mudar o SELinux para o modo `permissive`
<a name="change-to-permissive"></a>

Quando você executa o SELinux no modo `permissive`, a política do SELinux não é imposta. No modo `permissive`, o SELinux registra as mensagens de AVC em log, mas não nega as operações. Você pode usar essas mensagens de AVC para solucionar problemas, depurar e aprimorar a política do SELinux. 

Para mudar o SELinux para o modo permissivo, siga as etapas a seguir.

1. Edite o arquivo `permissive` para mudar para o modo `/etc/selinux/config`. O valor de `SELINUX` deve ser como o exemplo a seguir.

   ```
   SELINUX=permissive
   ```

1. Reinicie o sistema para concluir a mudança para o modo `permissive`.

   ```
   sudo reboot
   ```

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

Ao desabilitar o SELinux, a política do SELinux não é carregada nem imposta, e as mensagens de AVC não são registradas em log. Você perde todos os benefícios de executar o SELinux.

Para desabilitar o SELinux, siga as etapas a seguir.

1. Garanta que o pacote `grubby` esteja instalado.

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

1. Configure seu bootloader para adicionar `selinux=0` à linha de comando do kernel.

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

1. Reinicie o sistema.

   ```
   sudo reboot
   ```

1. Execute o comando `getenforce ` para confirmar se o SELinux é `Disabled`.

   ```
   $ getenforce
   Disabled
   ```

Para obter mais informações sobre o SELinux, consulte [SELinux Notebook](https://github.com/SELinuxProject/selinux-notebook/blob/main/src/toc.md) e [SELinux configuration](http://selinuxproject.org/page/Guide/Mode#SELinux_Config).