O projeto OpenSSL anunciou correções para sete vulnerabilidades de segurança em 5 de junho de 2014. Os detalhes são descritos no Aviso de Segurança .
As vulnerabilidades afetam potencialmente qualquer aplicativo de servidor (incluindo NGINX e NGINX Plus) que use OpenSSL para encerrar o tráfego SSL/TLS. Eles podem ser explorados para criar um ataque do tipo man-in-the-middle (MitM) ou uma variedade de problemas de negação de serviço (DoS) e corrupção de dados:
A recomendação do projeto OpenSSL é a seguinte:
Usuários OpenSSL 0.9.8 SSL/TLS devem atualizar para 0.9.8za. Usuários OpenSSL 1.0.0 SSL/TLS devem atualizar para 1.0.0m.
Usuários de SSL/TLS do OpenSSL 1.0.1 devem atualizar para 1.0.1h.
As compilações NGINX e NGINX Plus fornecidas pela NGINX, Inc. (exceto aquelas para Windows) ou por meio de um repositório de terceiros geralmente são vinculadas dinamicamente à instância do sistema operacional de libssl.so . Execute o comando ldd
para descobrir o caminho completo para o arquivo libssl.so e o comando strings
para exibir o número da versão associada (neste caso, é 1.0.1f):
$ ldd `which nginx` | grep ssl libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f82e62bf000) $ strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep "^OpenSSL " OpenSSL 1.0.1f 6 de janeiro de 2014
A saída no seu sistema pode parecer um pouco diferente. Você também pode executar o openssl
version
, embora a saída possa não ser confiável se houver várias instâncias do OpenSSL no seu servidor.
Recomendamos fortemente que você atualize para a biblioteca OpenSSL mais recente fornecida pelo fornecedor do seu sistema operacional, mesmo que a versão anterior que você está executando não seja afetada. Em seguida, reinicie o software NGINX para usar a biblioteca atualizada. Verifique a resposta do seu fornecedor ao CVE-2014-0224 para determinar o processo de atualização correto. Para sua conveniência, aqui estão os links para Debian , Red Hat e Ubuntu .
Observe que alguns fornecedores de sistemas operacionais Linux lançaram pacotes corrigidos que ainda possuem um número de versão OpenSSL anterior, optando por incluir apenas a correção para CVE‑2014‑0224 e vulnerabilidades relacionadas em seus pacotes para fornecer uma pequena atualização rapidamente.
Se você compilou o NGINX, pode ter vinculado estaticamente as bibliotecas OpenSSL. Neste caso, a saída do ldd
não revela dependências na biblioteca libssl.so do sistema operacional. Execute nginx
‑V
para exibir as opções de tempo de compilação que você usou:
$ ./objs/nginx -V versão nginx: nginx/1.7.1 construído por gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) configure argumentos: --with-cc-opt=-I../openssl-1.0.1f/include --with-ld-opt='-L../openssl-1.0.1f -Wl,-Bstatic -lssl -lcrypto -Wl,-Bdynamic -ldl' --with-openssl=../openssl-1.0.1f
Se você estiver usando uma versão vulnerável do OpenSSL, precisará recompilar o NGINX usando uma versão corrigida.
O NGINX para Windows, distribuído pela NGINX , é vinculado estaticamente ao OpenSSL. As compilações atualmente disponíveis para 1.7.1 e 1.6.0 foram atualizadas com as correções do OpenSSL.
"Esta postagem do blog pode fazer referência a produtos que não estão mais disponíveis e/ou não têm mais suporte. Para obter as informações mais atualizadas sobre os produtos e soluções F5 NGINX disponíveis, explore nossa família de produtos NGINX . O NGINX agora faz parte do F5. Todos os links anteriores do NGINX.com redirecionarão para conteúdo semelhante do NGINX no F5.com."