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

11

Eu tenho um servidor Web executando o Apache 2.0 no RHEL4. Este servidor falhou recentemente em uma verificação PCI.

Motivo: Protocolo SSLv3.0 / TLSv1.0 Vulnerabilidade no modo CBC fraco Solução: Este ataque foi identificado em 2004 e em 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, desativar as cifras do modo CBC removerá a vulnerabilidade. O uso da seguinte configuração SSL no Apache atenua esta vulnerabilidade: SSLHonorCipherOrder No SSLCipherSuite RC4-SHA: HIGH:! ADH

Correção simples, pensei. Eu adicionei as linhas à configuração do Apache e não funcionou. Aparentemente,
"SSLHonorCipherOrder On" funcionará apenas no Apache 2.2 e posterior. Eu tentei atualizar o Apache, logo corri para o inferno das dependências e parece que terei que atualizar todo o sistema operacional para atualizar para o Apache 2.2. Estamos desativando este servidor em alguns meses, por isso não vale a pena.

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

Como eu faria isso no Apache 2.0? Isso é possível? Caso contrário, existem outras soluções alternativas?

Debianuser
fonte
3
Como o suporte estendido à atualização para RHEL4 (.7) terminou há um ano, sugiro que talvez o servidor seja desativado mais cedo ou mais tarde. Caso contrário, você provavelmente precisará criar o apache 2.2 a partir da fonte.
DerfK
O novo servidor está pronto, mas não podemos migrar até dezembro. Sim, compilar e instalar o Apache 2.2 a partir de fontes é a última opção no momento. Gostaria de saber se existe uma solução mais fácil?
Debianuser 7/08

Respostas:

11

Além de compilar um Apache mais recente à mão, a única coisa em que posso pensar seria tornar o RC4-SHA a única cifra suportada (testada openssl ciphers RC4-SHAno openssl atual para garantir que ele imprima apenas uma cifra, você pode fazer o mesmo para garantir que não corresponda a uma cifra antiga estranha no seu antigo openssl):

SSLCipherSuite RC4-SHA

A Microsoft diz que o Windows XP suporta TLS_RSA_WITH_RC4_128_SHA, portanto você não deve ter nenhum problema de compatibilidade.

DerfK
fonte
1
Exatamente o que eu estava procurando. Testei com sucesso usando beast-check.googlecode.com/files/beast.pl . Agendarei uma varredura PCI e informaremos assim que terminar.
Debianuser
Eu posso confirmar que funcionou. O servidor passou por uma varredura PCI. Muito obrigado.
Debianuser
6

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

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

A outra opção é desativar qualquer algoritmo de criptografia CBC (Cypher-Block-Chaining) e alternar para um codificador en ECB (Electronic Code Book) ou algo como RC4 (algoritmos ECB são teoricamente "menos seguros" porque uma entrada de texto simples criptografada para um determinado A chave sempre mapeia de volta para o mesmo texto cifrado, o que facilita a quebra de ataques de texto sem formatação conhecidos, mas em termos práticos isso provavelmente não será um grande problema.O Google (por exemplo) ainda usa o RC4).

Como o servidor que você está executando está morto, enterrado e em decomposição, isso provavelmente não vale o esforço necessário para criar um Apache corrigido (você precisará reconstruir o Apache e o OpenSSL isoladamente, para não perturbar nada que requer a versão do OpenSSL instalada no seu sistema por padrão - Se você estiver fazendo tanto trabalho, poderá atualizar todo o sistema para algo que é realmente suportado), para que você tenha a opção "Alternar para códigos do ECB" como sua solução viável.


O BEAST é realmente um ataque de nada hoje em dia - Todos os navegadores populares (IE, Chrome, Safari, Opera) implementaram uma solução alternativa eficaz e, devido à maneira como o ataque funciona , é muito difícil de implementar fora de um navegador (assim apte yumainda são bastante seguros).

Adam Langley, do Google, deu uma excelente palestra no início deste ano, que descreve alguns dos pontos problemáticos nos quais você deve se concentrar em: SSL e segurança - enquanto o BEAST mereceu uma menção, estava perto do final da lista de assuntos com os quais se preocupar.

voretaq7
fonte
RC4 não é uma cifra no modo BCE. O uso do modo BCE seria um grande erro e há boas razões para o TLS não ter suítes de cifras suportadas pelo BCE. Usando uma cifra de fluxo como RC4 é um muito menos má idéia, embora os resultados recentes significa que ele está olhando menos bom do que ele fez isg.rhul.ac.uk/tls
ARMB
4

A única solução que eu descobri que fará com que você passe no teste ssllabs.com é adicionar as quatro linhas a seguir nos arquivos apache httpd.conf e ssl.conf:

SSLHonorCipherOrder On

SSLProtocol -all + TLSv1 + SSLv3

SSLCipherSuite RC4-SHA: ALTO:! MD5:! ANULL:! EDH:! ADH

SSLInsecureRenegotiation off

Verifique se você não possui nenhuma dessas configurações postadas duas vezes no arquivo ssl.conf.

Agora meus sites passam com um A.

user2183769
fonte