Como instalar um certificado SSL num VPS

Ver como Markdown

Saiba como instalar um certificado SSL num VPS OVHcloud

Objetivo

A segurança do seu website é essencial para proteger os dados sensíveis dos seus utilizadores e melhorar a sua confiança. Graças a um certificado SSL (Secure Sockets Layer) pode encriptar as trocas de informações entre os seus visitantes e o seu website, reforçando a sua credibilidade. Este guia documenta a utilização do Let's Encrypt, um serviço gratuito e automatizado.

Saiba como instalar um certificado SSL num VPS OVHcloud.

Informações sobre a administração dos serviços OVHcloud e como encontrar a assistência adequada

Ao utilizar os guias da OVHcloud, tenha em conta as seguintes condições:

  • As instruções procuram fornecer o máximo de detalhes possível, mas não podem abranger todos os casos de utilização individuais. Poderá ser necessário adaptar as ações descritas às suas necessidades.
  • O ecossistema OVHcloud foi concebido para oferecer flexibilidade e liberdade de escolha. Os clientes são, por isso, responsáveis pela configuração correta e segura dos seus serviços. Para evitar a perda de dados, recomendamos vivamente a aplicação de estratégias de cópia de segurança a todos os seus dados importantes.
  • Os nossos guias e tutoriais podem fazer referência a software ou serviços de terceiros em combinação com as soluções OVHcloud. O suporte técnico fornecido pela OVHcloud não inclui a configuração de sistemas ou produtos fora da nossa responsabilidade. Isto inclui, entre outros:
    • Sistemas operativos e interfaces de utilizador (Windows, Debian, Plesk, etc.).
    • Qualquer outro software de terceiros (clientes FTP, software de e-mail, etc.).
    • Serviços oferecidos por outros fornecedores (DNS, API, interfaces de utilizador, etc.).

Para receber a assistência adequada em caso de problemas, siga estas orientações:

  • Procura aconselhamento personalizado ou pretende discutir um tema que não é abordado em detalhe na nossa documentação?
    Junte-se à comunidade OVHcloud para pesquisar o seu tema e falar com outros utilizadores.
  • Precisa de comunicar um incidente relativo ao seu serviço OVHcloud ou tem dificuldades na Área de Cliente OVHcloud?
    Crie um pedido de suporte no nosso Centro de Ajuda.
  • Necessita de assistência profissional para o seu projeto ou de ajuda com tarefas fora do âmbito do nosso suporte?
    Visite o nosso portal de parceiros para encontrar especialistas familiarizados com as soluções OVHcloud.
  • Procura informações mais detalhadas sobre os nossos níveis de suporte e Professional Services?
    Visite as nossas páginas web sobre os níveis de suporte OVHcloud e os OVHcloud Professional Services.

Pode participar na melhoria da nossa documentação:

  • Pretende partilhar comentários para melhorar uma página de guia ou comunicar informações insuficientes numa página específica?
    Utilize os botões «Esta página foi útil?» no final da página para nos informar.
  • Pretende propor uma atualização concreta da documentação?
    Utilize a função «Editar esta página», disponível no final da página e na barra lateral.

Requisitos

  • Dispor de um serviço VPS
  • Ter acesso de administrador (sudo) via SSH ao VPS
  • Ter um website funcional acessível em "HTTP"

Instruções

Índice

Etapa 1 - Ligue-se ao seu VPS OVHcloud

  1. Transfira um cliente SSH como PuTTY ou utilize o terminal integrado do seu sistema operativo.
  2. Ligue-se ao seu VPS OVHcloud com as informações de ligação fornecidas:
ssh root@<vps_ip>

Substitua <vps_ip> pelo endereço IP do seu VPS OVHcloud.

Etapa 2 - Instale Certbot

Certbot é uma ferramenta que permite gerir automaticamente os certificados Let's Encrypt. Siga os passos abaixo para instalar o Certbot de acordo com a sua distribuição Linux.

Ubuntu/Debian
CentOS
Fedora
sudo apt update
sudo apt install certbot

Verifique se o Certbot está instalado corretamente executando o seguinte comando:

certbot --version

Isso deve mostrar a versão do Certbot instalada.

Etapa 3 - Obtenha um certificado SSL com o Let's Encrypt

Info

Se instalou o seu servidor web (Nginx ou Apache), recomendamos que utilize os plugins Certbot para automatizar a configuração SSL e ativar os reencaminhamentos HTTPS. Estes plugins simplificam a instalação, gerindo diretamente os ficheiros de configuração do servidor web.

Utilização automática com os plugins Certbot Nginx ou Apache (recomendado)

Consoante o servidor web, utilize as linhas de comandos correspondentes:

Nginx
Apache

Instale o plugin Certbot Nginx:

sudo apt install python3-certbot-nginx -y

Gerar o certificado SSL :

sudo certbot --nginx -d your_domain

Certbot irá configurar automaticamente o certificado SSL e o reencaminhamento HTTPS. Verifique que o seu website está acessível em "HTTPS".

Utilização em modo autónomo

Se preferir configurar manualmente o seu servidor, utilize Certbot no modo autónomo. Este modo utiliza um servidor temporário integrado no Certbot para validar o seu nome de domínio e gerar um certificado SSL.

Utilize o seguinte comando para pedir um certificado:

sudo certbot certonly --standalone -d your_domain

Substitua your_domain pelo seu nome de domínio.

Warning

Este método interrompe temporariamente qualquer serviço que utilize a porta 80 (por exemplo, um outro servidor web).

Uma vez o certificado gerado, os ficheiros estão disponíveis em /etc/letsencrypt/live/your_domain/ :

  • fullchain.pem: o certificado completo.
  • privkey.pem: a chave privada.

Etapa 4 - Configure o seu servidor web

Info

Se utilizou a solução automática (com os plugins Certbot) anteriormente (Etapa 3) e o seu website está acessível em HTTPS, passe diretamente para a etapa 5.

Exemplo para Nginx

1. Abra o ficheiro de configuração do seu website (por exemplo, /etc/nginx/sites-available/your_domain.conf).

2. Adicione as seguintes linhas para ativar o SSL:

server {
    listen 443 ssl;
    server_name your_domain;

    ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;

    # Parâmetros de segurança adicionais
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # Redirecionamento HTTP para HTTPS
    location / {
        try_files $uri $uri/ =404;
    }
}

3. Adicione um reencaminhamento automático HTTP para HTTPS:

server {
    listen 80;
    server_name your_domain;
    return 301 https://$host$request_uri;
}

4. Teste e reinicie o Nginx:

sudo nginx -t
sudo systemctl reload nginx

Verifique que o seu website está acessível em "HTTPS".

Exemplo para Apache

1. Ative os módulos SSL e os headers:

sudo a2enmod ssl
sudo a2enmod headers

2. Altere a configuração do seu website (por exemplo /etc/apache2/sites-available/your_domain.conf) para incluir:

<VirtualHost *:80>
    ServerName your_domain
    DocumentRoot /var/www/your_domain

    Redirect permanent / https://your_domain/

    <Directory /var/www/your_domain>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/ssltest_error.log
    CustomLog ${APACHE_LOG_DIR}/ssltest_access.log combined
</VirtualHost>

<VirtualHost *:443>
    ServerName your_domain
    DocumentRoot /var/www/your_domain

    # Ativar SSL
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/your_domain/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/your_domain/privkey.pem

    # Parâmetros de segurança adicionais
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5
    SSLHonorCipherOrder on

    <Directory /var/www/your_domain>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/ssltest_error.log
    CustomLog ${APACHE_LOG_DIR}/ssltest_access.log combined
</VirtualHost>

3. Teste e reinicie o Apache:

sudo apachectl configtest
sudo systemctl restart apache2

Verifique que o seu website está acessível em HTTPS.

Etapa 5 - Ative a renovação automática

Os certificados Let's Encrypt são válidos durante 90 dias. Configure uma renovação automática com Certbot:

Teste a renovação automática:

sudo certbot renew --dry-run

Certbot configura automaticamente uma tarefa cron ou um timer systemd para gerir a renovação. Verifique o estado do ficheiro com:

sudo systemctl list-timers | grep certbot

Quer saber mais?

Para serviços especializados (referenciamento, desenvolvimento, etc), contacte os parceiros OVHcloud.

Fale com nossa comunidade de utilizadores.

Esta página foi útil?