Instalando certificado Let's Encrypt no IDP Shibboleth
Sobre o roteiro
Esse passo a passo foi enviado para a Comunidade Acadêmica Federada de forma colaborativa. A equipe de operação e suporte da RNP validou e certificou os procedimentos.
Lembrando que os testes forma feitos e homologados no ambiente mais recente disponiblizado pela RNP, com o Template do IdP com a versão 18.04.5 LTS Ubuntu Bionic + Shib 3.3.3

Guia passo a passo

Abaixo as etapas para a instalação e configuração do Let's Encrypt no IdP da CAFe:
Executar os seguintes comandos
1
sudo apt update
2
sudo apt install certbot python-certbot-apache
Copied!
Criar o diretório letsencrypt e dar as devidas permissões
1
mkdir /var/www/html/letsencrypt
2
chown www-data:www-data /var/www/html/letsencrypt
Copied!
Editar o arquivo de configuração do Apache do IdP
1
vi /etc/apache2/sites-enabled/01-idp.conf
Copied!
Dentro da Tag <VirtualHost *:80> logo abaixo das linhas:
1
<Directory /var/www/vazio/>
2
Options -Indexes -FollowSymLinks -MultiViews
3
AllowOverride None
4
Order deny,allow
5
Allow from all
6
</Directory>
Copied!
Acrescentar:
1
Alias /.well-known/acme-challenge/ "/var/www/html/letsencrypt/.well-known/acme-challenge/"
2
<Directory "/var/www/html/letsencrypt/">
3
AllowOverride None
4
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
5
Require method GET POST OPTIONS
6
</Directory>
Copied!
Em <VirtualHost *:443> altere as linhas abaixo:
1
SSLCertificateKeyFile /etc/ssl/private/chave-apache.key
2
SSLCertificateFile /etc/ssl/certs/certificado-apache.crt
Copied!
Para:
Na instruções abaixo, aonde encontrar {$HOSTNAME} trocar pelo HOSTNAME do seu IDP !!!
1
SSLCertificateFile /etc/letsencrypt/live/{$HOSTNAME}/cert.pem
2
SSLCertificateKeyFile /etc/letsencrypt/live/{$HOSTNAME}/privkey.pem
3
SSLCertificateChainFile /etc/letsencrypt/live/{$HOSTNAME}/fullchain.pem
Copied!
Salve o arquivo ESC :x!
Reiniciar o serviço do Apache2:
1
systemctl reload apache2
Copied!
Editar o firewall para permitir consulta HTTP do Letsencrypt:
1
vi /etc/default/firewall
Copied!
acrescentar logo abaixo da linha:
1
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
2
# Permitir consulta HTTP do LetsEncrypt
3
iptables -A INPUT -p tcp -m tcp --dport 80 -s outbound1.letsencrypt.org -j ACCEPT
4
iptables -A INPUT -p tcp -m tcp --dport 80 -s outbound2.letsencrypt.org -j ACCEPT
5
iptables -A INPUT -p tcp -m tcp --dport 80 -s acme-v01.api.letsencrypt.org -j ACCEPT
6
iptables -A INPUT -p tcp -m tcp --dport 80 -s acme-staging.api.letsencrypt.org -j ACCEPT
7
iptables -A INPUT -p tcp -m tcp --dport 80 -s acme-v02.api.letsencrypt.org -j ACCEPT
8
iptables -A INPUT -p tcp -m tcp --dport 80 -s acme-staging-v02.api.letsencrypt.org -j ACCEPT
Copied!
Salve o arquivo ESC :x!
Reinicie o firewall
1
systemctl restart firewall
Copied!
Agora vamos criar o certificado:
Na instruções abaixo, aonde encontrar {$HOSTNAME} trocar pelo HOSTNAME do seu IDP !!!
1
certbot --apache certonly -d {$HOSTNAME}
Copied!
O certbot já cria um script no cron para renovar o certificado.
Last modified 1mo ago
Export as PDF
Copy link