Glossário

O que é o OpenSSL? A biblioteca que cuida da criptografia do HTTPS, e como mantê-la segura

OpenSSL é a biblioteca por trás do HTTPS (TLS/SSL). Por que uma falha nela afeta o mundo todo, como o Heartbleed, e como se defender: versão, EOL e patch.

Publicado 2026-06-29 Atualizado 2026-10-06 9 min de leitura
Nesta página

Se você serve HTTPS, seu servidor está quase com certeza rodando sobre o OpenSSL (ou uma implementação compatível). Você nunca o toca diretamente, mas quando uma falha é encontrada, um número enorme de servidores é afetado. Eis o que a biblioteca faz e como defendê-la.

Onde ele é usado

O complicado do OpenSSL é que você o usa sem nunca tê-lo escolhido. Seu app delega o TLS ao servidor web, o servidor web delega a criptografia ao OpenSSL, e esse OpenSSL é entregue pelo SO, uma stack aninhada.

Seu app
↓ delega o TLS
Servidor web (Nginx / Apache) · runtime da linguagem
↓ delega a criptografia
OpenSSL (entregue pelo SO)
O OpenSSL é a camada de baixo. Toda camada acima delega a criptografia a ele, então uma única vulnerabilidade afeta todas elas.

Normalmente isso é conveniente: a criptografia fica a cargo de uma implementação compartilhada escrita por especialistas. Mas quando essa biblioteca compartilhada tem uma vulnerabilidade, todo mundo que a usa é afetado de uma vez. É isso que significa uma falha em biblioteca fundamental ter um impacto amplo.

OpenSSL vs SSL/TLS vs certificados

Os nomes soam parecidos e por isso se confundem, mas cada um tem um papel diferente.

TermoO que éExemplo
SSL / TLSAs regras (protocolo) para criptografar uma conexão. SSL é a versão antiga; hoje se usa TLS 1.2 / 1.3HTTPS é HTTP envolvido em TLS
OpenSSLO programa (biblioteca) que de fato executa o TLS e as operações criptográficas, mais uma ferramenta de linha de comando incluídaO Nginx e o Apache o chamam internamente
CertificadoDados em que uma autoridade certificadora atesta que você é dono de um domínio. Contém uma chave públicaO Let's Encrypt os emite de graça

Ou seja, o OpenSSL é uma ferramenta que implementa as regras do TLS, e o certificado são dados que essa ferramenta usa durante uma conexão. Outras bibliotecas também implementam TLS (LibreSSL, BoringSSL, Windows Schannel e outras), e qual delas você usa depende do SO e do software.

Por que o impacto é tão amplo: um único bug pôs em risco as chaves de muitos servidores

O Heartbleed de 2014 (CVE-2014-0160) veio de um pequeno erro de implementação do OpenSSL (confiar num comprimento alegado sem validá-lo) que permitia a um estranho ler a memória do servidor — que podia incluir chaves privadas e dados de sessão — um pouco de cada vez. Como o OpenSSL era tão amplamente usado, um número enorme de servidores no mundo todo virou alvo simultaneamente (história completa → Heartbleed).

A lição é clara: quanto mais baixo na stack uma dependência fica, mais amplo o impacto. Então não são só as dependências que seu app importa diretamente — bibliotecas fundamentais como o OpenSSL rodando por baixo merecem a mesma seriedade no monitoramento e na correção.

Como defender: evite o EOL, monitore as bibliotecas fundamentais

1

Saiba qual OpenSSL sua stack usa

Você não consegue defender o que não consegue enxergar. Faça o inventário de qual OpenSSL (linha de versão e versão) cada servidor, imagem base de contêiner e runtime de linguagem seus dependem.

2

Não rode versões em fim de suporte (EOL)

Uma vez que uma linha de versão passou do suporte, as novas vulnerabilidades encontradas nela não recebem nenhuma correção. Se você continua rodando EOL, as vulnerabilidades ficam sem correção mesmo depois de descobertas. Planeje as atualizações para uma linha suportada.

3

Inclua as bibliotecas fundamentais no monitoramento de CVE

As dependências do app são fáceis de acompanhar com o osv-scanner e afins, mas o OpenSSL entregue pelo SO é fácil de esquecer. Garanta que os novos CVEs em bibliotecas fundamentais também apareçam (→ o guia prático de resposta a CVE).

4

Corrija rápido quando for grave

Bugs da classe do Heartbleed são atacados no momento em que são divulgados. Mantenha seu caminho de atualização leve o bastante para que correções de base possam sair no mesmo dia quando a gravidade exigir — não "na próxima atualização agendada".

Versões suportadas (em outubro de 2026)

O projeto OpenSSL lança uma versão de suporte de longo prazo (LTS) em abril dos anos ímpares e a suporta por pelo menos cinco anos. As versões não LTS lançadas depois da 3.5 têm suporte por 13 meses a partir do lançamento.

LinhaTipoFim do suporte
4.0Regular14 de maio de 2027
3.6Regular1º de novembro de 2026
3.5LTS8 de abril de 2030
3.4Regular22 de outubro de 2026
3.0 / 1.1.1 / 1.0.2—Encerrado (apenas suporte estendido pago da OpenSSL Corporation)

O OpenSSL entregue pelo seu SO é outra história. Muitas distribuições Linux, entre elas as baseadas em Red Hat, incorporam correções sem aumentar o número da versão (backport). Durante o período de suporte do SO, um pacote que ainda informa 3.0 pode continuar recebendo correções do fornecedor do SO. Não conclua "antigo é vulnerável" ou "novo é seguro" só pelo número; consulte os avisos de segurança do fornecedor do seu SO.

Como verificar seu próprio ambiente

1

Confira o OpenSSL do SO

Execute openssl version -a para ver a versão. Para a versão do pacote, use dpkg -l 'libssl*' openssl no Debian/Ubuntu ou rpm -q openssl em sistemas baseados em Red Hat. Compare essa versão do pacote com os avisos de segurança do fornecedor do seu SO para ver se a correção está incluída.
2

Confira o que seus aplicativos de fato usam

Alguns softwares trazem o próprio OpenSSL, separado do SO. nginx -V para o Nginx, python3 -c "import ssl; print(ssl.OPENSSL_VERSION)" para o Python e node -p process.versions.openssl para o Node.js mostram a versão embutida.
3

Confira também as imagens de contêiner

O OpenSSL dentro de um contêiner não muda quando você atualiza o SO do host. Reconstrua as imagens base regularmente e verifique vulnerabilidades em cada imagem.
4

Assine os comunicados de segurança do OpenSSL

Para versões com correções graves, a lista de e-mails openssl-announce recebe a data e a gravidade (sem detalhes) cerca de uma semana antes. Com esse aviso, você pode reservar tempo para a atualização com antecedência.

Como ler a gravidade de uma vulnerabilidade

O projeto OpenSSL classifica as próprias vulnerabilidades em quatro níveis e muda a forma de entregar as correções de acordo com eles.

GravidadeSignificado aproximadoComo a correção é entregue
CriticalAfeta configurações comuns e é fácil de explorar (vazamento significativo de memória do servidor, roubo de chaves privadas etc.)Uma correção é lançada imediatamente para todas as versões suportadas
HighMenos arriscada que Critical, mas ainda grave (configurações menos comuns, apenas o lado cliente etc.)Preparada de forma privada e depois lançada para todas as versões suportadas
ModerateLimitada a negação de serviço, protocolos pouco comuns e afinsIncluída na próxima versão agendada
LowApenas ferramentas de linha de comando, combinações improváveis de condições e afinsIncluída na próxima versão agendada

Uma falha como o Heartbleed, em que a memória do servidor pode ser lida de fora, se encaixa na definição de Critical. Para Critical e High, comece a preparar a atualização assim que vir o aviso antecipado.

Nossa visão: monitore as bibliotecas fundamentais com máquinas

Você não consegue acompanhar falhas em bibliotecas fundamentais na memória humana. Este site coloca as próprias dependências e bases sob monitoramento de CVE por máquina. Os certificados que você serve via Let's Encrypt ainda rodam sua criptografia por baixo através de uma implementação da família OpenSSL, então listar as bibliotecas fundamentais em que você nunca pensa e monitorá-las é a forma mais direta de evitar incidentes de impacto amplo.

Leia a seguir

Fontes (primárias)

  • OpenSSL Library, "Release Strategy" — openssl-library.org (política de LTS, datas de fim de suporte de cada linha)
  • OpenSSL Library, "Security Policy" — openssl-library.org (quatro níveis de gravidade, aviso antecipado)
  • Red Hat, "Backporting Security Fixes" — access.redhat.com (por que só o número da versão não diz se você está vulnerável)
  • NIST NVD, "CVE-2014-0160" — nvd.nist.gov (Heartbleed)

FAQ

QNunca instalei o OpenSSL — mesmo assim posso estar usando?
A

Quase com certeza, sim. O OpenSSL é uma biblioteca fundamental usada internamente por servidores web (Nginx/Apache), sistemas operacionais e runtimes de linguagens. Mesmo que você nunca o referencie no seu código, se você serve HTTPS então é muito provável que o OpenSSL (ou uma implementação compatível) esteja rodando por baixo. Supor que 'eu não uso' é exatamente como as vulnerabilidades fundamentais passam batido.

QQual a diferença para o LibreSSL ou o BoringSSL?
A

Ambos são forks do OpenSSL. O LibreSSL foi criado pelo projeto OpenBSD depois do Heartbleed para limpar a base de código; o BoringSSL é a variante do Google para uso próprio. A maioria dos usuários não precisa escolher entre eles — o que importa muito mais é manter a implementação que sua plataforma traz em uma versão suportada e atualizada.

QComo verifico a versão ou a atualizo?
A

Em muitos sistemas o `openssl version` a mostra, e você a atualiza pelo gerenciador de pacotes do SO ou reconstruindo a imagem base do seu contêiner. O ponto-chave é não continuar rodando uma versão em fim de suporte (EOL): uma vez que uma linha de versão chega ao EOL, as novas vulnerabilidades encontradas nela não recebem correção. Acompanhe suas dependências fundamentais do mesmo jeito que você acompanha as dependências do seu app.

QQual a diferença entre OpenSSL e SSL?
A

SSL (hoje, seu sucessor TLS) é o nome das regras (protocolo) para criptografar uma conexão. OpenSSL é o nome de um programa (biblioteca) que de fato executa essas regras. Quando você se conecta por HTTPS, o servidor web usa uma biblioteca como o OpenSSL para cuidar do TLS.

QAinda posso usar o OpenSSL 3.0?
A

O suporte do projeto OpenSSL à 3.0 terminou (exceto o suporte estendido pago). Porém, um pacote 3.0 entregue por uma distribuição Linux pode continuar recebendo correções portadas (backport) durante o período de suporte desse SO. Uma 3.0 que você compilou por conta própria ou que vem embutida num aplicativo não vai receber correções, então migre para uma linha suportada como a 3.5 (LTS, com suporte até abril de 2030).

QAcabaram de anunciar uma vulnerabilidade no OpenSSL. O que faço primeiro?
A

Confira primeiro a gravidade. Se for Critical ou High, verifique se seus servidores, contêineres e aplicativos usam uma linha do OpenSSL afetada e atualize assim que o fornecedor do seu SO ou o publicador da imagem lançar a correção. Depois de atualizar, reinicie os processos que carregam o OpenSSL (como o servidor web); caso contrário, a biblioteca antiga continua na memória.