
Tentando descobrir exatamente quais serviços devem ser reiniciados apóscorrigindo o opensslcontra Heartbleed. Pelo menos uma postagem menciona a reinicialização:
sshd, apache, nginx, postfix, dovecot, courier, pure-ftpd, bind, mysql
- Existe um comando que pode ser executado para ver quais serviços em execução dependem do openssl?
- Existe um comando para executar no Apache/nginx para ver se o patch está ativo para que o serviço não precise ser reiniciado?
- Deveríamos apenas agendar o tempo de inatividade e reiniciar totalmente todos os servidores?
EDITAR:Esta postagemsugere usar: lsof -n | grep ssl | grep DEL
para exibir processos que ainda usam a versão antiga do OpenSSL marcados para exclusão
Responder1
Como regra geral, ao mitigar uma vulnerabilidade grave em uma biblioteca usada por muitos programas:reiniciar o servidor é a maneira mais fácil de garantir que você reiniciou todos os programas afetados e que nada está usando o código antigo (vulnerável).
Você não deve ter medo de reinicializar seus sistemas (de qualquer maneira, você deve fazer isso regularmente ao instalar patches!) - reinicializar regularmente seus servidores significa que você pode ter certeza de que eles voltarão a funcionar sem problemas, e se você projetar seu ambiente para uma falha adequada tolerância uma reinicialização não significa uma interrupção. (Na verdade, mesmo que o seu ambiente NÃO seja tolerante a falhas, estamos falando de talvez 10 minutos - uma pequena interrupção, considerando a escala do problema de segurança do qual estamos falando com o heartbleed...)
Se por algum motivo você não conseguir reinicializar, você pode usar lsof
para determinar quais programas estão em execução e que usam a biblioteca OpenSSL:sudo lsof -n | grep ssl
Para encontrar aqueles que usam a biblioteca ANTIGA (excluída), você pode fazer sudo lsof -n | grep ssl | grep DEL
.
Cada programa afetado precisará ser reiniciado usando qualquer procedimento apropriado para esse programa.