Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gsr:laboratoare:laborator-09 [2016/12/21 23:37]
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 53: Line 53:
 CONNECTED(00000003) CONNECTED(00000003)
 depth=0 C = RO, ST = Some-State, O = Ixia, OU = Development,​ CN = server depth=0 C = RO, ST = Some-State, O = Ixia, OU = Development,​ CN = server
-verify error:​num=20:​**unable to get local issuer certificate**+verify error:​num=20:​unable to get local issuer certificate
 verify return:1 verify return:1
 depth=0 C = RO, ST = Some-State, O = Ixia, OU = Development,​ CN = server depth=0 C = RO, ST = Some-State, O = Ixia, OU = Development,​ CN = server
-verify error:​num=21:​**unable to verify the first certificate**+verify error:​num=21:​unable to verify the first certificate
 verify return:1 verify return:1
 [...] [...]
Line 64: Line 64:
   * sesiunea se stabileste   * sesiunea se stabileste
   * clientul primeste certificatul serverului   * clientul primeste certificatul serverului
-  * clientul **NU poate verifica** certificatul serverului+  * clientul **NU poate valida** certificatul serverului 
 + 
 +Pentru a putea valida certificatul serverului, avem nevoie de certificatul CA-ului care l-a semnat. 
 +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 78: 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 90: 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.
gsr/laboratoare/laborator-09.1482356268.txt.gz · Last modified: 2016/12/21 23:37 by alexandru.carp
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0