Estou usando o PHP 7.0 de ppa:ondrej/php
no Ubuntu 14.04. Estou interagindo com uma API e gostaria de garantir que meu código PHP / CURL esteja interagindo com o servidor certo e de forma segura (sem qualquer risco de espionagem, MITM, adulteração, etc.).
Eu fiz um pouco de pesquisa e não vejo nenhum conselho completo sobre este tópico.
Aqui estão algumas coisas que notei sobre as configurações padrão:
Os valores de openssl.cafile
e openssl.capath
estão vazios.
Acredito que CURLOPT_SSL_VERIFYPEER
seja padronizado como TRUE e que um pacote de certificados padrão seja fornecido por cURL (14.04 possui cURL 7.35 e isso é verdade desde 7.10).
Parece que muitos dos exemplos de "ruim" ssl são coisas que os navegadores e o mundo da segurança consideram inseguros, mas a configuração padrão do PHP / CURL aceita.
Usando badssl.com e um script que eu escreveu Comecei a testar quais configurações SSL inválidas acionariam erros e estou surpreso com quantas delas não acionam erros.
Algumas soluções possíveis:
Estou procurando respostas sobre qualquer um desses pontos:)