Translated message

A translation of this page exists in English.

Falha de Segurança Crítica no Samba publicada em 12 de abril de 2016

Samba é uma implementação de código aberto do Server Message Block (SMB) ou do protocolo Common Internet File System (CIFS) que permite máquinas compatíveis com PC a compartilharem arquivos, impressoras e outras informações. Várias falhas foram descobertas e corrigidas em todas as versões atuais do Samba que recebem suporte. Para mais informações sobre a vulnerabilidade Badlock (CVE-2016-2118), consulte o artigo de base de conhecimento 2253041.

Versões afetadas:

CVE RHEL 5 Samba RHEL 5 Samba3x RHEL 6 Samba RHEL 6 Samba4 RHEL 7 Gluster Storage Funções afetadas do Samba
CVE-2015-5370 N Y Y Y Y Y Todas as funções possíveis nas quais o Samba pode operar
CVE-2016-2110 Y Y Y Y Y Y Todas as funções possíveis nas quais o Samba pode operar
CVE-2016-2111 Y Y Y Y Y Y Classic primary DC, backup DC, ou Active Directory DC
CVE-2016-2112 Y Y Y Y Y Y Todas as funções possíveis nas quais o Samba pode operar
CVE-2016-2113 N N N Y Y Y Todas as funções possíveis nas quais o Samba pode operar
CVE-2016-2114 N N N Y Y Y Todas as funções possíveis nas quais o Samba pode operar
CVE-2016-2115 Y Y Y Y Y Y Todas as funções possíveis nas quais o Samba pode operar
CVE-2016-2118 Y Y Y Y Y Y Todas as funções possíveis nas quais o Samba pode operar, prém crítico para Active Directory DC

CVE-2015-5370: Múltiplas falhas no código do DCE/RPC

Falhas múltiplas foram encontradas na implementação do protocolo DCE/RPC do Samba. Um invasor remoto autenticado pode usar estas falhas para causar uma negação de serviço contra o servidor Samba (alta carga da CPU ou uma queda) ou possivelmente, executar código arbitrário com as permissões do usuário executando Samba (raiz). Esta falha pode ser também usada para downgrade uma conexão DCE/RPC segura por um invasor intermediário controlando um objeto Active Directory (AD) e comprometendo a segurança do Controlador de Domínio (DC) do Active Directory do Samba.

Nota: Apesar de todos os pacotes distribuídos com o Red Hat Enterprise Linux não suportarem a execução Samba como AD DC, esta falha se aplica a todas as funções implementadas pelo Samba.

CVE-2016-2118 (Badlock): SAMR e LSA possível ataque man in the middle

Detalhes sobre esta falha está disponível em: Falha de Segurança Badlock no Samba - CVE-2016-2118

CVE-2016-2110: Possível ataque man-in-the-middle com NTLMSSP

Várias falhas foram descobertas na implementação da autenticação NTLMSSP do Samba. Um invasor intermediário não autenticado pode usar esta falha para remover o sinalizador de criptografia e integridade de uma conexão, causando com que os dados sejam transmitidos em texto puro. O invasor pode também forçar o cliente ou servidor a enviar dados em texto puro mesmo que a criptografia for solicitada explicitamente para aquela conexão.

LDAP ( com autenticação NTLMSSP) é usado como um cliente por várias ferramentas de projetos administrativos do Samba ( por exemplo, "net", "samba-tool", "ldbsearch", ou "ldbedit".

Essas falhas afetam todas as funções possíveis nas quais o Samba pode operar e estão relacionadas ao CVE-2016-2112 e CVE-2016-2113.

CVE-2016-2111: NETLOGON Spoofing Vulnerability

Foi descoberto que o Samba configurado como um controlador de domínio estabeleceria um canal de uma comunicação segura com uma máquina utilizando um nome de computador falsificado. Um invasor remoto poderia observar tráfego de rede e utilizar esta falha para obter informações relacionadas à sessão sobre a máquina falsificada.

Esta falha afeta somente o Samba executando como um classic primary DC, backup DC, ou Active Directory DC.

Esta falha é referida como CVE-2015-0005 para Microsoft Windows Server.

O patch de recomendação de segurança para esta falha introduz uma nova opção smb.conf:

  raw NTLMv2 auth (G)

Este parâmetro determina se smbd (8) permite ou não clientes SMB1
sem segurança estendida (sem SPNEGO) para utilizar autenticação NTLMv2.

Caso esta opção, lanman auth e ntlm auth estão todas desabilitadas, somente
    clientes com suporte SPNEGO são permitidos. Isto significa  NTLMv2 é somente
suportado dentro de NTLMSSP.

Padrão: raw NTLMv2 auth = no

CVE-2016-2112: O cliente LDAP e servidor não impõem proteção de integridade

Descobriu-se que a implementação LDAP do Samba não impõe proteção de integridade para conexões LDAP. Um invasor intermediário pode usar esta falha para downgrade conexões LDAP para não utilizar proteção de integridade, permitindo que eles sequestrem tais conexões.

Esta falha afeta todas funções possíveis que o Samba pode operar.

O patch de recomendação de segurança para esta falha introduz uma nova opção smb.conf:

  ldap server require strong auth (G)

    A opção "ldap server require strong auth" define se o
Servidor ldap requer que tráfego ldap traffic seja assinado ou 
assinado e criptografado (selado). Os valores possíveis são no, 
    allow_sasl_over_tls and yes.

Um valor de no permite associação simples e sasl em todos os transportes. 

Um valor de allow_sasl_over_tls allows simples  e associação sasl (sem assinatura ou selo )
    nas conexões TLS criptografadas. Somente conexões não criptografadas. 
    permitem associações sasl com assinatura ou selo. 

    Um valor yes permite somente associações simples em conexões  TLS criptografadas.
    Conexões não criptografadas permitem somente associações sasl com assinatura e ou selo. 

Padrão: servidor Idap requer forte auth=yes

Nota: o servidor LDAP ainda não tem uma opção para impor autenticação forte. Os patches de segurança irão introduzir uma nova opção chamada ldap server require strong auth, valores possíveis são no, allow_sasl_over_tls e yes.

Como o comportamento padrão foi estabelecido para no antes, você talvez tenha que explicitamente trocar esta opção até que todos os clientes tenham sido ajustados para lidar com erros LDAP_STRONG_AUTH_REQUIRED. Clientes Windows e os servidores membros de Samba já utilizam proteção de integridade.

CVE-2016-2113: Falta certificado de validação TLS/SSL permite ataques de intermediários

Descobriu-se que o Samba não validou certificados SSL/TLS em certas conexões. Um invasor intermediário poderia utilizar esta falha para falsificar um servidor Samba usando um certificado SSL/TLS especialmente elaborado.

Esta falha afeta todas funções possíveis que o Samba pode operar.

O patch de recomendação de segurança para esta falha introduz uma nova opção smb.conf:

  tls verify peer (G)

Controla se e quão estrito o cliente irá verificar o certificado e o nome 
     de seu par. Possível valores são (em ordem de ascendente): no_check,
    ca_only, ca_and_name_if_available, ca_and_name and as_strict_as_possible.

    Quando determina-se no_check o certificado não é verificado,  
    o que permite ataques triviais de intermediários. 

    Quando estabelecido para ca_only  verifica-se que o certificado está assinado de um CA
   especificado na opção "tls ca file". Definindo "tls ca file" para um arquivo válido 
    é necessário. O tempo de vida do certificado é também verificado.  Caso a opção "tls crl file"
seja configurada, o certificado é também verificado contra
   o CA CRL.

    Quando determinado para ca_and_name_if_available todas verificações de ca_only são efetuadas.
Além disso, o nome do host do par é verificado contra os certificados
    nome, se for fornecido pela camada do aplicativo e não fornecido como
uma cadeia de carácteres de endereço de IP. 

    Quando determinado ca_and_name todas verificações de ca_and_name_if_available  são executadas. 
Além disso, o nome do host do par precisa ser fornecido e mesmo um endereço IP
é verificado contra os nomes de certificados.

    Quando determinado para as_strict_as_possible todas verificações de ca_and_name são  efetuadas.
Além disso, o "tls crl file" precisa ser configurado. Versões futuras
do Samba podem implementar verificações adicionais. 

    Padrão: tls verify peer = as_strict_as_possible

CVE-2016-2114: "server signing = mandatory" not enforced

Foi descoberto que Samba não impõe assinatura Server Message Block (SMB) para clientes utilizando protocolo SMB1. Um invasor intermediário pode utilizar esta falha para modificar tráfego entre um cliente e um servidor.

Esta falha afeta as seguintes funções de servidor: servidor autônomo, servidor membro, classic primary DC, backup DC, e Active Directory DC.

Mitigação:

Uma opção de configuração explicita de signing = mandatory na seção [global]do arquivo smb.confjunto com server min protocol = SMB2, deve evitar conexões sem proteção de assinatura. Contudo, isto talvez não permita que clientes antigos sem suporte para SMB2 (ou mais recente) não sejam capazes de se conectar.

CVE-2016-2115: conexões de clientes SMB para tráfego IPC não tem integridade protegida

Descobriu-se que o Samba não habilitou proteção de integridade para tráfego IPC por padrão. Um invasor intermediário poderia utilizar esta falha para ver e modificar os dados enviados entre um servidor Samba e um cliente.

O patch de recomendação de segurança para esta falha introduz várias novas opões smb.conf:

  client ipc signing (G)

Controla se o cliente está autorizado ou é deve usar 
    assinatura SMB para conexões IPC$ como transporte DCE/RPC. Os valores possíveis
são auto, obrigatório e desabilitado.

    Quando estabelecido  obrigatório ou padrão,  assinatura SMB é necessária. 

Quando estabelecida para auto, assinatura SMB é oferecida, mas não imposta e 
se estabelecida para desabilitada, assinatura SMB também não é oferecida. 

    As conexões de winbindd para Active Directory Domain Controllers
sempre impõem assinatura.

    Default: client ipc signing = default

  client ipc max protocol (G)

    O valor do parâmetro (uma cadeia de caracteres) é o protocolo de nível mais alto que 
recebe suporte para conexões IPC$ como transporte DCE/RPC.

Normalmente esta opção não deve ser estabelecida como a fase de negociação automática
no protocolo SMB que se encarrega de escolher o protocolo adequado. 

O valor padrão refere-se ao último protocolo que recebe suporte, atualmente SMB3_11.

Consulte protocolo máximo de cliente para a lista completa de protocolos disponíveis. 
    Os valores CORE, COREPLUS, LANMAN1, LANMAN2 são atualizados para NT1.
   Valor padrão: client ipc max protocol = default

    Exemplo: client ipc max protocol = SMB2_10

  client ipc min protocol (G)

Esta configuração controla a versão de protocolo mínima que será
tentada para utilizar para conexões IPC$ como transporte DCE/RPC.

Normalmente esta opção não deve ser estabelecida como a fase de negociação automática
no protocolo SMB que se encarrega de escolher o protocolo adequado. 

O valor padrão refere-se ao valor mais alto de NT1 e o
    valor efetivo de "client min protocol".

Consulte protocolo máximo de cliente para a lista completa de protocolos disponíveis. 
    Os valores CORE, COREPLUS, LANMAN1, LANMAN2 são atualizados para NT1.

    Valor padrão: client ipc min protocol = default

    Exemplo: client ipc min protocol = SMB3_11

Mitigação:

Uma opção de configuração explicita client signing = mandatory na seção [global]do arquivo smb.conf

Esta falha afeta todas funções possíveis que o Samba pode operar.