Certifikáty
Pokud konfiguraci nezvládnete sami, může ji v rámci placeného servisního zásahu, provést náš technik. Zapotřebí je funkční přístup k terminálu serveru s ISPA přes SSH.
Kontaktovat nás můžete na: support@ispadmin.eu
Pro správné automatické vygenerování konfigurace a získání SSL certifikátu z CA Let’s Encrypt, je nutné splnit několik předpokladů a provést několik úvodních kroků (viz dále).
Certifikáty jsou automaticky vystavovány certifikační autoritou (CA) Let’s Encrypt, která poskytuje SSL/TLS certifikáty ZDARMA. V případě, že máte vlastní zakoupené certifikáty je potřeba konfiguraci upravit ručně.
Certifikáty od CA Let’s Encrypt jsou vystavovány na 3 měsíce a do této doby expirace je nutná jejich obnova (automaticky nebo ručně).
Požadavek na získání certifikátu může přijít pouze ze serveru, na který je směrované příslušné doménové jméno (kontrola pomocí DNS).
Chcete-li požádat o certifikát certifikační autoritu Let’s Encrypt (nebo jinou), je nutné poskytnout určitý druh důkazu, že jste oprávněným nárokujícím k získání certifikátu pro danou doménu (domény).
Aktuálně je systémem podporováno automatické obnovení metodou HTTP-01 (ověření přes http).
INFORMACE
Problémy s automatickým obnovením certifikátů (HTTP-01 challenge) jsou obvykle způsobeny blokováním příchozího spojení na firewallu (ISPadmin nebo externí) na port 80 a 443.
Validace pomocí metody HTTP-01 challenge může být provedena pouze na portu 80. Dovolit klientům specifikovat libovolné porty by snížilo zabezpečení a proto není standartem ACME povoleno.
https://letsencrypt.org/docs/allow-port-80/
Předpoklady a základní nastavení
UPOZORNĚNÍ
Může trvat až 48 hodin, než se nastavení provedená na DNS projeví. Zpravidla je tato doba okolo 4 hodin.
- správně nastavené DNS záznamy, u svého poskytovatele DNS služeb konkrétního doménového jména, pro Administrační rozhraní, Portál klienta a případně i Portál dealera.
- potřeba mít v Nastavení / Syst. nastavení / Zabezpečení nebo na externím FW povolené porty 80 (HTTP) a 443 (HTTPS) pro příchozí komunikaci.
Automatická konfigurace Apache serveru
UPOZORNĚNÍ
Následující postup je platný pouze pro verzi systému 5.31 beta2 a vyšší.
Návod a postup na automatickou konfiguraci HTTP Apache serveru pro nastavení přístupu do jednotlivých částí systému (uživatelské rozhraní, portál klienta, portál dealera) prostřednictvím již nastavených doménových jmen na DNS a také získání a instalace certifikátů z certifikační autority (CA) Let’s encrypt (povolení HTTPS).
- Před prvním generováním konfigurace (pokud ještě žádná neexistuje nebo je potřeba vygenerovat vše znovu) je potřeba editovat konfigurační soubor:
nano /etc/apache2/sites-available/ispadmin.conf
- Upravit nebo přidat základní konfiguraci pro uživatelské rozhraní do konfiguračního souboru ispadmin.conf :
options FollowSymLinks
<VirtualHost *:80>
Protocols h2 h2c http/1.1
ServerName isp.ispadmin.eu
DocumentRoot "/data/support/ispadmin/new/www/"
AddDefaultCharset UTF-8
<Directory /data/support/ispadmin/new/www/>
Options +ExecCGI
Options FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
CustomLog /var/log/apache2/access_support_ispadmin.log combined
AddType application/x-httpd-php .php
</VirtualHost>
include /usr/local/script/ispadmin/conf/apache_ispadmin_vhost.conf
- Spustit skript s přepínači (dle požadované konfigurace pro rozhraní) pro vytvoření konfigurace a následné získání a instalaci certifikátů z Let’s Encrypt
- Přepínače (možno kombinovat):
Přepínač | Popis |
–admin | -a | vygenerování a nastavení certifikátu pro administrační rozhraní ISPA |
–client | -c | vygenerování a nastavení certifikátu pro portál klienta |
–dealer | -d | vygenerování a nastavení certifikátu pro portál dealera |
–help | -h | nápověda |
Příkaz spuštění automatické konfigurace pro administrační rozhraní a portál klienta:
/usr/local/script/ispadmin/bin/certificate.pl -a -c
- Zadat doménové jméno pro administrační rozhraní:
- Zadat doménové jméno pro portál klienta:
- Kontrola správnosti DNS záznamů a potvrzení (y/n).
- Pokud záznamy nesouhlasí je potřeba zadat možnost n, DNS záznamy u správce upravit a skript spustit od prvního kroku znovu:
- Informace o neexistující konfiguraci pro zadaná doménová jména a zda-li si přejete vytvořit dočasnou konfiguraci pro nenakonfigurovaná doménová jména v Apache:
- Informace o nutnosti smazat dočasný konfigurační soubor (temp_isp.conf) v případě, že v zadaném umístění vůbec existuje:
- Po získání certifikátů z Let’s encrypt (delší textový výstup s detailními informacemi):
- Po získání certifikátů se proces zeptá, zda-li si je přejete nainstalovat (úprava konfigurace pro server Apache) a zároveň vytvořit zálohu stávající konfigurace:
- Dokončení procesu:
- Nyní jsou certifikáty vytvořeny a platné a ve webovém prohlížeči se při pokusu navštívit doménové jméno objeví požadovaný obsah přes zabezpečený HTTPS.
- Součástí automatické konfigurace je i vytvoření naplánované úlohy (CRON), která se každou neděli v 5:00 spouští. V případě, že je některý certifikát (v době spuštění) starší než 60 dní, pokusí se jej obnovit.
Správa certifikátů
Automatická obnova
Pokud nedošlo k automatické obnově certifikátů je potřeba zkontrolovat:
- Je HTTP server Apache na standardních (výchozích) portech?
- Je povolen globální přístup z internetu na HTTP (80) a HTTPS (443)?
- Je server nepřetržitě online? Nedošlo k výpadku?
- Je v CRONu (/etc/crontab) řádek níže?
cat /etc/crontab
00 05 * * 7 root /data/ispadmin_cert/acme/acme.sh --apache --renewAll --home /data/ispadmin_cert/acme --certhome /data/ispadmin_cert #letsencrypt renew
- V případě, že automatická obnova selhala opakovaně, je možné, že je vyžadováno aktualizovat utilitu ACME:
/data/ispadmin_cert/acme/acme.sh --upgrade
- Následně provést manuální obnovu certifikátů.
- Pokud i toto selže, zkuste přeinstalovat utilitu acme:
rm -r /root/.acme.sh
rm -r /root/acme.sh
rm -r /data/ispadmin_cert/acme
- Následně spusťte instalaci certifikátů:
/usr/local/script/ispadmin/bin/certificate.pl
Manuální obnova
Pokud dojde k příliš mnoha neúspěšným pokusům o obnovu (např. z důvodu stále zablokovaného portu pro HTTP 80) objeví se error:
error creating new order :: too many failed authorizations recently
Limit je 5 neúspěšných pokusů na účet, hostname a hodinu. Je potřeba tedy v tomto případě vyčkat před dalšími pokusy.
Více informací na webu Let’s Encrypt.
- Ruční obnova:
/data/ispadmin_cert/acme/acme.sh --apache --renewAll --home /data/ispadmin_cert/acme --certhome /data/ispadmin_cert
- Vynucená ruční obnova:
/data/ispadmin_cert/acme/acme.sh --apache --renewAll --home /data/ispadmin_cert/acme --certhome /data/ispadmin_cert --force