Webserver | IIS | Configurando para não executar determinados arquivos

1

Atualmente, tenho um servidor Web executando o Windows Server 2012 que está executando o IIS como seu servidor da web e usando PHP.

Vamos supor que um usuário possa enviar um trojan para o meu servidor, seja por meio de um site hospedado vulnerável ou talvez por algum outro exploit.

Se o usuário conseguir encontrar o diretório do site para o qual o arquivo foi enviado, ele poderá navegar até ele, executando assim o vírus.

Recentemente falei sobre essa possibilidade para o meu colega e ele afirmou que seu servidor está configurado de uma forma que permitiria apenas a execução de scripts php.

Como alguém configura seu servidor para permitir que apenas scripts PHP sejam executados ou pelo menos impedir que certos tipos de arquivos sejam executados pelo invasor.

Atenciosamente

    
por Jimmy 07.07.2015 / 10:16

1 resposta

0

Existem algumas maneiras de fazer isso, mas acho que a maneira mais comum seria usar o módulo Filtragem de Solicitações, que pode ser acessado por meio do gerenciador do IIS. Eu destaquei em vermelho na foto acima. Isso permite bloquear solicitações com determinadas extensões de arquivos, verbos HTTP, URLs, cabeçalhos HTTP ou cadeias de consulta. Você pode configurar isso para permitir somente solicitações com .php (e provavelmente .css, .html, .png, .jpg ... outros tipos comuns de arquivos estáticos) a serem processadas pelo servidor.

Como um aparte, os dois itens que eu destaquei em azul também podem ser interessantes neste cenário. A navegação no diretório (que é desativada por padrão) faz exatamente o que você espera, controla se o servidor da Web retornará ou não uma listagem de diretório para um diretório virtual se nenhum arquivo for especificado na solicitação e nenhum documento padrão estiver configurado .

Os mapeamentos do manipulador controlam quais aplicativos estão configurados para lidar com quais tipos de arquivo. É aqui que você diz ao IIS que quando vê uma solicitação para um arquivo .php, ele precisa executar o php.exe para lidar com ele. Você poderia potencialmente remover todos os mapeamentos de manipuladores desnecessários (incluindo . ) para remover qualquer chance de o seu servidor processar um arquivo com uma extensão incomum.

    
por 07.07.2015 / 10:27