DevOps

Configuração SSL no Nginx Ubuntu 14.04

Criar e configurar um certificado SSL para um servidor Nginx em um sistema Ubuntu 14.04 envolve vários passos importantes. É fundamental seguir um procedimento cuidadoso para garantir que a conexão HTTPS seja segura e confiável para os usuários. Aqui está um guia detalhado sobre como realizar esse processo:

  1. Pré-requisitos:

    • Acesso root ou a uma conta de usuário com permissões sudo.
    • Um servidor Nginx instalado e configurado.
    • O OpenSSL deve estar instalado no sistema.
  2. Instalação do OpenSSL (caso ainda não esteja instalado):

    bash
    sudo apt-get update sudo apt-get install openssl
  3. Gerar um Certificado SSL autoassinado (opcional):
    Um certificado autoassinado pode ser usado para testes ou em ambientes de desenvolvimento, mas não é recomendado para produção devido à falta de validação por uma autoridade certificadora reconhecida.

    Para gerar um certificado autoassinado, execute o seguinte comando:

    bash
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/chave.key -out /etc/nginx/ssl/certificado.crt

    Este comando irá gerar um certificado válido por 365 dias.

  4. Obtenção de um Certificado SSL de uma Autoridade Certificadora (recomendado):
    Para um certificado SSL válido e confiável, é recomendável obter um de uma autoridade certificadora reconhecida, como Let’s Encrypt. No entanto, o suporte para o Ubuntu 14.04 foi descontinuado, o que pode dificultar a instalação do certbot, a ferramenta oficial do Let’s Encrypt.

    Uma alternativa seria gerar o certificado SSL em outro servidor com uma versão mais recente do Ubuntu (ou outra distribuição suportada) e, em seguida, transferi-lo para o servidor Nginx no Ubuntu 14.04.

  5. Configuração do Nginx para usar SSL:

    • Abra o arquivo de configuração do site Nginx em um editor de texto:
      bash
      sudo nano /etc/nginx/sites-available/seusite
    • Adicione ou modifique as seguintes linhas para habilitar o SSL:
      nginx
      server { listen 443 ssl; server_name seusite.com; ssl_certificate /etc/nginx/ssl/certificado.crt; ssl_certificate_key /etc/nginx/ssl/chave.key; # Configurações adicionais SSL (opcional) ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; ssl_session_timeout 10m; ssl_session_cache shared:SSL:10m; ssl_dhparam /etc/nginx/ssl/dhparam.pem; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; }
  6. Verificação da Configuração do Nginx:
    Antes de recarregar o Nginx, é crucial verificar se a configuração está correta. Execute o seguinte comando:

    bash
    sudo nginx -t
  7. Recarregue o Nginx:
    Depois de verificar que a configuração está correta, recarregue o Nginx para aplicar as alterações:

    bash
    sudo systemctl reload nginx
  8. Teste do SSL:
    Abra um navegador da web e acesse seu site usando https:// para garantir que o SSL esteja configurado corretamente e que a conexão esteja segura.

Esses são os passos básicos para criar e configurar um certificado SSL para um servidor Nginx no Ubuntu 14.04. Lembre-se sempre de manter o certificado atualizado e de seguir as melhores práticas de segurança para proteger a comunicação entre o servidor e os usuários.

“Mais Informações”

Claro, vamos aprofundar mais nos passos envolvidos na criação e configuração de um certificado SSL para um servidor Nginx no Ubuntu 14.04:

  1. Pré-requisitos:

    • Certifique-se de que o servidor Ubuntu 14.04 esteja devidamente atualizado. Execute sudo apt-get update e sudo apt-get upgrade para garantir que todos os pacotes estejam atualizados.
    • Verifique se o Nginx está instalado e funcionando corretamente. Você pode verificar o status do Nginx usando o comando sudo service nginx status.
    • Certifique-se de que o firewall esteja configurado para permitir tráfego nas portas 80 (HTTP) e 443 (HTTPS). Se estiver usando o firewall UFW, você pode permitir o tráfego nessas portas usando sudo ufw allow 80/tcp e sudo ufw allow 443/tcp.
  2. Instalação do OpenSSL:
    O OpenSSL é uma ferramenta amplamente utilizada para a criação e gerenciamento de certificados SSL. Se ainda não estiver instalado, você pode instalá-lo usando o gerenciador de pacotes apt:

    bash
    sudo apt-get install openssl
  3. Geração do Certificado SSL autoassinado (opcional):
    Um certificado autoassinado é gerado pelo próprio servidor, sem a necessidade de uma autoridade certificadora externa. Isso pode ser útil para testes ou desenvolvimento local, mas não é adequado para produção devido à falta de validação por uma autoridade certificadora confiável.

  4. Obtenção de um Certificado SSL de uma Autoridade Certificadora (recomendado):
    Para produção, é altamente recomendável obter um certificado SSL de uma autoridade certificadora reconhecida, como Let’s Encrypt. No entanto, o suporte para o Ubuntu 14.04 foi descontinuado, o que pode dificultar a instalação e o uso do certbot, a ferramenta oficial do Let’s Encrypt. Uma solução alternativa seria gerar o certificado SSL em outro servidor com uma versão mais recente do Ubuntu (ou outra distribuição suportada) e, em seguida, transferi-lo para o servidor Nginx no Ubuntu 14.04.

  5. Configuração do Nginx para usar SSL:
    Depois de gerar ou obter o certificado SSL, é necessário configurar o Nginx para usá-lo. Isso envolve modificar o arquivo de configuração do site Nginx correspondente. Certifique-se de adicionar as diretrizes corretas para habilitar o SSL, especificando o caminho para o certificado e a chave privada SSL.

  6. Configurações Avançadas do SSL:
    Além das configurações básicas, você pode personalizar ainda mais a configuração do SSL no Nginx para melhorar a segurança e o desempenho. Isso inclui especificar os protocolos SSL/TLS suportados, definir parâmetros de criptografia, configurar cache SSL, habilitar a verificação OCSP Stapling, definir cabeçalhos de segurança HTTP e muito mais.

  7. Verificação e Teste do SSL:
    Após configurar o SSL, é importante verificar se não há erros de sintaxe no arquivo de configuração do Nginx. Use o comando sudo nginx -t para testar a configuração. Além disso, é recomendável testar a conexão HTTPS acessando o site através de um navegador da web para garantir que o SSL esteja funcionando corretamente.

  8. Renovação do Certificado SSL:
    Certificados SSL têm uma validade limitada, geralmente de 1 a 2 anos. Certifique-se de renovar o certificado antes do vencimento para evitar interrupções no serviço HTTPS. Se estiver usando Let’s Encrypt, você pode configurar a renovação automática usando cron ou um serviço como certbot.

Esses são os principais aspectos a serem considerados ao criar e configurar um certificado SSL para um servidor Nginx no Ubuntu 14.04. É importante seguir cada etapa com cuidado para garantir uma configuração SSL segura e confiável.

Botão Voltar ao Topo