A exploração PHP.CGI.Argument.Injection permite execução remota de código no PHP se usada como um CGI e se versão < = 5.3.12 ou < = 5.4.2.
Vendo essas linhas nos logs do firewall não significa que você está vulnerável , apenas que algum fora pensa que você pode ser . Para esse efeito, mas essa é apenas a minha opinião e eu tive vários especialistas discordando veementemente, ter seu servidor ocultando seus tokens de versionamento pode ser contraproducente, porque os exploradores tentariam todos os seus truques - aqueles que você ser vulnerável, e aqueles que você não é. Se um exploit contra o FooScript for lançado, você não será poupado apenas porque não está anunciando o uso do FooScript.
Então, o que você pode fazer (e eu suponho que você já fez) é rodar o PHP como um módulo e / ou atualizá-lo para ser uma versão mais recente que os vulneráveis. Uma vez que você não está mais vulnerável, você pode instruir o firewall a abandonar esse tipo de tentativa sem aviso (é claro que você ainda quer ser avisado sobre outras tentativas!).
Em geral, você também pode querer verificar um ou mais verificadores de vulnerabilidades .
No PHP como módulo ou CGI
O PHP pode ser instalado de várias maneiras. Como módulo ( mod_php5
), "vive" dentro do processo Apache, por padrão com os mesmos direitos. Você poderia pensar nisso como um recurso PHP que fica "incorporado" dentro do Apache, tornando-o "mais inteligente". Comprometer mod_php
pode significar comprometer o Apache (existem medidas corretivas, mas ainda assim) e, portanto, todos de seus sites. Como um CGI, ele vive como um processo separado ( vários processos separados), que alguns acreditam ser mais seguro, enquanto outros observam que é menor desempenho (cada chamada tem que configurar todo o processo de novo). FastCGI está em algum lugar no meio, mas requer mais configuração; existem dois ou três sabores dele.
A configuração parece OK; talvez você queira alterar esses valores, no entanto:
KeepAlive On
DefaultType text/html
EnableMMAP On
O mmap'ing pode aumentar o desempenho com quase nenhum custo. Existem algumas ressalvas, mas elas geralmente não são relevantes (você vai verificar se esse é o seu caso, é claro):
This memory-mapping sometimes yields a performance improvement. But in
some environments, it is better to disable the memory-mapping to
prevent operational problems:
On some multiprocessor systems, memory-mapping can reduce the performance of the httpd.
Deleting or truncating a file while httpd has it memory-mapped can cause httpd to crash with a segmentation fault.
A desativação do Keep-Alive pode atenuar algum tipo de (D) DoS - consulte as dicas de segurança -, mas geralmente é melhor adotar outras medidas, como banir (como você já faz), e isso torna o Keep-Alives incapacitante amplamente supérfluo; enquanto tê-los permite melhorar o desempenho de clientes "bons" (também liberando recursos para lidar com os ruins ).
O tipo de conteúdo padrão de text/html
não é realmente relevante, mas eu sinto que há poucas razões para ter seu padrão médio do servidor web como texto simples.