Red Hat Training

A Red Hat training course is available for RHEL 8

2.3. Adicionando a criptografia TLS a um servidor web NGINX

Esta seção descreve como habilitar a criptografia TLS em um servidor web NGINX para o domínio example.com.

Pré-requisitos

  • O NGINX é instalado como descrito em Seção 2.1, “Instalando e preparando o NGINX”.
  • A chave privada é armazenada no arquivo /etc/pki/tls/private/example.com.key.

    Para detalhes sobre a criação de uma chave privada e pedido de assinatura de certificado (CSR), bem como sobre como solicitar um certificado de uma autoridade certificadora (CA), consulte a documentação de sua CA.

  • O certificado do TLS é armazenado no arquivo /etc/pki/tls/certs/example.com.crt. Se você usar um caminho diferente, adapte as etapas correspondentes do procedimento.
  • O certificado CA foi anexado ao arquivo do certificado TLS do servidor.
  • Os clientes e o servidor web resolvem o nome do anfitrião do servidor para o endereço IP do servidor web.
  • A porta 443 está aberta no firewall local.

Procedimento

  1. Edite o arquivo /etc/nginx/nginx.conf e adicione o seguinte bloco server ao bloco http na configuração:

    server {
        listen              443 ssl;
        server_name         example.com;
        root                /usr/share/nginx/html;
        ssl_certificate     /etc/pki/tls/certs/example.com.crt;
        ssl_certificate_key /etc/pki/tls/private/example.com.key;
    }
  2. Por razões de segurança, configure que somente o usuário root possa acessar o arquivo de chave privada:

    # chown root:root /etc/pki/tls/private/example.com.key
    # chmod 600 /etc/pki/tls/private/example.com.key
    Atenção

    Se a chave privada foi acessada por usuários não autorizados, revogar o certificado, criar uma nova chave privada e solicitar um novo certificado. Caso contrário, a conexão TLS não é mais segura.

  3. Reinicie o serviço nginx:

    # systemctl restart nginx

Etapas de verificação

  • Use um navegador e conecte-se a https://example.com