GNU/Linux >> Znalost Linux >  >> Ubuntu

Zabezpečení ISPConfig 3.1 pomocí bezplatného šifrovacího certifikátu SSL

DŮLEŽITÉ :Tato příručka není kompatibilní s ISPConfig 3.2 a novějšími, protože ISPConfig 3.2 a novější verze mají vestavěné šifrování Let's pro všechny služby. Certifikát Let's encrypt SSL se nakonfiguruje automaticky během instalace, takže již není nutné ručně konfigurovat Let's encrypt pro žádnou službu.

Autor: ahrasis

Tento tutoriál ukazuje, jak vytvořit a nakonfigurovat bezplatný certifikát Let's encrypt SSL pro rozhraní ISPconfig (port 8080), e-mailový systém (Postfix a Dovecot/Courier), server FTP (pure-ftpd) a Monit. Příkazy v tomto tutoriálu byly testovány na Ubuntu 16.04, měly by fungovat i pro Debian. Aby to fungovalo na CentOS, mohou být nutné určité úpravy.

Nápověda k této příručce je k dispozici v tomto vláknu fóra.

Vytvoření webu pomocí serveru ISPConfig Název hostitele FQDN

Vytvořte web pro svůj server v panelu ISPConfig pomocí Weby> Web> Přidat nový web . Pamatovat! Toto je webová stránka vašeho serveru a jako taková musí obsahovat plně kvalifikovaný název domény vašeho serveru (FQDN). V této příručce jej budu označovat jako `hostname -f`.

hostname -f

Doufejme, že to bude fungovat bez jakýchkoli změn i na vašem serveru.

Přístup k webu ISPConfig online

Zkontrolujte, zda je váš server připraven a dostupný online, protože Let's Encrypt potřebuje ověřit, zda je váš web dostupný, než vydá klíč SSL, certifikát a soubor řetězce pro váš server. Musíte také vytvořit její zónu DNS a umožnit její řádné šíření, protože ji Let's Encrypt potřebuje také ověřit.

Povolení SSL pro ovládací panel ISPConfig 3 (port 8080)

Pokud jste nepovolili SSL během nastavení ISPConfig, tj. pro jeho ovládací panel na portu 8080, povolte jej zadáním ispconfig_update.sh do terminálu a pro SSL vyberte ano. Nepotřebujeme, aby to byl správný klíč, ani si jej nechceme ponechat, ale chceme pracovat rychleji, takže můžeme jednoduše zadat všechna jeho pole. Když to dokončíte, SSL s vlastním podpisem by již mělo být povoleno pro váš ISPConfig.

Kontrola SSL pro ovládací panel ISPConfig 3 (port 8080)

Zkontrolujte svůj prohlížeč a potvrďte otevřením ovládacího panelu ISPConfig na portu 8080. Všimněte si, že v této fázi můžete obdržet varování, protože vytvořené soubory SSL jsou podepsány samy sebou, ale prohlížeč potvrdí, že váš ISPConfig má SSL povoleno nebo jinak.

Zabezpečení webu ISPConfig pomocí Let's Encrypt SSL

Pokud jste provedli výše uvedené, přejděte zpět na panel ISPConfig> Weby> Web> Název webu a poté klikněte na SSL a Let's Encrypt zaškrtněte tlačítka a uložte - pro vytvoření souborů Let's Encrypt SSL a jejich povolení pro váš server. Pokud bude váš server úspěšný, bude nyní používat tuto stránku Let's Encrypt SSL, ale ne vaši stránku ISPConfig 8080. Pokud neuspějete, nebudete moci pokračovat, takže se podívejte do jeho log souboru.

Změna ovládacího panelu ISPConfig 3 (port 8080)

Pokud již LE SSL funguje, přejděte na svůj serverový terminál, přejděte do rootu pomocí sudo su a pomocí následujícího příkazu zálohujte a nahraďte vytvořené soubory SSL s vlastním podpisem soubory Let's Encrypt SSL.

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
  • Pokud jste dosud nevytvořili ispserver.pem, můžete třetí řádek, který je zaměřen na přejmenování stávajícího, pokud existuje, ignorovat jako zálohu.
  • Upozorňujeme, že místo archivní složky používáme Živou složku Let's Encrypt.
  • Všimněte si také posledního řádku, kde je ispserver.pem vytvořen sloučením souborů, takže nebude automaticky obnoven Let's Encrypt na rozdíl od jiných souborů, které jsme pouze symbolicky propojili, proto se tím budeme zabývat v poslední části tohoto průvodce.
  • Všimněte si také, že buď zadáte `hostname -f` nebo server1.example.com, protože výsledek je stejný, protože `hostname -f`je server1.example.com.

Použití stejných certifikátů Let's Encrypt SSL pro další hlavní služby

Jako další tipy můžete na základě Zabezpečení instalace ISPConfig 3 použít symbolický odkaz na ispserver.key nebo .crt nebo .pem místo přímého nasměrování vašeho postfixu, dovecotu, kurýra, čistého FTPd a monit na soubory Let's Encrypt SSL. Pro dovecot, pokud již používá postfixové SSL soubory, můžete jej ignorovat. V podrobnostech stačí udělat následující:

a. Pro 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 restart


b. Pro dovecot:(* Upozorňujeme, že toto by nemělo existovat společně s kurýrem)

Zkontrolujte, zda tento kód existuje, pomocí nano /etc/dovecot/dovecot.conf

[...]
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
[...]

Nechte je tak, jak jsou, pokud existují. Jinak je opravte. V každém případě je restartování služby dovecot již popsáno výše.

c. Pro kurýra:(* Upozorňujeme, že toto by nemělo existovat společně s holubníkem)

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 start

d. Pro čistý FTPd:

cd /etc/ssl/private/
mv pure-ftpd.pem pure-ftpd.pem-$(datum +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pure-ftpd.pem
chmod 600 pure-ftpd.pem
restart služby pure-ftpd-mysql

e. Pro monit:(Pokud jej máte na svém serveru nainstalovaný)

nano /etc/monit/monitrc

Přidejte výše uvedený symbolický odkaz na ispserver.pem, který jsme vytvořili pro pure-ftpd:

[...]
set httpd port 2812 and
SSL ENABLE
PEMFILE /etc/ssl/private/pure-ftpd.pem
allow admin:'secretpassword'
[...]

A restartujte monit:

service monit restart


Vytvořit skript automatického obnovení pro váš soubor ISPConfig Pem (ispserver.pem)

V tomto posledním kroku, který jsem zatím v žádném průvodci nenašel, je automatická aktualizace ispserver.pem, jak bylo dříve naznačeno. V současné době se musí ručně změnit hned poté, co Let's Encrypt automaticky obnovil soubory SSL vašeho serveru. Abyste to přehlédli, možná budete chtít nainstalovat incron, jak je navrženo v příslušném tutoriálu incron, a vytvořit skript pro automatickou aktualizaci souboru ispserver.pem, a to následovně:

Pomocí příkazu terminálu nainstalujte incron, poté vytvořte soubor skriptu a upravte jej pomocí nano:

apt install -y incron
nano /etc/init.d/le_ispc_pem.sh

Přidejte to do souboru 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: Update ispserver.pem automatically after ISPC LE SSL certs are renewed.
### 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
  • Někteří lidé si monit neinstalují, takže jej mohou bezpečně odebrat. Podle toho upravte výše uvedený skript.
  • Pokud chcete nastavit více serverů, podívejte se na příspěvek #203 a přidejte sem daný kód scp, abyste zautomatizovali budoucí aktualizaci.

Poté jej uděláme spustitelným, přidáme root jako povoleného uživatele pro incrontab a poté upravíme soubor incrontab:

chmod +x /etc/init.d/le_ispc_pem.sh
echo "root" >> /etc/incron.allow
incrontab -e


Přidejte do incrontab tento řádek:

/etc/letsencrypt/archive/$(hostname -f)/ IN_MODIFY ./etc/init.d/le_ispc_pem.sh

Restartování vašich služeb

Myslím, že to je o zabezpečení vašeho serveru pomocí Let's Encrypt. Poté můžete svůj webový server restartovat.

service nginx restart

Pamatujte:pokud používáte apache, změňte odpovídajícím způsobem nginx na apache2.

LE4ISPC

Jako alternativu můžete použít skript LE4ISPC vytvořený pro tento účel, který podporuje jak nginx, tak apache2 od ISPConfig až po čistě ftpd výše s výjimkou monit. Před použitím byste již měli provést výše uvedené kroky (1–5) a mít:

1. Vytvořili webové stránky pro váš server prostřednictvím ISPConfig;
2. Web přístupný online;
3. ISPConfig SSL povoleno (prostřednictvím instalace nebo aktualizace);
4. LE SSL úspěšně povoleno pro web.


Ubuntu
  1. Zdarma SSL pro Nginx na Centos od Let’s encrypt

  2. Jak zabezpečit účet s podporou cPanel pomocí certifikátu Lets Encrypt SSL

  3. Začínáme s acme.sh Umožňuje šifrovat klienta SSL

  1. Jak spravovat certifikáty Lets Encrypt SSL/TLS pomocí certbota

  2. Let’s Encrypt:Získejte bezplatný certifikát SSL pomocí Certbotu

  3. Top 7 bezplatných certifikačních služeb SSL

  1. Zabezpečte Nginx pomocí Lets Encrypt na Ubuntu 20.04

  2. Zabezpečte Apache pomocí Lets Encrypt na Ubuntu 20.04

  3. Jak získat bezplatný certifikát SSL s SSL It! a Let's Encrypt na Plesku