Por que o PHP Suhosin é necessário? O PHP não é corrigido para segurança?

1

Estou planejando configurar um Linux-VPS e executar um site PHP nele. Eu li que é recomendado usar PHP Suhosin para corrigir PHP para segurança. Mas o PHP não é corrigido para segurança em cada nova versão? ou o PHP Suhosin está fazendo a segurança melhor do que o que o próprio PHP planeja fazer? Ou é o PHP Suhosin apenas para versões mais antigas do PHP?

    
por Jonas 18.10.2010 / 13:09

3 respostas

5

Acho que você deve entender isso em termos de uma abordagem diferente para a segurança. O patch Suhosin altera algumas formas fundamentais pelas quais as variáveis e fluxos são tratados e adota uma abordagem mais rígida sobre o que é possível com a linguagem. Não é que o próprio PHP não seja corrigido para incluir proteção contra comprometimentos conhecidos, mas como uma linguagem eles optam por permitir certos tipos de comportamentos que são mais arriscados. Corrigir com a idéia de outra pessoa do que deve e não deve ser permitido pode lhe dar uma plataforma mais segura em termos da possível superfície de ataque, mas também pode limitar você no software PHP que você pode executar. Alguns pacotes PHP podem não responder bem às regras mais restritivas.

Se você está escrevendo seu próprio software do zero, parece que o conjunto de patches Suhosin pode ser uma boa ideia. Você deve aprender técnicas de melhores práticas e a linguagem mais restrita pode ser apenas a maneira de fazer isso. Se você tem algum pacote para executar que é incompatível com o PHP modificado, você pode não ter esse luxo.

    
por 18.10.2010 / 13:18
1

O PHP é corrigido para falhas de segurança conhecidas . O Suhosin (como o SELinux) protege o PHP contra falhas de segurança desconhecidas .

    
por 18.10.2010 / 13:18
1

A lista de recursos no site da Suhosin dá respostas específicas à pergunta.

Você deve notar que o Suhosin não é tanto sobre a correção de falhas de segurança no próprio PHP - mas sim sobre o endurecimento do PHP, que é um problema mais amplo.

Como Caleb aponta, você pode descobrir que algum código PHP de terceiros não funciona sob Suhosin. Se você tem algo específico em mente, você poderia fazer uma pergunta específica sobre o Suhosin para aquele código em particular no fórum apropriado, ou apenas tentar e ver.

    
por 18.10.2010 / 13:28