Potřebuji odsouhlasit používání cookies. Když tyto stránky používáte, vyjadřujete souhlas.

FlexiBee a Let's Encrypt SSL certifikát

Pokud používáte cloudové FlexiBee, nemusíte SSL certifikáty řešit. Pokud ho ale máte nainstalované na svém vlastním serveru, je dobré vybavit ho bezpečnějším SSL certifkátem.


  Načítím reklamu ...

Výchozí certifikát FlexiBee

Ve výchozím stavu je k zabezpečení komunikace využíván self-signed certifikát. O něm ale již dnes většina prohlížečů prohlašuje, že není bezpečný. Musíte tedy potvrdit „bezpečnostní výjimku“, abyste mohli přistoupit k webovému rozhraní nebo REST API.

Schválit bezpečnostní výjimku

Detail self-signed certifikátu FlexiBee


Instalace vlastního certifikátu

Jak tedy tento stav napravit a zabezpečit komunikaci s FlexiBee? Je potřeba na server nahrát vlastní certifikát. Postup jak certifikát vyměnit je popsaný v dokumentaci na stránkách FlexiBee. Pokud máte správný certifikát, obsahující všechno potřebné, stačí zavolat:

curl -X PUT -u jmeno:heslo -k -L -T domena.eu.pem https://localhost:5434/certificate
Většina certifikátů je ale placená. A nestojí zrovna malý peníz 🙂. Existuje ovšem certifikační autorita Let's Encrypt, která poskytuje SSL certifikáty zdarma.

Let's Encrypt certifikát

Certifikát není možné rovnou nahrát do FlexiBee. Není totiž ve správném tvaru a neobsahuje celý řetězec certifikátů. Je tedy nutné si nejdříve certifikát připravit.

Certifikáty se nacházejí v adresáři /etc/letsencrypt/live/nazevserveru/. Nazevserveru je proměnná, pod kterou Let's Encrypt ceritifikát vytvořil. Většinou se jedná o název serveru (např. charlieblog.eu). Jediný certifikát, který se v adresáři nenachází, je DST Root CA X3. Tento certifikát si budeme muset stáhnout z internetu.

Pro práci nejspíš budeme potřebovat root oprávnění, protože do adresáře letsencrypt nemá přístup jen tak někdo.

Přejdeme tedy do tohoto adresáře a můžeme začít.

# staneme se rootem
sudo su
# přesuneme se do správného adresáře
cd /etc/letsencrypt/live/nazevserveru/
# převedeme klíč do formátu PKCS#1
openssl rsa -in privkey.pem -out rsaprivkey.pem
# z internetu stáhneme certifikát DST Root CA X3
curl https://ssl-tools.net/certificates/dac9024f54d8f6df94935fb1732638ca6ad77c13.pem > root-ca.pem
# zkombinujeme všechny certifikáty a vytvoříme finální flexibee-le.pem
cat fullchain.pem root-ca.pem rsaprivkey.pem > flexibee-le.pem

Hotovo.

Teď už můžeme certifikát nahrát pomocí příkazu

curl -X PUT -u jmeno:heslo -k -L -T flexibee-le.pem https://localhost:5434/certificate
Jméno a heslo je nutné nahradit reálným uživatelským jménem a heslem 🙂.

Závěr

Kájovo tip
Vytvořte si .sh script a proces zautomatizujte cronem.

Čas jsou peníze 😉.

Konečně máme ve FlexiBee certifikát, který funguje, je zdarma a zabezpečí nám komunikaci.

Služby jako Integromat už nebudou mít s certifikátem problém. Při připojování k FlexiBee API z PHP již nebudeme muset nastavovat CURLOPT_SSL_VERIFYPEER a CURLOPT_SSL_VERIFYHOST na False.

Pokud chcete proces nasazení Let's Encrypt certifikátu zautomatizovat, koukněte se na ukázkový script, který jsem připravil. Naleznete ho v GitLab repozitáři. 😉

Díky Igimu Hákovi 🙂.

Zdroje a odkazy

Zdroj certifikátu DST Root CA X3

ABRA FlexiBee, Lets Encrypt, SSL, Certifikát

- (11. 12. 2023)

Líbil se vám článek?

Nasdílejte ho svým přátelům na sociálních sítích.

Pinterest

Názory, připomínky a jiné komentáře

Zobrazit další komentáře

Zatím nikdo nic nenapsal. Buďte první :-).

Vložit nový komentář

Jsem programátor, horolezec a tak trochu FlexiBee fanatik :-).
Na CharlieBlogu sepisuji své nápady a poznatky už od roku 2006.

Powered by CharlieBlog Engine v2.3 - Login