Foi-me dito que o phpinfo contém dados confidenciais, então você deve excluí-lo no ambiente de produção. Mas esta tarde dei uma boa olhada nele e não encontrei nada de interessante. Então aqui está a minha pergunta. O que diabos é sensível? Como um invasor usará essas informações? Ou o que ele/ela saberá da página de configuração?
Em geral, a preocupação com a segurança é que quanto mais informações sua infraestrutura e aplicativos "fornecem" (ao divulgar nomes de produtos, versões e recursos), menos trabalho um adversário terá para coletar informações e mais fácil será para eles direcionar rapidamente vulnerabilidades (conhecidas).
Isso torna a prática recomendada em ambientes de produção, entre muitos outros, suprimir números de versão, desabilitar código/opções de depuração (como
phpinfo()
) , suprimir mensagens de erro e muito mais...Um exemplo.
Se sua
phpinfo
página revelar que você está usando o Windows Server 2008 e PHP 5.6, com determinados módulos PHP, os invasores podem facilmente assumir o controle do seu servidor porque,Quanto menos informações você revelar ao mundo exterior, mais difícil para os invasores explorarem.
É melhor contratar um consultor de segurança e aprender mais.
Todas as informações vazadas sobre seu servidor podem ser problemáticas. Mesmo o banner do apache vaza se você não desativá-lo no httpd.conf pode levar a um comprometimento. Vá para exploit-db.com e veja, por exemplo, todas as vulnerabilidades contra o Apache. Observe que a maioria afeta versões específicas. Então agora com phpinfo expondo essa informação é simples para um script kiddie atacar automaticamente seu sistema. O que, mesmo que corrigido, ainda pode causar problemas, pelo menos interrupções no tráfego. Considerando que, se eles não tiverem uma versão, geralmente não executarão nada. Muitos mods do apache tiveram problemas no passado - outra coisa que o phpinfo expõe. Certos exploits locais rodam em certos kernels - phpinfo novamente...
Ele também mostra qual banco de dados você está usando - para que imediatamente um invasor saiba quais comandos tentar usar para conduzir ataques de injeção de sql. E certas versões são vulneráveis a exploits específicos.
Você também pode adivinhar a partir do phpinfo informações como nomes de usuários, o formato dos nomes de usuários, a estrutura de diretórios... phpinfo coloca essa informação lá fora.
Mesmo informações como o administrador do servidor que você pode pesquisar no Google e talvez encontrar seus problemas de segurança no StackExchange ...
Basicamente, phpinfo é um menu grande e gordo para qualquer invasor em potencial por aí. Cubra essa merda. E enquanto você está nisso, esconda suas versões de banner, a menos que você precise dessa informação por algum motivo.