CURLOPT_SSL_VERIFYPEER e potenziali problemi di sicurezza

1

In PHP / curl ho codificato un semplice accesso a un sito Web basato su WordPress per accedere a WP da un client mobile (un'app per iOS). Il sito Web supporta https, è ospitato in un ambiente di hosting condiviso e il certificato che offrono di default è un comune crittografia .

Il problema è che tutto funziona bene ma, non essendo un esperto di sicurezza, non capisco le implicazioni di alcune impostazioni di sicurezza di base: ad es. con la codifica

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

Sono potenzialmente in grado di causare problemi di sicurezza? E se sì, cosa potrei fare?

Qualsiasi aiuto è apprezzato

    
posta 3000 17.07.2017 - 15:05
fonte

2 risposte

3

Sì, ci sono implicazioni sulla sicurezza. Hai completamente disattivato la convalida del certificato, accetterai i certificati non validi. Ti sei aperto agli attacchi MitM e potresti anche trasmettere tramite http, perché hai eliminato tutti i privilegi di sicurezza di https.

Dovresti esaminare perché il tuo server non accetta di crittografare i certificati (presumo che sia per questo che hai disattivato la verifica) e cosa puoi fare al riguardo. In alternativa puoi cercare di ottenere un certificato da un'altra CA.

    
risposta data 17.07.2017 - 15:55
fonte
1

La tua domanda ha già una risposta nella documentazione di cURL :

WARNING: disabling verification of the certificate allows bad guys to man-in-the-middle the communication without you knowing it. Disabling verification makes the communication insecure. Just having encryption on a transfer is not enough as you cannot be sure that you are communicating with the correct end-point.

Disabilitando questa opzione (e supponiamo che tu stia usando CURLOPT_PROTOCOLS limitate a CURLPROTO_HTTPS ) puoi solo garantire che le informazioni siano trasferite su SSL, ma non puoi garantire se il server che stai collegando è legittimo.

Puoi disabilitare questa opzione e ancora sicura se stai utilizzando CURLOPT_PUBLICKEYPINNING , in questo caso stai limitando la comunicazione a chi detiene la chiave che hai specificato.

    
risposta data 16.09.2017 - 00:41
fonte

Leggi altre domande sui tag