Certifikáty od Let's Encrypt

tls,srtp,zrtp a bezpečnostní potíže VoIP

Certifikáty od Let's Encrypt

Příspěvekod LubosD » pon 27. lis 2017 16:03:23

Zdravím,

dobře vím, že už máte SIP/TLS na dvou různých portech s různými certifikáty, tak se vám to asi nebude chtít zase měnit nebo rozšiřovat :D

Ale jen bych rád zmínil, že bezplatné certifikáty Let's Encrypt dobře fungují s Asteriskem a SIP klienty (např. Zoiperem). Klient se pak vůbec nemusí zabývat důvěryhodností certifikátů, nějak to kontrolovat proti CA certu na Odoričí wiki atp., jede to out of box, žádná varování a další problémy. V podstatě to jede tak dobře, že si pak můžete dovolit doporučovat TLS/SRTP všem lidem, nikoliv jen fajnšmekrům.

Postup pro Asterisk:
  • Na doméně SIP serveru musí být web server pro správné fungování ACME (ověření Let's Encrypt, zda jste držitelem dané domény). To tu nebudu rozebírat, návodů pro rozchození je plný Internet.
  • Typicky si člověk dává do /etc/cron.weekly skript pro automatickou obnovu certifikátů (protože ty mají platnost jen 3 měsíce). Jelikož proces Asterisku obvykle neběží pod rootem, a tak nemá přístup do /etc/letsencrypt/live, je nutné nakopírovat fullchain.pem a privkey.pem tam, kde se k tomu Asterisk dostane. Asterisk je v tomhle pekelně zrádný, protože pokud nemůže tyto soubory otevřít, tak nenapíše "Permission denied", ale obecnou chybu TLS certifikátu a vy se pak divíte, co je s certifikátem špatně. Takže já mám v cronu tohleto:

    Kód: Vybrat vše
    #!/bin/sh
    DIR=/var/www/letsencrypt-auto/

    certbot renew --webroot -w $DIR --rsa-key-size 4096
    /etc/init.d/nginx reload
    /etc/init.d/postfix reload
    /etc/init.d/dovecot reload

    # ASTERISK

    srcdir=/etc/letsencrypt/live/zeus.dolezel.info
    cp $srcdir/privkey.pem /etc/asterisk/tls/server/
    cp $srcdir/fullchain.pem /etc/asterisk/tls/server/
    chown asterisk:asterisk /etc/asterisk/tls/server/*.pem
    /etc/init.d/asterisk reload
  • Důležité je opravdu používat fullchain.pem, nikoliv cert.pem, protože kořenový certifikát Let's Encrypt nemá např. v Zoiperu na Androidu důvěru.
  • Dále je třeba udělat obvyklé věci, takže nastavit tlsbindaddr,tlsenable,tlscertfile a tlsprivatekey.
LubosD
 
Příspěvky: 147
Registrován: pát 06. úno 2015 11:41:27

Re: Certifikáty od Let's Encrypt

Příspěvekod MaT » stř 29. lis 2017 1:51:38

Proč certifikáty kopírovat? Nebylo by lepší do onoho adresáře k certifikátům dát uživateli, pod kterým Asterisk běží, prostě jen potřebná práva (stačí na čtení)? Eventuálně pokud je Asterisk opravdu očekává v nějakém adresáři, tak bych je symlinkoval...
MaT
 
Příspěvky: 351
Registrován: pát 29. bře 2013 15:35:14

Re: Certifikáty od Let's Encrypt

Příspěvekod LubosD » stř 29. lis 2017 10:20:30

MaT píše:Proč certifikáty kopírovat? Nebylo by lepší do onoho adresáře k certifikátům dát uživateli, pod kterým Asterisk běží, prostě jen potřebná práva (stačí na čtení)? Eventuálně pokud je Asterisk opravdu očekává v nějakém adresáři, tak bych je symlinkoval...

Dokonce i v návodu certbotu se navrhuje napsat si v tomto případě deploy hook a certifikáty okopírovat, kam je třeba a pod jakými právy je třeba. Já to místo deploy hooku kopíruju přímo v cronu, aspoň mám trochu přehled o tom, co se děje, protože na ten hook bych brzo zapomněl.

Ale jo, možná by to šlo, jenom tenhle primitivní způsob vyšel snáze.
LubosD
 
Příspěvky: 147
Registrován: pát 06. úno 2015 11:41:27


Zpět na Bezpečnost a šifrování hovorů

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník