Certifikace - Jak vložit certifikát do 2N IP Interkomu pro autentizaci webového rozhraní

Certifikáty

Certifikát je určen k tomu, aby bylo možné identifikovat server / zařízení, na které se snažíme připojit. Certifikát nám pomáhá potvrdit, že zařízení, na které se připojujeme, je opravdu toto zařízení. Certifikát přiřazuje veřejný klíč buďto doménovému jménu nebo IP-adrese. Pokud je vydán certifikát na jinou adresu / doménové jméno, než kterou má destinace, na kterou se snažíme připojit, moderní prohlížeč nás zpravidla informuje o tom, že se může jednat o nebezpečnou stránku.

Certifikát je zpravidla potvrzen a vystavován důvěryhodný vydavatelem neboli Certifikační Autoritou (zkráceně také CA). Na webu je možné vyhledat několik CA, které poskytují důvěryhodné certifikáty s tím, že tyto certifikáty jsou většinou vydávané na doménové jméno. Většina těchto CA by měla být zařazena v důvěryhodných CA v nastavení prohlížeče. Je také možné vytvořit si vlastní CA s tím, že je nutné certifikát takovéto vytvořené CA vložit do důvěryhodných certifikátů v prohlížeči.

V dnešní době se pro digitální certifikáty pro zabezpečení webové komunikace používá doporučení ITU X.509.

Důležitá je také skutečnost, že certifikáty jsou vydávané s omezenou platností (z důvodu bezpečnosti), tudíž je nutné certifikát jednou za čas obnovit (zpravidla se jedná o dobu jednoho roku s rezervou několika málo dní). Po vypršení platnosti se bude certifikát tvářit jako nedůvěryhodný, jelikož neprojde ověřovacím postupem, kde se zjišťuje, jestli nevypršela platnost tohoto certifikátu.

Možnosti 2N IP Interkomu

Zařízení 2N IP Interkom umožňuje nahrávání certifikátů pro různé účely. Nahrané uživatelské certifikáty lze přiřadit webovému rozhraní, a tím docílit  autentizace 2N IP Interkomu v síti.

Postup pro vytvoření CA a certifikátu za pomocí OpenSSL

Certifikát certifikační autority, certifikát i se všemi klíči je možné vytvořit několika málo příkazy pomocí programu OpenSSL. Pro certifikát vytvořený jinou certifikační autoritou je možné tuto kapitolu přeskočit. Tento návod je poměrně přímočarý, aby bylo možné vytvořit potřebné certifikáty v několika málo krocích - pro elegantnější řešení lze postupovat například podle následujícího návodu: https://jamielinux.com/docs/openssl-certificate-authority/introduction.html .

V prvním kroku je nutné vytvořit si certifikát certifikační autority s patřičným privátním klíčem. Příkaz je zadán následovně:

admin@ubuntu:~$ openssl req -out ca.pem -new -x509

Parametr -x509 znamená, že certifikát bude tzv. "Self-Signed", neboli podepsán sám sebou.

Během zpracování příkazu dojde k vyzvání na vyplnění hesla - toto heslo bude zabezpečovat privátní klíč CA, aby nebylo možné vytvářet neautorizované certifikáty.

Generating a 2048 bit RSA private key
.+++
................+++
writing new private key to 'privkey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

Po vyplnění hesla je nutné zadat důležité údaje týkající se CA, které budou součástí certifikátu. Toto by mělo vypadat následovně:

-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CZ
State or Province Name (full name) [Some-State]:Prague
Locality Name (eg, city) []:Prague
Organization Name (eg, company) [Internet Widgits Pty Ltd]:2N
Organizational Unit Name (eg, section) []:TestTeam
Common Name (e.g. server FQDN or YOUR name) []:autorita-test-2
Email Address []:

Tímto by se měla vytvořit dvojice souborů - první bude ca.pem obsahující certifikát CA a také privkey.pem obsahující privátní klíč CA. Tento klíč je nutný k podepisování vytvořených certifikátů. Kdokoliv s přístupem k tomuto klíči a heslu bude moci vytvářet nové certifikáte jménem této CA.

V následujícím kroku je nutné vytvořit klíč k certifikátu, který budeme chtíti vložit na naše zařízení. Pomocí příkazu openssl genrsa vytvoříme klíč s jménem HELIOS-KEY.pem o délce 2048 bitů. Jméno souboru klíče se může jmenovat libovolně v této ukázce HELIOS-KEY.

admin@ubuntu:~$ openssl genrsa -out HELIOS-KEY.pem 2048

Výstup příkazu by měl vypadat přibližně následovně:

Generating RSA private key, 2048 bit long modulus
..+++
.........................+++
e is 65537 (0x10001)

Program by měl vytvořit soubor s klíčem HELIOS-KEY.pem

V dalším kroku se vytvoří žádost o vytvoření certifikátu. Žádost se vytvoří pomocí příkazu openssl req a použije se pro ní klíč HELIOS-KEY.pem a žádost bude podepsána metodou sha-256. Jméno souboru žádosti se může jmenovat libovolně - v této ukázce pouze HELIOS. Příkaz bude vypadat následovně:

admin@ubuntu:~$ openssl req -key HELIOS-KEY.pem -new -sha256 -out HELIOS.req

V dalším kroku dojde k podobnému dialogu jako v případě vytváření certifikátu pro CA. Tedy vyplnění údajů o vlastníkovi certifikátu. Důležitá položka je Common Name, jelikož v této položce se musí nacházet IP-adresa nebo doménové jméno, pod kterým je přístupné webové rozhraní zařízení 2N  IP Interkom. Výstup by měl tedy vypadat následujícím způsobem:

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CZ
State or Province Name (full name) [Some-State]:Prague
Locality Name (eg, city) []:Prague
Organization Name (eg, company) [Internet Widgits Pty Ltd]:2N
Organizational Unit Name (eg, section) []:TestTeam
Common Name (e.g. server FQDN or YOUR name) []:10.27.20.10
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:HESLO
An optional company name []:2N

Nyní by se měl vytvořit soubor HELIOS.req.

Poznámka

Common Name je velmi důležitá položka, pokud tato položka nebude vyplněna správně nepovede se správně autentizace a webový prohlížeč upozorní že se jedná o nedůvěryhodnou webovou stránku.

V posledním kroku je nutné vytvořenou žádost podepsat a vytvořit certifikát, který bude možné vložit do zařízení 2N  IP Interkom. Toto se provede pomocí příkazu openssl x509, kde specifikujeme, že se jedná a podepsání žádosti HELIOS.req, že budeme podepisovat certifikační autoritou ca.pem s klíčem privkey.pem a použije se heslo HESLO specifikované při vytváření CA a že výstupem příkazu bude certifikát HELIOS-CERT.pem s platností 365 dní. Jméno souboru s certifikátem se může jmenovat libovolně - v této ukázce HELIOS-CERT.

admin@ubuntu:~$ openssl x509 -req -in HELIOS.req -CA ca.pem -CAkey privkey.pem -passin pass:HESLO -CAcreateserial -sha256 -out HELIOS-CERT.pem -days 365

Výstup programu by měl být přibližně následující s tím, že pod položkou CN=10.27.20.10 by měla být IP-adresa / doménové jméno zařízení 2N  IP Interkom.

Signature ok
subject=/C=CZ/ST=Prague/L=Prague/O=2N/OU=TestTeam/CN=10.27.20.10
Getting CA Private Key

Program by měl nyní vytvořit poslední potřebnou položku, a to certifikát pro zařízení 2N  IP Interkom.

Nahrání certifikátu do prohlížeče

Toto je nutné pro certifikáty vydané a podepsané vlastní vytvořenou Certifikační Autoritou.

Mozilla Firefox

V prohlížeči Mozilla Firefox běžte do Možnosti > Rozšířené > Certifikáty - zde stačí importovat certifikát Certifikační Autority (soubor ca.pem v případě vytvoření pomocí postupu výše).

Google Chrome

V prohlížeči Google Chrome běžte do Nastavení > Rozšířená nastavení > HTTPS/SSL > Spravovat certifikáty > Záložka Důvěryhodné kořenové certifikační autority - zde je možné importovat certifikát Certifikační Autority (soubor ca.pem v případě vytvoření pomocí postupu výše).

Internet Explorer

V prohlížeči Internet Explorer přes nabídku "ozubeného kola" > Možnosti Internetu > záložka Obsah > Certifikáty - zde je možné importovat certifikát Certifikační Autority (soubor ca.pem v případě vytvoření pomocí postupu výše). Soubor .pem není zařazen mezi zobrazovanými, a je tudíž nutné vybrat zobrazení všech souborů.

Nahrání certifikátu do zařízení 2N  IP Interkom

Certifikát buď vytvořený vlastní Certifikační Autoritou (CA), nebo obdržený od důvěryhodné webové CA lze vložit v sekci Systém / Certifikáty v kategorii Osobní certifikáty pomocí tlačítka zvýrazněného na následujícím obrázku.

V otevřeném okně je nutné nahrát soubor s certifikátem a s klíčem, dále je nutné zadat heslo chránící privátní klíč (znázorněno na následujícím obrázku).

V následujícím kroku je nutné přiřadit certifikát webovému rozhraní, aby bylo možné pomocí tohoto certifikátu identifikovat zařízení. Přiřazení se provede v záložce Služby / Web Server > Rozšířená nastavení - zde v položce HTTPS osobní certifikát přiřadit vložený certifikát. Jelikož byl vložen certifikát [1], je nutné vybrat certifikát [1].

V posledním kroku je nutné zařízení 2N IP Interkom restartovat - při novém startu zařízení se bude pro webovou komunikaci používat vložený certifikát. Restartujte v záložce Systém / Údržba tlačítkem Restartovat zařízení.