CURLOPT_SSL_VERIFYPEER y posibles problemas de seguridad

1

En PHP / curl, codifiqué un inicio de sesión simple en un sitio web basado en WordPress para iniciar sesión en WP desde un cliente móvil (una aplicación iOS). El sitio web es compatible con https, está alojado en un entorno de alojamiento compartido y el certificado que ofrecen de forma predeterminada es un certificado común de Vamos a cifrar .

El problema es que algo funciona bien pero, al no ser un experto en seguridad, no entiendo las implicaciones de algunas configuraciones de seguridad básicas: por ejemplo, codificando

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

¿Estoy potencialmente causando algún problema de seguridad? Y, si es así, ¿qué podría hacer?

Cualquier ayuda es apreciada

    
pregunta 3000 17.07.2017 - 15:05
fuente

2 respuestas

3

Sí, hay implicaciones de seguridad. Has desactivado completamente la validación de certificados, aceptarás certificados no válidos. Te has abierto a los ataques MitM y es posible que también transmitas a través de http, porque has eliminado todas las ventajas de seguridad de https.

Debería investigar por qué su servidor no acepta ciframos certificados (supongo que es por eso que desactivó la verificación) y qué puede hacer al respecto. Alternativamente, puedes buscar obtener un certificado de otra CA.

    
respondido por el Maerlyn 17.07.2017 - 15:55
fuente
1

Su pregunta ya está respondida en la documentación de la cURL :

  

ADVERTENCIA: deshabilitar la verificación del certificado permite a los malintencionados realizar la comunicación sin que usted lo sepa. Deshabilitar la verificación hace que la comunicación sea insegura. El simple hecho de tener cifrado en una transferencia no es suficiente, ya que no puede estar seguro de que se está comunicando con el punto final correcto.

Al deshabilitar esta opción (y suponga que está utilizando CURLOPT_PROTOCOLS restringido a CURLPROTO_HTTPS ), solo puede garantizar que la información se transfiere a través de SSL, pero no puede asegurarse de que el servidor al que se está conectando sea legítimo.

Puede deshabilitar esta opción y aún estar seguro si está utilizando CURLOPT_PUBLICKEYPINNING , en este caso, está restringiendo la comunicación a la persona que tiene la clave que ha especificado.

    
respondido por el Inkeliz 16.09.2017 - 00:41
fuente

Lea otras preguntas en las etiquetas