Segurança SSL · 6 min read · Sep 24, 2025
Segurando ISPConfig 3.1 Com um Certificado SSL Let's Encrypt Gratuito
IMPORTANTE: Este guia não é compatível com ISPConfig 3.2 e versões mais novas, pois o ISPConfig 3.2 e versões mais novas têm o Let’s Encrypt para todos os serviços embutido. O certificado SSL Let’s Encrypt é configurado automaticamente durante a instalação, portanto, não há necessidade de configurar o Let’s Encrypt para nenhum serviço manualmente.
Autor: ahrasis
Este tutorial mostra como criar e configurar um certificado SSL Let’s Encrypt gratuito para a interface ISPConfig (porta 8080), o sistema de e-mail (Postfix e Dovecot/Courier), o servidor FTP (pure-ftpd) e Monit. Os comandos neste tutorial foram testados no Ubuntu 16.04, eles devem funcionar para Debian também. Certas modificações podem ser necessárias para fazê-lo funcionar no CentOS.
Ajuda sobre este guia está disponível neste tópico do fórum.
Criando Um Site Usando o Nome de Host FQDN do Servidor ISPConfig
Crie um site para seu servidor no painel ISPConfig através de Sites > Website > Adicionar novo site. Lembre-se! Este é o site do seu servidor e, como tal, deve conter o nome de domínio totalmente qualificado (FQDN) do seu servidor. Eu me referirei a ele como hostname -f neste guia.
hostname -fEsperançosamente, funcionará sem nenhuma alteração no seu servidor também.
Acessando o Site ISPConfig Online
Verifique se o site do seu servidor está pronto e acessível online, pois o Let’s Encrypt precisa verificar se seu site está acessível antes de emitir a chave SSL, o certificado e o arquivo de cadeia para o site do seu servidor. Você também precisa criar sua zona DNS e permitir que ela se propague corretamente, pois o Let’s Encrypt precisa verificar isso também.
Habilitando SSL Para o Painel de Controle ISPConfig 3 (Porta 8080)
Se você não habilitou SSL durante a configuração do ISPConfig, ou seja, para seu painel de controle na porta 8080, habilite digitando ispconfig_update.sh no terminal e selecione sim para SSL. Não precisamos que isso seja uma chave adequada nem queremos mantê-la, mas queremos trabalhar mais rápido, assim podemos simplesmente pressionar Enter para todos os seus campos. Quando você terminar isso, o SSL autoassinado já deve estar habilitado para o seu ISPConfig.
Verificando SSL Para o Painel de Controle ISPConfig 3 (Porta 8080)
Verifique seu navegador para confirmar abrindo o painel de controle do ISPConfig na porta 8080. Note que você pode receber algum aviso nesta fase, pois os arquivos SSL criados são autoassinados, mas o navegador confirmará que seu ISPConfig tem SSL habilitado ou não.
Segurando o Site ISPConfig Com Let’s Encrypt SSL
Se o acima estiver feito, volte para Painel ISPConfig > Sites > Website > Nome do Website, então clique nos botões de verificação SSL e Let’s Encrypt e salve - para criar arquivos SSL Let’s Encrypt e habilitá-los para o seu site do servidor. Se for bem-sucedido, seu site do servidor agora deve estar usando esses arquivos SSL Let’s Encrypt, mas não sua página ISPConfig 8080. Se não for bem-sucedido, você não poderá prosseguir, então verifique seu arquivo de log para uma pista.
Alterando o Painel de Controle ISPConfig 3 (Porta 8080)
Se o SSL LE já estiver funcionando, então vá para o terminal do seu servidor, torne-se root via sudo su e use o seguinte comando para fazer backup e substituir os arquivos SSL autoassinados criados pelos arquivos SSL Let’s Encrypt.
cd /usr/local/ispconfig/interface/ssl/
mv ispserver.crt ispserver.crt-$(date +"%y%m%d%H%M%S").bak
mv ispserver.key ispserver.key-$(date +"%y%m%d%H%M%S").bak
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /etc/letsencrypt/live/$(hostname -f)/fullchain.pem ispserver.crt
ln -s /etc/letsencrypt/live/$(hostname -f)/privkey.pem ispserver.key
cat ispserver.{key,crt} > ispserver.pem
chmod 600 ispserver.pem- Se você não criou ispserver.pem antes, pode ignorar a terceira linha, que visa renomear o existente, se houver, como backup.
- Note que estamos usando a pasta live do Let’s Encrypt em vez da pasta archive.
- Também note a última linha onde ispserver.pem é criado combinando arquivos, assim, ele não será renovado automaticamente pelo Let’s Encrypt, ao contrário de outros arquivos que apenas criamos links simbólicos, assim, lidaremos com isso na última parte deste guia.
- Note também que você pode digitar
hostname -fou server1.example.com, pois o resultado é o mesmo, porquehostname -fé server1.example.com.
Usando Os Mesmos Certificados SSL Let’s Encrypt Para Outros Serviços Principais
Como dicas adicionais, com base em Proteger Sua Instalação ISPConfig 3, você pode querer usar um link simbólico para ispserver.key ou .crt ou .pem em vez de apontar diretamente seu postfix, dovecot, courier, pure-FTPd e monit para os arquivos SSL Let’s Encrypt. Para dovecot, se ele já estiver usando os arquivos SSL do postfix, é seguro ignorá-lo. Em detalhes, você só precisa fazer o seguinte:
a. Para Postfix
cd /etc/postfix/
mv smtpd.cert smtpd.cert-$(date +"%y%m%d%H%M%S").bak
mv smtpd.key smtpd.key-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.crt smtpd.cert
ln -s /usr/local/ispconfig/interface/ssl/ispserver.key smtpd.key
service postfix restart
service dovecot restartb. Para dovecot: (* Note que isso não deve existir junto com courier)
Verifique se este código existe usando nano /etc/dovecot/dovecot.conf
[...]
ssl_cert = Deixe-os como estão se existirem. Caso contrário, conserte-os. Em qualquer caso, o comando service dovecot restart já está coberto acima.
c. Para courier: (* Note que isso não deve existir junto com dovecot)
cd /etc/courier/
mv imapd.pem imapd.pem-$(date +"%y%m%d%H%M%S").bak
mv pop3d.pem pop3d.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem imapd.pem
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pop3d.pem
service courier-imap-ssl stop
service courier-imap-ssl start
service courier-pop-ssl stop
service courier-pop-ssl startd. Para pure-FTPd:
cd /etc/ssl/private/
mv pure-ftpd.pem pure-ftpd.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pure-ftpd.pem
chmod 600 pure-ftpd.pem
service pure-ftpd-mysql restarte. Para monit: (Se você o tiver instalado em seu servidor)
nano /etc/monit/monitrcAdicione o link simbólico acima para ispserver.pem que criamos para pure-ftpd aqui também:
[...]
set httpd port 2812 and
SSL ENABLE
PEMFILE /etc/ssl/private/pure-ftpd.pem
allow admin:'secretpassword'
[...]E reinicie o monit:
service monit restartCriar Script de Renovação Automática Para Seu Arquivo Pem ISPConfig (ispserver.pem)
Neste último passo, que não encontrei em nenhum guia até agora, está a atualização automática do ispserver.pem, como mencionado anteriormente. Atualmente, ele precisa ser alterado manualmente logo após o Let’s Encrypt renovar automaticamente seus arquivos SSL do servidor. Para evitar esquecer isso, você pode querer instalar o incron, conforme sugerido no respectivo tutorial do incron, e criar um script para atualizar automaticamente seu arquivo ispserver.pem, da seguinte forma:
Via comando de terminal, instale o incron, então crie o arquivo de script e edite-o usando nano:
apt install -y incron
nano /etc/init.d/le_ispc_pem.shAdicione isso no le_ispc_pem.sh:
#!/bin/sh
### BEGIN INIT INFO
# Provides: LE ISPSERVER.PEM AUTO UPDATER
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: LE ISPSERVER.PEM AUTO UPDATER
# Description: Atualiza ispserver.pem automaticamente após os certificados SSL ISPC LE serem renovados.
### END INIT INFO
cd /usr/local/ispconfig/interface/ssl/
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak
cat ispserver.{key,crt} > ispserver.pem
chmod 600 ispserver.pem
chmod 600 /etc/ssl/private/pure-ftpd.pem
service pure-ftpd-mysql restart
service monit restart
service postfix restart
service dovecot restart
service nginx restart- Note que algumas pessoas não instalam o monit, então podem removê-lo com segurança. Ajuste o script acima conforme necessário.
- Para configuração de múltiplos servidores, consulte o post #203 e adicione o código scp fornecido aqui para automatizar futuras atualizações.
Em seguida, tornamos executável, adicionamos root como um usuário permitido para incrontab e então editamos o arquivo incrontab:
chmod +x /etc/init.d/le_ispc_pem.sh
echo "root" >> /etc/incron.allow
incrontab -eAdicione esta linha no incrontab:
/etc/letsencrypt/archive/$(hostname -f)/ IN_MODIFY ./etc/init.d/le_ispc_pem.shReiniciando Seus Serviços
Acho que é isso para Proteger Seu Servidor Com Let’s Encrypt. Você pode querer reiniciar seu servidor web depois.
service nginx restartLembre-se: se você estiver usando apache, troque nginx por apache2 conforme necessário.
LE4ISPC
Como alternativa, você pode querer usar o script LE4ISPC criado para esse propósito, que suporta tanto nginx quanto apache2 do ISPConfig até pure-ftpd acima, exceto para monit. Antes de usá-lo, você já deve ter completado os passos acima (1-5) e ter:
- Criado o site para seu servidor via ISPConfig;
- O site acessível online;
- SSL do ISPConfig habilitado (via instalação ou atualização);
- SSL LE habilitado com sucesso para o site.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.