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?
fonte
Respostas:
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-SHA
no 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):A Microsoft diz que o Windows XP suporta TLS_RSA_WITH_RC4_128_SHA, portanto você não deve ter nenhum problema de compatibilidade.
fonte
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
apt
eyum
ainda 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.
fonte
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:
Verifique se você não possui nenhuma dessas configurações postadas duas vezes no arquivo ssl.conf.
Agora meus sites passam com um A.
fonte