Qual é a combinação segura da configuração do php.ini e do código PHP para verificar o SSL / TLS no Ubuntu 14.04?

2

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:

  • Rastreie as opções de configuração para tornar o php / curl mais rígido no que ele aceita. Isso pode não ser totalmente possível.
  • Adicione mais código no PHP para inspecionar os certs mais de perto (se sente mal)
  • Talvez esteja OK que o PHP / CURL não identifique todos eles como inválidos

Estou procurando respostas sobre qualquer um desses pontos:)

    
por greggles 21.07.2017 / 00:09

0 respostas