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.conf
junto 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.
Comments