Realizando conexions a puertos SSL/TLS

No es muy complicado probar o verificar muchos de los servicios de Internet a mano con un simple Telnet al puerto del servicio. Con esto no solo podemos verificar que el puerto esta abierto y escuchando, sino que en muchos casos es posible simular o realizar a mano el dialogo con servidor.

Pero en el caso que el servicio a probar utilice SSL o TLS, ya no podemos usar Telnet para poder dialogar con el servidor. Pero para ello podemos usar el comando "openssl" en modo cliente. En particular para simular una simple conexion a un puerto que use SSL o TLS podemos usar :
openssl s_client -connect servidor:puerto
Esto iniciara el dialogo SSL con el servidor y nos mostrara el certificado e informacion del mismo, asi tambien como, si no es un certificado auto-firmado, intentara verificarlo. Una vez finalizado el dialogo y la verificacion del certificado, nos mostrara el resumen de la coneccion como el siguiente:
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID: E9F3218C651A1F59CFA21D997AE63CF80810F70CD9D62F456F98B15E85F71C4D
Session-ID-ctx:
Master-Key: ACCA4FE23EEA8C8FE414C3FAB570C1D51115B685CD6662FB56961604272F0C347A57040FA78DDBF42F35E3B205D4A103
Key-Arg : None
Start Time: 1240453754
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)

Luego de esto, ya tenemos la conexión establecida y podemos ejecutar los comandos a mano para probar el servicio en particular como lo haríamos usando Telnet






1 comentarios:

Fausto castañeda

11 de octubre de 2012, 21:59

pues hace falta reemplazar el s_client por mi equipo o checar el espacio en s_client -connect porque no lo hacepta telnet