Como proibir o uso de arquivos web.config?

3

Eu tenho um servidor Windows 2008 R2 com o IIS7.5 instalado. Eu preciso fornecer aos usuários acesso de leitura / gravação para alguma árvore de diretórios via WebDAV. Os mesmos usuários também poderão acessar os mesmos diretórios por outros meios - FTP, SFTP, CIFS, etc.

Meu objetivo: não quero que alguém possa carregar / modificar arquivos web.config nas pastas publicadas, modificando assim o comportamento do IIS. Se tal arquivo for criado, o IIS deve simplesmente tratá-lo como qualquer outro arquivo.

É possível concentrar todas as configurações do site no applicationHost.config ou em qualquer outro arquivo fora da árvore publicada, e fazer o IIS ignorar quaisquer arquivos web.config adicionais?

Obrigado!

    
por Cat Mucius 07.04.2014 / 15:51

2 respostas

1

Encontrou a configuração relevante - ela se chama allowSubDirConfig . Ele pode ser especificado no elemento virtualDirectoryDefaults (para todos os sites) ou no elemento virtualDirectory , no arquivo applicationHost.config .

Exemplo:

<configuration>
    <system.applicationHost>
       <sites>
            <site name="Default Web Site" id="1" serverAutoStart="true">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
                    <virtualDirectory path="/Temp" physicalPath="C:\TempRoot" allowSubDirConfig="false" />
                </application>
            <applicationDefaults applicationPool="DefaultAppPool" />
            <virtualDirectoryDefaults allowSubDirConfig="true" />
        </sites>
    </system.applicationHost>
</configuration>

web.config arquivos sob / diretório virtual Temp não serão verificados.

Existem outras formas também: link

    
por 07.05.2014 / 09:32
0

Veja a resposta de Anil Ruia aqui: link

If you go to applicationhost.config and lock all the sections (overrideModeDefault="Deny"), then IIS manager will write all IIS config settings to applicationhost.config (same for asp.net config setting and root web.config file). Note that this will completely prevent someone from being able to use web.config files to override IIS settings - and they may scream about it.

    
por 07.04.2014 / 17:18