Corrigindo a vulnerabilidade do BEAST no Apache 2.0 em execução no RHEL 4

13

Eu tenho um servidor web executando o Apache 2.0 no RHEL4. Este servidor recentemente falhou em uma varredura PCI.

Razão: Vulnerabilidade no modo CBC fraco do protocolo SSLv3.0 / TLSv1.0 Solução: Esse ataque foi identificado em 2004 e revisões posteriores do protocolo TLS que contêm uma correção para isso. Se possível, atualize para TLSv1.1 ou TLSv1.2. Se a atualização para TLSv1.1 ou TLSv1.2 não for possível, desabilitar as cifras do modo CBC removerá a vulnerabilidade. Usar a seguinte configuração SSL no Apache atenua essa vulnerabilidade: SSLHonorCipherOrder On SSLCipherSuite RC4-SHA: ALTO:! ADH

Correção simples, pensei. Eu adicionei as linhas à configuração do Apache e não funcionou. Aparentemente,
 "SSLHonorCipherOrder On" funcionará somente no Apache 2.2 e posterior. Eu tentei atualizar o Apache, logo corri para a dependência inferno e parece que vou ter que atualizar o sistema operacional inteiro para atualizar para o Apache 2.2. Estamos aposentando este servidor em poucos meses, então não vale a pena.

A solução diz "Se a atualização para TLSv1.1 ou TLSv1.2 não for possível, a desativação das cifras do modo CBC removerá a vulnerabilidade."

Como eu faria isso no Apache 2.0? Isso é possível? Se não, há algum outro trabalho ao redor?

    
por Debianuser 07.08.2012 / 16:49

3 respostas

12

Além de compilar um novo Apache manualmente, a única coisa em que consigo pensar seria tornar o RC4-SHA a codificação suportada somente (testado com openssl ciphers RC4-SHA no openssl atual para garantir ele só imprime uma cifra, você pode querer fazer o mesmo para ter certeza de que não combina com alguma velha cifra antiga em seu antigo openssl):

SSLCipherSuite RC4-SHA

MS diz que o Windows XP é compatível com TLS_RSA_WITH_RC4_128_SHA para que você não tenha problemas de compatibilidade.

    
por 07.08.2012 / 17:27
6

Existem apenas duas maneiras de "corrigir" o BEAST no nível do servidor.

A melhor opção é atualizar a biblioteca SSL do seu servidor para uma que suporte o TLS v1.1 ou posterior (e certifique-se de que seus clientes também a suportem, para que você possa forçá-los a usá-la).

A outra opção é desabilitar qualquer algoritmo de criptografia CBC (Cypher-Block-Chaining) e alternar para cifras ECB (Electronic Code Book) ou algo parecido com RC4 (os algoritmos ECB são teoricamente "menos seguros" porque uma determinada entrada de texto simples é criptografada para uma dada chave sempre mapeia de volta para o mesmo texto cifrado que torna mais fácil romper com ataques de texto simples conhecidos, mas em termos práticos isso provavelmente não será um grande problema. O Google (como um exemplo) ainda usa o RC4).

Como o servidor que você está executando está morto, enterrado e em decomposição, provavelmente não vale a pena o esforço necessário para construir um Apache corrigido (você precisará reconstruir o Apache e o OpenSSL isoladamente, para não Aborrece qualquer coisa que exija a versão do OpenSSL instalada no seu sistema por padrão - Se você está fazendo tanto trabalho, você pode também atualizar todo o sistema para algo que é realmente suportado), então isso deixa você com "Switch to ECB Cyphers "como sua solução viável.

BEAST é realmente um hambúrguer de nada de um ataque nos dias de hoje - Todos os navegadores populares (IE, Chrome, Safari, Opera) implementaram uma solução eficaz e, por causa do é bem difícil de implementar fora do navegador (por isso, apt e yum ainda são praticamente seguro).

Adam Langley, do Google, deu uma excelente palestra no início deste ano , que delineia um pouco da dor pontos que você deveria estar se concentrando em re: SSL e segurança - Enquanto BEAST ganhava uma menção, estava perto do final da lista de coisas para se preocupar.

    
por 07.08.2012 / 17:40
4

A única solução que encontrei para fazer com que você passe no teste ssllabs.com é adicionar as quatro linhas a seguir ao arquivo apache httpd.conf e seus arquivos ssl.conf:

SSLHonorCipherOrder On

SSLProtocol -all +TLSv1 +SSLv3

SSLCipherSuite RC4-SHA:HIGH:!MD5:!aNULL:!EDH:!ADH

SSLInsecureRenegotiation off

Certifique-se de que você não tenha nenhuma dessas configurações postadas duas vezes no arquivo ssl.conf.

Agora meus sites passam com um A

    
por 24.03.2013 / 01:28