Configurando certificado grátis no Apache2 – Debian 8/9
Distribuição utilizada: Debian 8 Jessie & / Debian 9 Stretch – Instalação Limpa
Versão Apache: 2.4.10 >
Para obter um certificado grátis vamos usar o Let’s Encrypt CA.
Let’s Encrypt entrega certificados digitais que permite HTTPS (SSL/TLS) para sites gratuitamente, de maneira fácil. É um serviço fornecido pelo Internet Security Research Group (ISRG).
Seus principais princípios por trás de Let’s Encrypt são:
Grátis: Qualquer pessoa que possua um nome de domínio pode usar Let’s Encrypt para obter um certificado confiável a custo zero.
Automático: o software em execução em um servidor web pode interagir com o Let’s Encrypt para obter um certificado sem dor, configurá-lo com segurança para uso e cuidar automaticamente da renovação.
Seguro: Let’s Encrypt servirá como uma plataforma para avançar as melhores práticas de segurança TLS, tanto no lado da CA quanto ao ajudar os operadores do site a proteger adequadamente seus servidores.
Transparente: Todos os certificados emitidos ou revogados serão publicamente registrados e disponíveis para qualquer pessoa a inspecionar.
Aberto: O protocolo automático de emissão e renovação será publicado como um padrão aberto que outros podem adotar.
Cooperativo: Assim como os próprios protocolos de Internet subjacentes, Let’s Encrypt é um esforço conjunto para beneficiar a comunidade, além do controle de qualquer organização.
Let’s Encrypt apresentado, vamos instalar o cliente certbot/letsnecrypt.
No Debian 8 será necessário ativar o repositório backports.
# echo 'deb http://ftp.debian.org/debian jessie-backports main' >> /etc/apt/sources.list.d/backports.list # apt update # apt upgrade # apt install letsencrypt python-certbot-apache -t jessie-backports
No Debian 9
# apt update # apt upgrade # apt install letsencrypt python-certbot-apache
Tenha configurado um/ou mais domínio(s) em seu apache. Vou deixar aqui um exemplo de configuração:
<VirtualHost *:80> ServerName meuhttps.remontti.com.br ServerAdmin seu@email.com.br DocumentRoot /var/www/html <Directory /var/www/html/> Options FollowSymLinks AllowOverride All </Directory> LogLevel warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Vamos a autoconfiguração.
# letsencrypt --apache --agree-tos --email seu@email.com -d meuhttps.remontti.com.br
Se tiver algum erro tente:
# apache2ctl stop # letsencrypt --authenticator standalone --installer apache -d meuhttps.remontti.com.br
Atualizando
Para atualizar os certificados de seus domínio você pode usar o comando:
# certbot renew --dry-run
Dica, se desejar desativar o TLS1.0 e TLS1.1 após criar um certificado um arquivo é criado /etc/letsencrypt/options-ssl-apache.conf, então edite e inclua no SSLProtocol TLSv1 -TLSv1.1
# vim /etc/letsencrypt/options-ssl-apache.conf
Ficando
#SSLProtocol all -SSLv2 -SSLv3 SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
Reinicie o Apache:
# systemctl restart apache2
Para testar acesse: https://www.cdn77.com/tls-test/
Fonte:
https://certbot.eff.org/#debianjessie-apache
https://certbot.eff.org/about/
Muito obrigado por postar! Foi certinho
Bom dia, esse procedimento não altera em nada as minhas zonas de DNS?
Hoje tenho os DNS’s publicados na Amazon.
Não! Seu DNS é algo separado! Vc vai configurar seu DNS para apontar o subdomínio/domínio para o ip do seu servidor apache, e nele fazer as configurações de domínio virtual e com o lets criar seu certificado
Bom dia. Por exemplo tenho 2 servidores um zabbix e outro o meu Radius. Preciso fazer essas configurações nos 2 servidores. Correto?
Sim! Como já tinha respondido: Você vai instalar em cada servidor que tiver o apache instalado.
Boa tarde. Tenho 2 servidores, um com o zabbix e outro com o meu radius. Preciso instalar isso em cada um deles correto?
Você vai instalar em cada servidor que tiver o apache instalado.
Sempre compartilhando! Obrigado