Posts com Tag ‘SSL’

Certificado SSL em site

Publicado: 14/08/2023 em Linux, Serviços IP
Tags:, , ,

Tendo um dominio com hospedagem VPS na Hostinger, com um subdominio conforme abaixo:

Domínio: exemplo.com
Subdomínio: wiki.exemplo.com
Servidor de página: Nginx
Sistema operacional: Ubuntu

O desafio é colocar um certificado SSL para o subdominio. A seguir iremos descrever os procedimentos realizados para instalar o certificado SSL no subdomínio wiki.exemplo.com.

1. Instalar dependências
# apt update
# apt install python3 python3-venv libaugeas0
# apt remove certbot

Obs:
a) como pode ser visto, utilizou-se o “certbot” para gerar o certificado SSL. O “certbot” é uma ferramenta que facilita a obtenção, instalação e renovação de certificados SSL/TLS para sites.
b) usar o Python 3.6, ou superior.
c) incluir os módulos venv e Augeas (para o plugin do Apache).
d) Se receber um aviso quando rodar o comando de remoção do “certbot”, informando que o pacote não está instalado, deve-se ignorar e continuar.


2. Criar um ambiente virtual
# python3 -m venv /opt/certbot/
# /opt/certbot/bin/pip install --upgrade pip

3. Instalar o Certbot
a) se o servidor de páginas for o Apache:
# /opt/certbot/bin/pip install certbot certbot-apache

b) se o servidor de páginas for o Nginx:
# /opt/certbot/bin/pip install certbot certbot-nginx

4. Criar um ponteiro para o certbot ser utilizado
# ln -s /opt/certbot/bin/certbot /usr/bin/certbot

5. Gerar o certificado
a) se estiver usando o Apache:
# certbot --apache

b) se estiver usando o Nginx:
# certbot --nginx

Obs:
a) nesta etapa de geração do certificado algumas perguntas serão feitas, inclusive para qual subdomínio se deseja gerar o certificado (quando houver mais de um subdomínio).
b) quando o comando acima é executado, o “certbot” interage com o servidor de páginas web (o Apache ou o Nginx) para configurar automaticamente as regras necessárias para habilitar o uso de certificados SSL nos domínios configurados no servidor de páginas. Essas configurações são salvas nos arquivos de configuração do próprio servidor de páginas.
c) para adicionar certificados SSL para novos sites no futuro, deve-se executar o mesmo comando “certbot --nginx” (ou “certbot --apache“), e o “certbot” detectará quais domínios ainda não têm certificados SSL válidos e executará as ações necessárias para gerar e configurar esses novos certificados.
d) é sempre uma boa prática manter o “certbot” atualizado e verificar as opções e documentação mais recentes, já que as novas versões podem ter pequenas diferenças em sua sintaxe ou funcionalidade.

6. Adicionar um um cron job para garantir a renovação do certificado automaticamente
# echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

7. Verificar se o certificado está funcionando
Por último, visitar o website wiki.exemplo.com utilizando do navegador e verificar que o SSL está funcionando (o site agora é seguro).