Přeskočit na obsah Přeskočit na hlavní navigaci Přeskočit na zápatí (patičku)

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 | -avygenerování a nastavení certifikátu pro administrační rozhraní ISPA
–client | -cvygenerování a nastavení certifikátu pro portál klienta
–dealer | -dvygenerování a nastavení certifikátu pro portál dealera
–help | -hná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 
  • 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