PHP min. 5.6.8MySQL min. 5.1Apache min. 2.0
GitHub
Přidejte kódy
PHP-Fusion 9 Jádro
v9.0
Český překlad
Pravidelně aktualizovaný

Technologie

Certifikát Let's Encrypt v Ubuntu

Certifikát Let's Encrypt v Ubuntu
V říjnu roku 2017 představila certifikační autorita Let's Encrypt vestavěnou funkcionalitu prostřednictvím modulu pro Apache httpd. U nás na phpfusion.cz se osvědčila, a to i na domácím localhostu pod OS Ubuntu.

Certifikáty od autority Let's Encrypt, si můžete vybrat z celé řady klientů, kteří implementují ACME protokol, a tedy dokáží zajistit vystavení certifikátu. Může to být třeba Dehydrate, nebo můžeme postupovat ručním přidáním skriptů přes Termínál podle letsencrypt.


Let’s Encrypt – zabezpečení webu SSL certifikátem ZDARMA na serveru Apache na Ubuntu
Instalace potřebných balíčků

sudo apt-get update
sudo apt-get install git


Instalace Let’s Encrypt

sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt


Vystavení SSL certifikátu

cd /opt/letsencrypt
./letsencrypt-auto --apache -d example.com -d www.example.com


A kde se nám vygenerovfané soubory certifikátu usadily? Najdeme je ve složce: /etc/letsencrypt/live
Dále je zde seznam domén s vysavenými certifikáty na serveru
/etc/letsencrypt/live

Ověření nastavení a stavu SSL certifikátu

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Obnovení platnosti certifikátu (renew)


cd /opt/letsencrypt
./letsencrypt-auto certonly --apache --renew-by-default -d example.com -d www.example.com
service apache2 restart


Automatické obnvení platnosti certifikátu

Certifikáty Let’s Encrypt mají platnost 90 dnů. Je však doporučeno provádět obnovení pro jistotu již po 60 dnech.

Nejléoe nastavíme cron, který bude obnovení provádět automaticky.

Shell skript (ke stažení zde, případně zde): ověří datum expirace SSL certifikátu vystaveného pro danou doménu a v případě potřeby provede prodloužení certifikátu. Skript bude spouštěn v pravidelných intervalech 1x za týden.

Stažení skriptu a nastavení přístupových práv k souboru:

sudo curl -L -o /usr/local/sbin/le-renew http://do.co/le-renew
sudo chmod +x /usr/local/sbin/le-renew


Ruční spuštění skriptu

sudo le-renew example.com


Automatické spouštění skriptu


Přidáme nový úkol do tabulky cronu, který jendou týdně skript spustí. Takže budeme editovbat tabulky cronu následovně:

sudo crontab -e


Každá zabezpečená doména musí mít přidán řádek:

30 2 * * 1 /usr/local/sbin/le-renew example.com >> /var/log/le-renew.log


Aktualizace klienta Let’s Encrypt

V případě vydání nové verze klienta Let’s Encrypt je vhodné provést jeho aktualizaci na serveru následovně rovněž přes Terminál:

cd /opt/letsencrypt
sudo git pull


Zdroje:
Instalace Let’s Encrypt speciálně pro Ubuntu 14.04.

Galerie

Kvido 12.04.2018 13:46 260 3 komentáře

3 komentáře

Zanechat komentář

Host
  • RobiNN
    Zabudol si napísať jednu podstatnú vec a to, že je potrebne vlastniť verejnú IP, inak povedané na localhoste to nerozbehneš.

    https://letsencry...localhost/

    Citát

    Let’s Encrypt can’t provide certificates for “localhost” because nobody uniquely owns it, and it’s not rooted in a top level domain like “.com” or “.net”.
    Odpovědět - 12.04.2018 16:06
  • Kvido
    Máš pravdu. To jsem zapomněl zdůraznit.
    Ale u localhostu, tedy interního webového serveru, to lze obejít bez autority Let’s Encrypt . Tak získáme také certifikáty. Sice nebudou nikomu důvěřovat. Ale pro naši práci a testy v interním prostředi localhostu by to, myslím, mělo stačit. Soukromý klíč a certifikát s vlastním podpisem pro localhost lze generovat příkazem openssl. Mělo by to jít takto:

    openssl req -x509 -out localhost.crt -keyout localhost.key \ -newkey rsa:2048 -nodes -sha256 \ -subj '/CN=localhost' -extensions EXT -config <( \ printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth") 


    Tudíž, při tomto postupu budeme konfigurovat pomocí localhost.crt a localhost.key a nainstalujeme localhost.crt do seznamu interních důvěryhodných kořenů pro localhost.

    Já jsem ale měl na Ubuntu 14.04 problémy s příkazem printf.
    Tak jsem použil náhradu domény za "www.localhost", přidáním do adresáře / etc / hosts jako alias 127.0.0.1.
    Chce to zkusit, ale nějaké řešení by to mělo být.
    Odpovědět - 13.04.2018 16:06
    • RobiNN
      Napísal si "a to i na domácím localhostu pod OS Ubuntu." preto ten komentár.

      Ano viem že si na localhostu môžeš vygenerovať certifikát, dokonca vytvoriť aj vlastnú certifikačnú autoritu. Aj vo Windowse to ide.
      Pre localhost domény som si niekdy vždy vygeneroval SSL a bolo aj validné (zelený zámok) ale potom to Google odstránil a vlastné SSL už sa ukazovalo ako nedôveryhodne.
      Odpovědět - 13.04.2018 18:58
Nejnovější témata fóra
  Vlákno Zobrazení Odpovědi Poslední příspěvek
Reg., ověření emailem
v PHP - Fusion 9.0
15 0 Kvido
23-04-2018 09:03
Chyba užívateľa
v PHP - Fusion 9.1
221 5 very
23-04-2018 08:14
Seznam členů
v PHP - Fusion 9.0
104 1 RobiNN
20-04-2018 14:57
chyby po upgrade
v PHP - Fusion 9.1
419 10 Balin50
19-04-2018 07:09
nastavenie už. polí a zobra...
v PHP - Fusion 9.1
86 1 RobiNN
18-04-2018 22:00
Vzhľady
v PHP - Fusion 9.1
74 1 RobiNN
18-04-2018 21:57