1.6. Configurando a criptografia TLS em um servidor Apache HTTP
Por padrão, o Apache fornece conteúdo aos clientes usando uma conexão HTTP não criptografada. Esta seção descreve como habilitar a criptografia TLS e configurar as configurações freqüentemente usadas relacionadas à criptografia em um Servidor HTTP Apache.
Pré-requisitos
- O Servidor HTTP Apache está instalado e funcionando.
1.6.1. Adicionando criptografia TLS a um Servidor HTTP Apache Copiar o linkLink copiado para a área de transferência!
Esta seção descreve como ativar a criptografia TLS em um Servidor HTTP Apache para o domínio example.com.
Pré-requisitos
- O Servidor HTTP Apache está instalado e funcionando.
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 a uma autoridade certificadora (CA), consulte a documentação de sua CA. Alternativamente, se sua CA suporta o protocolo ACME, você pode usar o módulo
mod_mdpara automatizar a recuperação e o provisionamento de certificados TLS.-
O certificado do TLS é armazenado no arquivo
/etc/pki/tls/private/example.com.crt. Se você usar um caminho diferente, adapte as etapas correspondentes do procedimento. -
O certificado da CA é armazenado no arquivo
/etc/pki/tls/private/ca.crt. Se você usar um caminho diferente, adapte as etapas correspondentes do procedimento. - Os clientes e o servidor web resolvem o nome do anfitrião do servidor para o endereço IP do servidor web.
Procedimento
Instale o pacote
mod_ssl:dnf install mod_ssl
# dnf install mod_sslCopy to Clipboard Copied! Toggle word wrap Toggle overflow Edite o arquivo
/etc/httpd/conf.d/ssl.confe adicione as seguintes configurações à diretiva<VirtualHost _default_:443>:Defina o nome do servidor:
ServerName example.com
ServerName example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow ImportanteO nome do servidor deve corresponder à entrada definida no campo
Common Namedo certificado.Opcional: Se o certificado contiver nomes de host adicionais no campo
Subject Alt Names(SAN), você pode configurarmod_sslpara fornecer criptografia TLS também para esses nomes de host. Para configurar isto, adicione o parâmetroServerAliasescom os nomes correspondentes:ServerAlias www.example.com server.example.com
ServerAlias www.example.com server.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow Defina os caminhos para a chave privada, o certificado do servidor e o certificado da CA:
SSLCertificateKeyFile "/etc/pki/tls/private/example.com.key" SSLCertificateFile "/etc/pki/tls/certs/example.com.crt" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
SSLCertificateKeyFile "/etc/pki/tls/private/example.com.key" SSLCertificateFile "/etc/pki/tls/certs/example.com.crt" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Por razões de segurança, configure que somente o usuário
rootpossa 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
# chown root:root /etc/pki/tls/private/example.com.key # chmod 600 /etc/pki/tls/private/example.com.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow AtençãoSe 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.
Abra a porta
443no firewall local:firewall-cmd --permanent --add-port=443 firewall-cmd --reload
# firewall-cmd --permanent --add-port=443 # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow Reinicie o serviço
httpd:systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow NotaSe você protegeu o arquivo de chave privada com uma senha, você deve digitar esta senha toda vez que o serviço
httpdfor iniciado.
Etapas de verificação
-
Use um navegador e conecte-se a
https://example.com.
Recursos adicionais
-
Para mais detalhes sobre a configuração do TLS, consulte a documentação
SSL/TLS Encryptionno manual do Apache. Para detalhes sobre a instalação do manual, veja Seção 1.8, “Instalando o manual do Servidor HTTP Apache”.