Editado 2 Semanas atrás por ExtremeHow Equipe Editorial
ApacheSSLSegurançaCriptografiaHTTPSConfiguraçãoServidor WebCertificadosRedesTIConfiguraçãoDesenvolvimento
Tradução atualizada 2 Semanas atrás
Secure Socket Layer (SSL) é uma tecnologia de segurança padrão para estabelecer um link criptografado entre um servidor e um cliente. No contexto do uso da Internet, isso geralmente significa um servidor web (como o Apache) e um navegador. SSL garante que todos os dados passados entre o servidor web e o navegador permaneçam privados e íntegros.
O Apache é um dos servidores web mais populares do mundo, e configurá-lo para usar SSL/TLS permite que seu site transfira dados através de um canal seguro. Este guia irá apresentar a você o processo de configuração do SSL em um servidor Apache executando um sistema baseado em Unix, como o Linux.
Antes de mergulhar na configuração do SSL para o Apache, certifique-se de ter o seguinte:
Primeiro, certifique-se de que o Apache está instalado no seu servidor e que o módulo SSL está habilitado. Você pode instalar o Apache usando o gerenciador de pacotes usado pela sua distribuição. Por exemplo, no Ubuntu:
sudo apt update sudo apt install apache2
Você também precisa instalar o módulo mod_ssl
. Você pode fazê-lo assim:
sudo a2enmod ssl
Você precisa de um certificado para que o SSL funcione. Você pode comprá-lo de uma autoridade certificadora (CA) ou criar um certificado autoassinado. Se você está configurando o SSL para fins de teste internos, um certificado autoassinado é suficiente. Veja como criar um certificado autoassinado:
sudo mkdir /etc/apache2/ssl sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Vamos analisar este comando:
sudo mkdir /etc/apache2/ssl
: Cria um diretório para armazenar seu certificado SSL e chave.openssl req -x509 -nodes -days 365
: Cria um novo certificado que é válido por 365 dias.-newkey rsa:2048
: Usa RSA com um tamanho de chave de 2048 bits.-keyout
: Especifica onde salvar a chave privada.-out
: Especifica onde salvar o arquivo de certificado.Agora que você tem seu certificado SSL e chave, você precisa configurar o Apache para usá-los. Abra o arquivo de configuração do Apache, que geralmente está localizado em /etc/apache2/sites-available/default-ssl.conf
. Você pode usar um editor de texto como nano ou vi:
sudo nano /etc/apache2/sites-available/default-ssl.conf
Encontre as seguintes linhas no arquivo de configuração:
SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key
Substitua esses caminhos pelo seu certificado e caminho da chave:
SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Você também precisa garantir que o host virtual do Apache escute na porta 443 (porta padrão do HTTPS). Deve parecer algo assim:
<VirtualHost *:443> ServerAdmin webmaster@your_domain.com ServerName your_domain.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key <Directory /var/www/html> AllowOverride All </Directory> </VirtualHost>
Depois de modificar o default-ssl.conf
, você precisará habilitar o SSL no site com o seguinte comando:
sudo a2ensite default-ssl
Após habilitar o site, você precisará reiniciar o Apache para aplicar as mudanças:
sudo systemctl restart apache2
Agora você deve testar sua configuração para verificar se o SSL está funcionando. Abra um navegador web e tente acessar seu domínio com o prefixo https://
, por exemplo, https://your_domain.com
. Você deverá ver um indicador de conexão segura, geralmente um ícone de cadeado na barra de endereço.
Se você estiver interessado em certificados SSL gratuitos, considere usar o Let's Encrypt. Trata-se de uma autoridade certificadora sem fins lucrativos que oferece certificados gratuitos para uso pessoal ou comercial. Eles também oferecem uma ferramenta chamada Certbot
que automatiza o processo de obtenção e renovação de certificados. Você pode instalar o Certbot e usá-lo para configurar automaticamente o HTTPS para a maioria das configurações do Apache.
Os certificados SSL são válidos por um determinado período de tempo, geralmente um ano. Você deve renovar seu certificado antes que ele expire para manter uma conexão segura. Se você estiver usando um certificado autoassinado para testes, use o comando anterior para criar um novo certificado. Para certificados comerciais, fique atento às comunicações da sua autoridade certificadora sobre como renovar antes do vencimento.
Além da configuração básica do SSL, considere implementar medidas de segurança adicionais:
SSLv2
, SSLv3
) e TLS (TLSv1.0
, TLSv1.1
) para prevenir vulnerabilidades.Configurar o SSL no Apache é um passo essencial para proporcionar uma interação segura entre o seu servidor web e o navegador do cliente. Seguindo as instruções passo a passo acima, desde a instalação do Apache e seu módulo SSL até a configuração do seu servidor com um certificado autoassinado, você pode garantir a comunicação segura entre servidor-cliente. Este guia oferece uma visão geral dos passos necessários e outras considerações para aumentar a segurança do seu servidor.
Lembre-se de pesquisar mais sobre práticas de segurança específicas e diretrizes que podem se relacionar ao seu caso de uso específico ou padrões da indústria.
Se você encontrar algo errado com o conteúdo do artigo, você pode