Red Hat Training

A Red Hat training course is available for RHEL 8

5.5.15. Segurança

libselinux-python só está disponível através de seu módulo

O pacote libselinux-python contém apenas ligas Python 2 para o desenvolvimento de aplicações SELinux e é usado para compatibilidade retroativa. Por esta razão, libselinux-python não está mais disponível nos repositórios padrão RHEL 8 através do comando dnf install libselinux-python.

Para contornar este problema, habilite os módulos libselinux-python e python27, e instale o pacote libselinux-python e suas dependências com os seguintes comandos:

# dnf module enable libselinux-python
# dnf install libselinux-python

Alternativamente, instale libselinux-python usando seu perfil de instalação com um único comando:

# módulo dnf instalar libselinux-python:2.8/comum

Como resultado, você pode instalar libselinux-python usando o respectivo módulo.

(BZ#1666328)

a libssh não cumpre com a política de criptografia do sistema

A biblioteca libssh não segue as configurações de política criptográfica de todo o sistema. Como conseqüência, o conjunto de algoritmos suportados não é alterado quando o administrador muda o nível de políticas criptográficas usando o comando update-crypto-policies.

Para contornar este problema, o conjunto de algoritmos anunciados precisa ser definido individualmente por cada aplicação que utiliza a libssh. Como resultado, quando o sistema é definido ao nível da política LEGACY ou FUTURE, as aplicações que utilizam a libssh se comportam de forma inconsistente quando comparadas ao OpenSSH.

(BZ#1646563)

Certas cordas prioritárias rsyslog não funcionam corretamente

O suporte para a cadeia de prioridade GnuTLS para imtcp que permite um controle fino sobre a criptografia não está completo. Conseqüentemente, as seguintes cadeias de prioridade não funcionam corretamente no rsyslog:

NENHUMA: VERS-ALL:-VERS-TLS1.3: MAC-ALL: DHE-RSA: AES-256-GCM: SIGN-RSA-SHA384: COMP-ALL: GROUP-ALL

Para contornar este problema, use apenas cordas de prioridade que funcionem corretamente:

NENHUMA: VERS-ALL:-VERS-TLS1.3: MAC-ALL: ECDHE-RSA: AES-128-CBC: SIGN-RSA-SHA1: COMP-ALL: GROUP-ALL

Como resultado, as configurações atuais devem ser limitadas às cordas que funcionam corretamente.

(BZ#1679512)

Efeitos negativos da configuração padrão de registro sobre o desempenho

A configuração padrão do ambiente de registro pode consumir 4 GB de memória ou até mais e os ajustes dos valores limite de taxa são complexos quando o sistema-journald está rodando com o rsyslog.

Veja os efeitos negativos da configuração de registro padrão da RHEL sobre o desempenho e suas mitigações Artigo da Base de Conhecimento para mais informações.

(JIRA:RHELPLAN-10431)

OpenSCAP rpmverifypackage não funciona corretamente

As chamadas ao sistema chdir e chroot são chamadas duas vezes pela sonda rpmverifypackage. Conseqüentemente, ocorre um erro quando a sonda é utilizada durante uma varredura OpenSCAP com conteúdo personalizado de Open Vulnerability and Assessment Language (OVAL).

Para contornar este problema, não use o teste rpmverifypackage_test OVAL em seu conteúdo ou use somente o conteúdo do pacote scap-security-guide onde o rpmverifypackage_test não é usado.

(BZ#1646197)

SCAP Workbench não gera remediações baseadas em resultados a partir de perfis personalizados

O seguinte erro ocorre quando se tenta gerar funções de remediação baseadas em resultados a partir de um perfil personalizado usando a ferramenta SCAP Workbench:

Erro gerando papel de remediação .../remediação.sh: Código de saída da oscap foi 1: [saída truncada]

Para contornar este problema, use o comando oscap com a opção --tailoring-file.

(BZ#1640715)

Kickstart usa org_fedora_oscap em vez de com_redhat_oscap no RHEL 8

O Kickstart faz referência ao Protocolo de Automação de Conteúdo de Segurança Aberta (OSCAP) Anaconda add-on como org_fedora_oscap em vez de com_redhat_oscap, o que pode causar confusão. Isto é feito para preservar a retrocompatibilidade com o Red Hat Enterprise Linux 7.

(BZ#1665082)

OpenSCAP rpmverifyfile não funciona

O scanner OpenSCAP não muda corretamente o diretório de trabalho atual no modo off-line, e a função fchdir não é chamada com os argumentos corretos na sonda OpenSCAP rpmverifyfile. Conseqüentemente, o escaneamento de sistemas de arquivos arbitrários usando o comando oscap-chroot falha se o rpmverifyfile_test for usado em um conteúdo SCAP. Como resultado, o oscap-chroot aborta no cenário descrito.

(BZ#163636431)

OpenSCAP não fornece escaneamento offline de máquinas e recipientes virtuais

A refatoração do OpenSCAP codebase fez com que certas sondas RPM falhassem na varredura de VM e sistemas de arquivos de containers em modo off-line. Por esse motivo, as seguintes ferramentas foram removidas do pacote openscap-utils: oscap-vm e oscap-chroot. Além disso, o pacote openscap-containers foi completamente removido.

(BZ#1618489)

Um serviço de segurança e verificação de conformidade de contêineres não está disponível

No Red Hat Enterprise Linux 7, o utilitário oscap-docker pode ser usado para escaneamento de containers Docker baseado em tecnologias atômicas. No Red Hat Enterprise Linux 8, os comandos Docker- e Atomic relacionados a OpenSCAP não estão disponíveis. Como resultado, o oscap-docker ou um utilitário equivalente para segurança e verificação de conformidade de containers não está disponível no RHEL 8 no momento.

(BZ#1642373)

A biblioteca OpenSSL TLS não detecta se a ficha PKCS#11 suporta a criação de assinaturas RSA ou RSA-PSS brutas

O protocolo TLS-1.3 requer o suporte para a assinatura do RSA-PSS. Se o token PKCS#11 não suportar assinaturas RSA ou RSA-PSS brutas, as aplicações servidoras que usam a biblioteca OpenSSL TLS não funcionarão com a chave RSA se ela estiver na posse do token PKCS#11. Como resultado, a comunicação TLS falhará.

Para contornar este problema, configure o servidor ou cliente para usar a versão TLS-1.2 como a versão mais alta do protocolo TLS disponível.

(BZ#1681178)

O Apache httpd não inicia se usar uma chave privada RSA armazenada em um dispositivo PKCS#11 e um certificado RSA-PSS

O padrão PKCS#11 não diferencia entre objetos chave RSA e RSA-PSS e usa o tipo CKKK_RSA para ambos. Entretanto, OpenSSL usa tipos diferentes para chaves RSA e RSA-PSS. Como consequência, o motor openssl-pkcs11 não pode determinar que tipo deve ser fornecido ao OpenSSL para objetos chave PKCS#11 RSA. Atualmente, o mecanismo define o tipo de chave como chaves RSA para todos os objetos PKCS#11 CKKK_RSA. Quando OpenSSL compara os tipos de uma chave pública RSA-PSS obtida do certificado com o tipo contido em um objeto de chave privada RSA fornecido pelo motor, conclui que os tipos são diferentes. Portanto, o certificado e a chave privada não correspondem. A verificação realizada na função X509_check_private_key() OpenSSL retorna um erro neste cenário. O servidor web httpd chama esta função em seu processo de inicialização para verificar se o certificado e a chave fornecida coincidem. Como esta verificação sempre falha para um certificado contendo uma chave pública RSA-PSS e uma chave privada RSA armazenada no módulo PKCS#11, o httpd falha ao começar a usar esta configuração. Não há nenhuma solução disponível para este problema.

(BZ#1664802)

httpd não inicia se usar uma chave privada ECDSA sem a correspondente chave pública armazenada em um dispositivo PKCS#11

Ao contrário das chaves da RSA, as chaves privadas da ECDSA não contêm necessariamente informações de chave pública. Neste caso, você não pode obter a chave pública de uma chave privada ECDSA. Por este motivo, um dispositivo PKCS#11 armazena informações de chave pública em um objeto separado, seja um objeto de chave pública ou um objeto de certificado. A OpenSSL espera que a estrutura EVP_PKEY fornecida por um motor para uma chave privada contenha as informações da chave pública. Ao preencher a estrutura EVP_PKEY a ser fornecida à OpenSSL, o mecanismo no pacote openssl-pkcs11 tenta buscar as informações da chave pública apenas de objetos de chave pública correspondentes e ignora os objetos certificados atuais.

Quando OpenSSL solicita uma chave privada ECDSA do motor, a estrutura EVP_PKEY fornecida não contém as informações da chave pública se a chave pública não estiver presente no dispositivo PKCS#11, mesmo quando um certificado correspondente que contenha a chave pública estiver disponível. Como conseqüência, como o servidor web Apache httpd chama a função X509_check_private_key(), que requer a chave pública, em seu processo de inicialização, o httpd não inicia neste cenário. Para contornar o problema, armazenar tanto a chave privada quanto a pública no dispositivo PKCS#11 ao usar chaves ECDSA. Como resultado, o httpd inicia corretamente quando as chaves ECDSA são armazenadas no dispositivo PKCS#11.

(BZ#1664807)

OpenSSH não lida com PKCS #11 URIs para chaves com etiquetas inadequadas corretamente

A suíte OpenSSH pode identificar os pares de chaves por uma etiqueta. A etiqueta pode diferir em chaves privadas e públicas armazenadas em um cartão inteligente. Consequentemente, especificar o PKCS #11 URIs com a parte do objeto (etiqueta da chave) pode impedir que o OpenSSH encontre objetos apropriados no PKCS #11.

Para contornar este problema, especifique PKCS #11 URIs sem a parte do objeto. Como resultado, o OpenSSH é capaz de usar chaves em cartões inteligentes referenciados usando o PKCS #11 URIs.

(BZ#1671262)

A saída de iptables-ebtables não é 100ompatível com ebtables

No RHEL 8, o comando ebtables é fornecido pelo pacote iptables-ebtables, que contém uma reimplementação da ferramenta baseada em nftables. Esta ferramenta tem uma base de código diferente, e sua saída se desvia em aspectos que são negligenciáveis ou escolhas deliberadas de projeto.

Conseqüentemente, ao migrar seus scripts analisando algumas saídas de ebtables, ajuste os scripts para refletir o seguinte:

  • A formatação do endereço MAC foi alterada para ser fixada em comprimento. Quando necessário, os valores de bytes individuais contêm um zero inicial para manter o formato de dois caracteres por octeto.
  • A formatação dos prefixos IPv6 foi alterada para estar em conformidade com a RFC 4291. A parte móvel após o caractere de barra não contém mais uma máscara de rede no formato de endereço IPv6, mas um comprimento de prefixo. Esta alteração se aplica somente a máscaras válidas (contíguas à esquerda), enquanto outras ainda são impressas na formatação antiga.

(BZ#1674536)

curve25519-sha256 não é suportado por padrão no OpenSSH

O algoritmo de troca de chaves SSH curva25519-sha256 está faltando nas configurações de políticas criptográficas de todo o sistema para o cliente e servidor OpenSSH, apesar de estar em conformidade com o nível padrão de políticas. Como conseqüência, se um cliente ou um servidor usar a curva25519-sha256 e este algoritmo não for suportado pelo host, a conexão pode falhar.

Para contornar este problema, você pode anular manualmente a configuração das políticas de criptografia de todo o sistema modificando os arquivos openssh.config e opensshshserver.config no diretório /etc/crypto-policies/back-ends/back-ends para o cliente e servidor OpenSSH. Note que esta configuração é sobrescrita com cada mudança das políticas de criptografia de todo o sistema. Veja a página de manual update-crypto-policies(8) para mais informações.

(BZ#1678661)

OpenSSL manipula incorretamente as fichas PKCS #11 que não suportam assinaturas RSA ou RSA-PSS brutas

A biblioteca OpenSSL não detecta as capacidades relacionadas às chaves de fichas PKCS #11. Conseqüentemente, o estabelecimento de uma conexão TLS falha quando uma assinatura é criada com um token que não suporta assinaturas RSA ou RSA-PSS brutas.

Para contornar o problema, adicione as seguintes linhas após a linha .include no final da seção crypto_policy no arquivo /etc/pki/tls/openssl.cnf:

SignatureAlgorithms = RSA+SHA256:RSA+SHA512:RSA+SHA384:ECDSA+SHA256:ECDSA+SHA512:ECDSA+SHA384
MaxProtocol = TLSv1.2

Como resultado, uma conexão TLS pode ser estabelecida no cenário descrito.

(BZ#1685470)

As conexões SSH com sistemas hospedados em VMware não funcionam

A versão atual da suíte OpenSSH introduz uma mudança da bandeira padrão de Qualidade de Serviço IP (IPQoS) nos pacotes SSH, que não é tratada corretamente pela plataforma de virtualização VMware. Conseqüentemente, não é possível estabelecer uma conexão SSH com sistemas na VMware.

Para contornar este problema, inclua o IPQoS=throughput no arquivo ssh_config. Como resultado, as conexões SSH com sistemas hospedados em VMware-hosted funcionam corretamente.

Veja o artigo RHEL 8 rodando na Estação de Trabalho VMWare incapaz de se conectar via SSH a outros hosts da solução Knowledgebase para mais informações.

(BZ#1651763)