In this lab, we will observe the handshake that establishes a TLS session. We will see it from the perspective of the server and application tools so that we can see the full decrypted handshake.
openssl s_client -help
openssl s_client -connect georgiancollege.ca:80
openssl s_client -connect georgiancollege.ca:443
For this part, we will create a diagnostic service using openssl, then connect to it with openssl’s diagnostic client and observe the handshake. One little item to do before we begin is to open up the permissions on the private CA certificate because it is not world-redable and needs to be. This allows us to confirm that our client considers our certificate to be valid.
sudo chmod 644 /usr/share/ca-certificates/comp1071/ca.crt
sudo openssl s_server -cert /etc/ssl/certs/secure.simpson22725.mytld.crt -key /etc/ssl/private/secure.simpson22725.mytld.key
openssl s_client -connect localhost:4433
If you have wireshark running in a GUI, it can show you the TLS handshake graphically which is nice. If you don’t have a GUI, you can still see the handshakes using the ssldump
tool. Let’s compare the output of snooping the connection versus being an insider.
ssldump
on the loopback interface (we have to use that because of how the VM is set up), then leave it running
sudo apt install ssldump
sudo ssldump -i lo
openssl s_client -connect localhost:4433
This activity exists to build understanding and confirm learning. There are no marks for it, and there is nothing to hand in.