Ir para o conteúdo

Como faço para instalar um certificado SSL/TLS para meu site na minha instância do Linux Ubuntu do Amazon EC2?

3 minuto de leitura
0

Quero instalar um certificado SSL/TLS autoassinado na minha instância Ubuntu do Amazon Elastic Compute Cloud (Amazon EC2) que hospeda um servidor Apache.

Resolução

Pré-requisito: certifique-se de que os grupos de segurança da instância permitam tráfego nas portas 80 e 443.

Instalar o servidor web Apache e OpenSSL

Para instalar o Apache e o OpenSSL em seu servidor, execute o seguinte comando:

sudo apt-get install apache2 openssl -y

Gerar um certificado autoassinado

Conclua as etapas a seguir:

  1. O SSL/TLS usa chaves públicas e privadas. Para criar uma chave privada para seu domínio e uma solicitação de assinatura de certificado (CSR), execute o seguinte comando:

     sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/ssl/private/private.key -out /etc/ssl/private/request.csr
  2. Para gerar um certificado SSL/TLS, execute o seguinte comando:

     sudo openssl x509 -in /etc/ssl/private/request.csr -out /etc/ssl/private/certificate.crt -req -signkey /etc/ssl/private/private.key -days 365

Agora é possível usar os arquivos de chave (private.key) e certificado (certificate.crt) com o servidor web Apache.

Configurar o Apache para usar SSL/TLS

Para configurar o Apache para usar o certificado autoassinado que você criou, conclua as seguintes etapas:

  1. Execute o comando a seguir para abrir o arquivo de configuração padrão do Apache SSL:

    sudo vi /etc/apache2/sites-available/default-ssl.conf
  2. Use os seguintes caminhos para definir a localização do seu certificado SSL:
    Para SSLCertificateFile, use /etc/ssl/private/certificate.crt.
    Para SSLCertificateKeyFile, use /etc/ssl/private/private.key.

  3. Salve e feche o arquivo. Em seguida, execute o seguinte comando para ativar o arquivo do host virtual:

    sudo a2ensite default-ssl.conf
  4. Para abrir o arquivo de configuração padrão do host virtual para Apache, execute o seguinte comando:

    sudo vi /etc/apache2/sites-available/000-default.conf
  5. Para adicionar um redirecionamento ao seu nome de domínio, adicione a seguinte linha ao arquivo etc/apache2/sites-available/000-default.conf:

    Redirect "/" https://Server-IP

    Observação: substitua Server-IP pelo endereço IP do seu servidor. É uma prática recomendada inserir a linha anterior após a linha DocumentRoot. O redirecionamento encaminha todo o tráfego para a versão SSL/TLS do site.

  6. Para ativar os módulos SSL/TLS e de cabeçalho, execute o seguinte comando:

    sudo a2enmod ssl
    sudo a2enmod headers
  7. Execute o comando a seguir para recarregar o serviço Apache e aplicar as modificações:

    sudo systemctl reload apache2

Verificar o servidor SSL/TLS

Conclua as etapas a seguir:

  1. Inicie seu navegador da web.
  2. Abra https://Server-IP.
    Observação: substitua Server-IP pelo endereço IP do seu servidor. O navegador da web redireciona você para uma página de aviso. Esse comportamento é esperado porque uma autoridade de certificação confiável não assinou seu certificado.
  3. Escolha Prosseguir para host para abrir a página inicial do Apache. Um cadeado que diz não seguro aparece na barra de endereço do navegador. Isso mostra que o certificado não está validado, mas criptografa sua conexão.

Para obter mais informações sobre como configurar o SSL/TLS no Red Hat Enterprise Linux (RHEL) ou no Community Enterprise Linux, consulte Setting up a webserver to use HTTPS (Configurar um servidor web para usar HTTPS) no site da Red Hat. Ou, se você usa o Amazon Linux, consulte a configuração SSL/TLS para Amazon Linux 1 (AL1), Amazon Linux 2 (AL2) ou Amazon Linux 2023 (AL2023).

AWS OFICIALAtualizada há 4 meses