This shows you the differences between two versions of the page.
|
gsr:laboratoare:laborator-09 [2016/12/21 23:40] alexandru.carp [Comunicare client/server peste SSL/TLS] |
gsr:laboratoare:laborator-09 [2016/12/22 17:13] (current) alexandru.carp [Configurarea HTTPS pentru un server web] |
||
|---|---|---|---|
| Line 69: | Line 69: | ||
| Descarcati certificatul CA-ului ''ca.crt'' de [[http://swarm.cs.pub.ro/~carpalex/gsr/ssl/ca.crt|aici]] | Descarcati certificatul CA-ului ''ca.crt'' de [[http://swarm.cs.pub.ro/~carpalex/gsr/ssl/ca.crt|aici]] | ||
| + | Apoi, lansati din nou ''openssl s_client'', dar cu parametru ''-CAfile'': | ||
| + | <code> | ||
| + | $ openssl s_client -CAfile ca.crt -connect localhost:12345 | ||
| + | CONNECTED(00000003) | ||
| + | depth=1 C = RO, O = Ixia, OU = Development, CN = Ixia-CA | ||
| + | verify return:1 | ||
| + | depth=0 C = RO, ST = Some-State, O = Ixia, OU = Development, CN = server | ||
| + | verify return:1 | ||
| + | --- | ||
| + | Certificate chain | ||
| + | 0 s:/C=RO/ST=Some-State/O=Ixia/OU=Development/CN=server | ||
| + | i:/C=RO/O=Ixia/OU=Development/CN=Ixia-CA | ||
| + | --- | ||
| + | [...] | ||
| + | Verify return code: 0 (ok) | ||
| + | </code> | ||
| + | |||
| + | Observati ca de data aceasta certificatul este validat. | ||
| + | |||
| + | Similar cu ''nc'', textul introdus in client apare pe server, si invers. | ||
| + | |||
| + | Porniti wireshark sau tcpdump si observati conversatia TCP pe portul 12345. Observati ca datele sunt criptate in cadrul unei sesiuni SSL. | ||
| ===== Configurarea HTTPS pentru un server web ===== | ===== Configurarea HTTPS pentru un server web ===== | ||
| - | Cu certificatul astfel obținut realizați o configurare a unui virtul host pe serverul Apache local (instalați-l dacă nu este instalat) cu suport HTTPS. | + | Folositi certificatul ''server.ixlabs'' pentru a realiza o configurare a unui virtual host pe serverul Apache local (instalați-l dacă nu este instalat) cu suport HTTPS. |
| Pașii pe care trebuie să îi urmați sunt: | Pașii pe care trebuie să îi urmați sunt: | ||
| - | * Crearea unui fișier de configurare pentru hostname-ul ''dorel.ixlabs'' (sau numele aferent domeniului vostru). | + | * Crearea unui fișier de configurare pentru hostname-ul ''server.ixlabs'' |
| - | * Crearea unui fișier de configurare pentru hostname-ul ''dorel.ixlabs'' cu suport HTTPS. | + | * Crearea unui fișier de configurare pentru hostname-ul ''server.ixlabs'' cu suport HTTPS. |
| * Activarea acestora folosind comanda ''a2ensite''. | * Activarea acestora folosind comanda ''a2ensite''. | ||
| * Activarea suport-ului de TLS folosind comanda<code> | * Activarea suport-ului de TLS folosind comanda<code> | ||
| Line 82: | Line 104: | ||
| </code> | </code> | ||
| * Copierea certificatului în directorul ''/etc/ssl/certs/'' și a cheii private în ''/etc/ssl/private/''. | * Copierea certificatului în directorul ''/etc/ssl/certs/'' și a cheii private în ''/etc/ssl/private/''. | ||
| - | * Configuarea suportului de TLS în configurarea ''dorel.ixlabs'' cu suport HTTPS. Vedeți liniile de configurare de [[https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html#configexample|aici]]. | + | * Configurarea suportului de TLS în configurarea ''server.ixlabs'' cu suport HTTPS. Vedeți liniile de configurare de [[https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html#configexample|aici]]. |
| - | * Adăugarea unei intrări în ''/etc/hosts'' pentru numele ''dorel.ixlabs'' cu adresa locală (poate chiar adresa de loopback) ca să aveți rezolvat numele de domeniu. | + | * Adăugarea unei intrări în ''/etc/hosts'' pentru numele ''server'' cu adresa locală (poate chiar adresa de loopback) ca să aveți rezolvat numele de domeniu. |
| + | <note> | ||
| + | **Nota:** Trebuie facuta maparea cu ''server'' si nu cu ''server.ixlabs'' pentru ca browserul se asteapta ca domeniul din URL sa faca match cu CN-ul din certificat, iar acesta este ''server''. | ||
| + | </note> | ||
| * Repornirea serverului web. | * Repornirea serverului web. | ||
| * Încărcați în browser-ul certificatul CA-ului. | * Încărcați în browser-ul certificatul CA-ului. | ||
| - | * Conectarea la serverul web folosind un URL de forma ''%%https://dorel.ixlabs%%'' pentru a valida configurarea corectă a serviciului. | + | * Conectarea la serverul web folosind un URL de forma ''%%https://server%%'' pentru a valida configurarea corectă a serviciului. |
| ===== Configurarea IMAPS pentru un server de IMAP ===== | ===== Configurarea IMAPS pentru un server de IMAP ===== | ||
| Line 94: | Line 119: | ||
| </code> | </code> | ||
| - | Configurați pentru IMAPS certificatul verificat anterior și apoi folosiți un client de e-mail pentru vă conecta la server prin IMAPS. | + | Configurați pentru IMAPS certificatul ''server.ixlabs'' și apoi folosiți un client de e-mail pentru vă conecta la server prin IMAPS. |
| Folosiți și ''openssl s_client'' pentru a verifica folosirea corespunzătoare a certificatului pe server. | Folosiți și ''openssl s_client'' pentru a verifica folosirea corespunzătoare a certificatului pe server. | ||