Vamos proteger o Apache com certificado SSL/TLS.
Assim que o certificado for implementado, o domínio/IP configurado estará acessível por HTTPS.
Vamos começar.
Em um nível alto, faremos o seguinte.
- Compile Apache HTTP 2.4.5 com módulo SSL
- Obter certificado SSL
- Configure o Apache para suportar SSL
últimas postagens
Instale o Apache com SSL da fonte
Para configurar o SSL, o Apache HTTP deve ser compilado com mod_ssl. Vou usar o CentOS 7 VM de Oceano Digital para demonstrar isso.
- Faça login no servidor Linux com root e baixe a versão mais recente do Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .
Nota: você pode Verifique aqui para a versão mais recente.
- Extrair pelo comando gunzip
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
- Você terá uma nova pasta “httpd-2.4.25”
- Entre e execute o seguinte comando configure
./configure --enable-ssl –-enable-so
Nota: Se você estiver fazendo isso em um servidor novo, poderá ter problemas relacionados a APR, PCRE, OpenSSL e poderá consultar o guia de solução de problemas.
Certifique-se de não receber nenhum erro do comando configure acima e, em seguida, instale com os comandos make.
make make install
Como de costume, certifique-se de não haver erros nos comandos acima. Isso conclui que você instalou um servidor web Apache com suporte a SSL.
Obtendo um Certificado SSL
Existem várias maneiras de gerar e obter o certificado SSL assinado pela autoridade de certificação.
Se você deseja implementar SSL no servidor da Web da Intranet, a maior parte da organização possui uma equipe interna de emissores de certificados, portanto, verifique com eles. Mas você ainda precisa gerar um CSR (Certificate Signing Request) e pode fazê-lo usando OpenSSL.
No entanto, se você deseja proteger um URL voltado para a Internet, pode comprar um certificado da VeriSign, GoDaddy, Namecheap, Zero SSLetc., ou obtenha um certificado GRATUITO de Vamos criptografar.
Let’s Encrypt é um projeto de colaboração da Linux Foundation que oferece um certificado SSL/TLS GRATUITO. Vou usar o Let’s Encrypt para obter um certificado para o meu domínio – Chandan.io
Existem várias maneiras de gerar CSR, mas a mais fácil que encontrei é usando o “SSL GRÁTIS” ferramenta on-line.
Digite o URL que você deseja proteger
Verifique a propriedade do domínio por um dos métodos listados e baixe seus arquivos de certificado de domínio.
Você obterá três arquivos que usaremos a seguir para configurar o servidor web Apache.
Transfira o arquivo baixado para o servidor Web. Vamos precisar deles em breve.
Configuração SSL do Apache
E uma etapa final seria configurar o Apache para que ele possa atender à solicitação por HTTPS.
- Faça login no servidor web Apache
- Faça um backup do arquivo httpd.conf (local padrão /usr/local/apache2/conf/)
- Abra o arquivo com o editor vi e verifique se o módulo mod_ssl e o httpd-ssl.conf existem e não são comentados
LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf
Usaremos o arquivo httpd-ssl.conf para configurar os detalhes do certificado. Há o seguinte que você precisa para garantir que existam os parâmetros corretos.
Dica: você pode querer criar uma nova pasta chamada “ssl” e manter todos os arquivos relacionados ao certificado nela.
- Faça um backup, se necessário, e use o editor vi para modificar o arquivo.
SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt" SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"
Em seguida, você precisa configurar a diretiva “ServerName”. Normalmente, é o seu nome de domínio/URL
ServerName chandan.io
- Salve o arquivo e reinicie o Apache Webserver
cd /usr/local/apache2/bin ./apachectl stop ./apachectl start
E, finalmente, você precisa garantir que seu domínio seja mapeado para o IP do servidor web recém-configurado. Uma vez feito, tente acessar seu domínio com HTTPS.
E como você pode ver, Chandan.io é acessível por https com o certificado que configurei.
As etapas acima são essenciais para configurar um certificado SSL, e você deve ajustar ainda mais o SSL para endurecer e proteger, o que expliquei aqui. Antes de entrar em operação, você também pode testar o SSL/TLS do seu servidor web para garantir que ele não esteja exposto a vulnerabilidades de segurança comuns.
Espero que isso lhe dê uma idéia de como implementar um certificado SSL em seu servidor da Web Apache, para que o URL seja acessível por HTTPS.
Gostou de ler o artigo? Que tal compartilhar com o mundo?