He configurado una conexión basada en certificados con socat usando este tutorial: enlace
Mi conexión socat funciona de la siguiente manera (solo las partes relevantes del comando):
ssl:<server-ip>:<port>,cert=/path/to/client.pem,cafile=/path/to/server.crt
ssl-l:<port>,cert=/path/to/server.pem,cafile=/path/to/client.crt,fork
Estoy haciendo esto para un curso universitario y hay una pregunta adicional que pregunta qué problemas de seguridad podrían surgir debido a la línea
NOTA: el certificado del servidor solo se verifica para determinar su validez frente a cafile o capath, pero no coincide con el nombre del servidor o su dirección IP.
Ahora no estoy seguro de si entiendo esto correctamente o no, la forma en que lo hago es:
El archivo server.pem
del servidor ( .key
y .crt
combinados) se verifica si coincide o no con el cliente server.crt
, sin embargo, no verifica el CN ( server.crt
) del certificado para una coincidencia en el dominio del servidor / IP / lo que sea.
Si eso es correcto, no encuentro ningún problema crítico de seguridad sin tener que robar la clave privada del servidor (en cuyo caso ya ha perdido de todos modos).