A partir de hoje, foi encontrado um bug no OpenSSL afetando as versões 1.0.1
através de 1.0.1f
(inclusive) e 1.0.2-beta
.
Desde o Ubuntu 12.04, todos somos vulneráveis a esse bug. Para corrigir esta vulnerabilidade, os usuários afetados devem atualizar para o OpenSSL 1.0.1g
.
Como todos os usuários afetados podem aplicar essa atualização agora ?
Respostas:
As atualizações de segurança estão disponíveis para 12.04, 12.10, 13.10 e 14.04, consulte o Aviso de segurança do Ubuntu USN-2165-1 .
Então, primeiro você precisa aplicar as atualizações de segurança disponíveis, por exemplo, executando
na linha de comando.
Não se esqueça de reiniciar os serviços (HTTP, SMTP, etc.) que usam a versão afetada do OpenSSL, caso contrário você ainda estará vulnerável. Veja também Heartbleed: O que é e quais são as opções para mitigá-lo? em Serverfault.com.
O comando a seguir mostra (após uma atualização) todos os serviços que precisam ser reiniciados:
Depois disso, você precisa gerar novamente todas as chaves SSL do servidor e avaliar se suas chaves podem ter vazado. Nesse caso, os invasores podem ter recuperado informações confidenciais de seus servidores.
fonte
openssl version
dáOpenSSL 1.0.1 14 Mar 2012
. Essa não é a versão corrigida, certo? Ou estou interpretando errado?1.0.1 14 Mar 2012
. Leia a resposta do crimi para descobrir se sua instalação está incluindo a correção.dpkg -l | grep ' openssl '
e conseguir1.0.1-4ubuntu5.12
, estará pronto .O bug é conhecido como Heartbleed .
Eu sou vulnerável?
Geralmente, você é afetado se executar algum servidor para o qual você gerou uma chave SSL em algum momento. A maioria dos usuários finais não é (diretamente) afetada; pelo menos o Firefox e o Chrome não usam o OpenSSL. SSH não é afetado. A distribuição dos pacotes Ubuntu não é afetada (depende de assinaturas GPG).
Você estará vulnerável se executar qualquer tipo de servidor que utilize o OpenSSL versões 1.0-1.0.1f (exceto as versões do curso que foram corrigidas desde que o bug foi descoberto). As versões afetadas do Ubuntu são as versões 11.10 oníricas e 14.04 confiáveis. É um bug de implementação, não uma falha no protocolo; portanto, apenas os programas que usam a biblioteca OpenSSL são afetados. Se você tiver um programa vinculado à versão antiga 0.9.x do OpenSSL, ele não será afetado. Somente programas que usam a biblioteca OpenSSL para implementar o protocolo SSL são afetados; programas que usam o OpenSSL para outras coisas não são afetados.
Se você executou um servidor vulnerável exposto à Internet, considere-o comprometido, a menos que seus logs não mostrem conexão desde o anúncio em 07/04/2014. (Isso pressupõe que a vulnerabilidade não foi explorada antes do anúncio.) Se o servidor foi exposto apenas internamente, a necessidade de alterar as chaves dependerá de outras medidas de segurança.
Qual é o impacto?
O bug permite que qualquer cliente que possa se conectar ao seu servidor SSL recupere cerca de 64 kB de memória do servidor. O cliente não precisa ser autenticado de forma alguma. Repetindo o ataque, o cliente pode despejar diferentes partes da memória em tentativas sucessivas.
Uma das partes críticas de dados que o invasor pode recuperar é a chave privada SSL do servidor. Com esses dados, o invasor pode se passar por seu servidor.
Como me recupero em um servidor?
Coloque todos os servidores afetados offline. Enquanto estiverem em execução, eles estão potencialmente vazando dados críticos.
Atualize o
libssl1.0.0
pacote e verifique se todos os servidores afetados foram reiniciados.Você pode verificar se os processos afetados ainda estão em execução com o `` grep 'libssl. (excluído) '/ proc / / maps`
Gere novas chaves . Isso é necessário porque o bug pode ter permitido que um invasor obtenha a chave privada antiga. Siga o mesmo procedimento que você usou inicialmente.
Agora que você possui novas chaves descomprometidas, pode colocar seu servidor novamente online .
Revogue os certificados antigos.
Avaliação de danos : todos os dados que estiveram na memória de um processo que atende às conexões SSL podem ter vazado. Isso pode incluir senhas de usuários e outros dados confidenciais. Você precisa avaliar quais podem ser esses dados.
Como me recupero em um cliente?
Existem apenas algumas situações nas quais os aplicativos clientes são afetados. O problema no lado do servidor é que qualquer pessoa pode se conectar a um servidor e explorar o bug. Para explorar um cliente, três condições devem ser atendidas:
wget
para baixar um arquivo, não havia dados a serem vazados.)Se você fez isso entre 07/04/2014 à noite UTC e atualizou sua biblioteca OpenSSL, considere comprometidos os dados que estavam na memória do processo do cliente.
Referências
fonte
openssl
contém ferramentas de linha de comando. Não é usado por aplicativos que usam a biblioteca OpenSSL para implementar o protocolo SSL (como o Apache). Mas você deve apenas aplicar as atualizações de segurança da distribuição.Para ver qual versão do OpenSSL está instalada no Ubuntu, execute:
Se você vir a seguinte versão de saída, o patch para CVE-2014-0160 deve ser incluído.
Olhando https://launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12 , mostra que tipo de bugs foram corrigidos:
fonte
sudo service apache2 restart
openssl
não corrige aplicativos como Apache, Nginx ou postfix. Você precisa atualizálibssl1.0.0
-los e reiniciá-los, conforme explicado em outras postagens.Se os seus repositórios apt-get não contêm nenhuma versão OpenSSL 1.0.1g pré-compilada , basta baixar fontes do site oficial e compilá-lo.
Abaixo da linha de comando única para compilar e instalar a última versão do openssl.
curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && sudo ./config && sudo make && sudo make install
Substitua o arquivo binário openssl antigo pelo novo via um link simbólico.
Você é tudo de bom!
Ver esta postagem no blog .
Nota: Como declarado na postagem do blog, esta solução alternativa não corrigirá "o servidor Nginx e Apache que precisa ser recompilado com fontes openSSL 1.0.1g".
fonte
Para quem não deseja fazer uma atualização de pacote em todo o servidor. Eu li vários desses guias hoje e
apt-get upgrade openssl
===apt-get upgrade
isso aplicará todas as correções de segurança exigidas pela sua máquina. Maravilhoso, a menos que você esteja explicitamente apoiado em uma versão antiga do pacote em algum lugar.Esta é a ação mínima necessária no Ubuntu 12.04 LTS executando o Apache 2:
Vá para este endereço e prove que você tem a vulnerabilidade. Você deve usar o ENDEREÇO EXTERNO DIRETO DO SEU SERVIDOR DA WEB. Se você usa um loadbalancer (por exemplo, ELB), pode não estar entrando em contato diretamente com o servidor da web.
Execute o seguinte liner 1 para atualizar pacotes e reiniciar. Sim, eu vi todos os guias dizendo que você deveria ter um carimbo de data e hora depois de 4 de abril de 2014, isso não parece ser o meu caso.
apt-get update && apt-get install openssl libssl1.0.0 && /etc/init.d/apache2 restart
Verifique se você possui as versões de pacotes apropriadas instaladas e verifique novamente o servidor da Web quanto à vulnerabilidade.
Os principais pacotes são os seguintes, eu determinei essas informações usando o comando abaixo e depois editei o cruft (você não precisa saber muito sobre o estado das minhas máquinas).
1.0.1-4ubuntu5.12
NÃO deve conter a vulnerabilidade. Verifique se é esse o caso, acessando novamente o site abaixo e testando seu servidor da web.http://filippo.io/Heartbleed/
fonte
apt-get install openssl libssl1.0.0
fez isso por mim. A execuçãoopenssl version -a
agora mostra:built on: Mon Apr 7 20:33:29 UTC 2014
Notei muitos comentadores aqui que precisam de ajuda urgentemente. Eles estão seguindo as instruções, atualizando e reinicializando, e ainda vulneráveis ao usar alguns dos sites de teste.
Você deve verificar se você não possui pacotes em espera, como libssl.
Para atualizar aqueles
apt-mark unhold libssl1.0.0
(por exemplo). Em seguida, atualizar:apt-get upgrade -V
. Em seguida, reinicie os serviços afetados.fonte