O fim do Suhosin; o que vem a seguir?

Por muitos anos, Eu usei com zelo Suhosin com qualquer implementação de PHP5 em servidores web Apache2 ou PHP-FPM Nginx para defender contra injeção SQL e outros ataques comuns na web. Na verdade, PHP5 foi tão desastroso, tanto em termos de segurança central, quanto em suas funções e módulos que eu nunca poderia ter concebido usá-lo sem qualquer endurecimento significativo que o Suhosin fornece.
Como o PHP5 está depreciado e meus programas legados já se foram, Fiquei com várias implementações de PHP7 e nenhum patch do Suhosin disponível.
Embora, ainda seja tecnicamente possível adicionar Suhosin ao PHP 7.0 e 7.1 (pré-alfa – não para produção), é justo dizer que o projeto já se foi há muito tempo e o PHP7 já provou que ele pode ser problemático como foi seu predecessor. Enquanto penso em uma nova adição ao WAF e à segurança central do PHP7, estas são algumas das soluções que eu pensei:
Desabilitando Funções Ruins ou Desnecessárias
Existem muitas funções arriscadas incorporadas no PHP que são potencialmente perigosas e devem ser desabilitadas no ‘php.ini’ por padrão. Você pode encontrar o arquivo de configuração usando o comando abaixo e desativar as funções via vi ou nano.
php -i | grep "php.ini"POR FAVOR, NOTE: Se você estiver executando várias versões do PHP simultaneamente ou se o programa estiver instalado como parte de outro aplicativo de terceiros, então as chances são altas de que você tenha múltiplos ‘php.ini’ instalados e não está claro qual deles está carregado pelo servidor web. Certifique-se de que está editando a versão correta (php -v).
Adicione a linha abaixo no final do arquivo ‘php.ini’, certifique-se de que você salvou o arquivo, e reinicie o servidor web. Você pode aprender sobre cada uma dessas funções do PHP neste endereço. Como uma ação medida, você pode querer adicioná-las uma a uma para garantir que não afete negativamente suas aplicações.
disable_functions = popen, eval, leak, exec, shell_exec, curl_exec, curl_multi_exec, parse_ini_file, mysql_connect, system, phpinfo, escapeshellarg, escapeshellcmd, passthru, symlink, show_source, mail, sendmail, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, pfsockopen, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuidDesativando Register Globals e Base64
Register Global é uma função do PHP que permite que arrays de entrada na URL sejam convertidos em variáveis dentro do seu código. Portanto, qualquer código potencialmente vulnerável pode ser explorado por um atacante que pode passar arrays maliciosos usando requisições HTTP GET ou POST.
Register Globals pode ser facilmente desativado adicionando a linha abaixo no final do ‘php.ini’. Não se esqueça de reiniciar o servidor web para executar as alterações.
register_globals = OffAssim como Register Globals, Base64 é outro recurso muitas vezes desnecessário que abre a porta para backdoors maliciosos. Você pode desativar o decodificador Base64 permanentemente adicionando a linha abaixo ao final de 'php.ini'.
base64_decode = OffMore from me
Aviso de publicação
As opiniões, informação, as opiniões expressas são exclusivamente do autor e não representam necessariamente as do seu empregador ou das organizações com as quais está afiliado.
A informação contida neste artigo é apenas para fins informativos gerais. A informação é fornecida por Farhad Mofidi e, embora ele se esforce para manter a informação atualizada e precisa, ele não faz quaisquer declarações ou garantias de qualquer tipo, expressas ou implícitas, relativamente à integridade, precisão, fiabilidade, adequação ou disponibilidade do website. Farhad não faz quaisquer declarações ou garantias. ou sobre qualquer informação, produtos ou gráficos relacionados contidos em qualquer publicação para qualquer fim.
Também, A IA pode ser usada como uma ferramenta para fornecer sugestões e melhorar alguns dos conteúdos ou frases. As ideias, pensamentos, opiniões, e produtos finais são originais e feitos por humanos pelo autor.





