Hardening de servidores com IIS 7.0 e 7.5


1) Utilize uma conta sem privilégios para administração, caso necessite de permissão de Administrador utilize o RunAS

2) Renomeie a conta de Administrador

3) Altere o caminho padrão de armazenamento dos arquivos

4) Rode o Pool de Aplicativos com o usuário (ApplicationPoolIdentity)

5) Execute cada site com um Pool de Aplicativos diferente

6) Remova qualquer modulo que não esteja sendo utilizado

7) Não habilite o Remote Desktop, caso seja necessário certifique-se que seja acessado a partir de uma VPN.

8) Não é recomendado instalar o serviço de FTP e SMTP no mesmo servidor.

9) Habilite o Firewall do Windows, bloqueie todas as portas com excessão das 80, 443 e 3389.

10) Mantenha o servidor atualizado com os últimos paths e Service Packs

11) Rode aplicações ASP.NET com o nível MEDIUM ou abaixo

https://iisbrasil.wordpress.com/2011/04/26/net-trust-levels-page/

12) Habilite a auditoria local de segurança

13) Utilize anti-virus

14) Habilite Custom Errors para não exibir erros remotamente

http://learn.iis.net/page.aspx/267/how-to-use-http-detailed-errors-in-iis/

15) Desabilitar modulo de autenticação anonima

appcmd set config /section:anonymousAuthentication /enabled:false

15) Microsoft Web Application Configuration Analyzer v2.0

https://iisbrasil.wordpress.com/2012/01/02/microsoft-web-application-configuration-analyzer-v2-0-waca/

16) DynamicIPRestrictions

http://www.iis.net/download/DynamicIPRestrictions

17) Bloqueando SQL Injection com URL Rewrite

https://iisbrasil.wordpress.com/2011/02/03/bloqueando-sql-injection-com-url-rewrite/

18) Boas práticas de segurança com o PHP.INI

https://iisbrasil.wordpress.com/2011/04/13/boas-praticas-de-seguranca-com-o-php-ini/

19) IIS Lockdown Tool

http://technet.microsoft.com/en-us/library/dd450372%28WS.10%29.aspx

20) Improving Web Application Security: Threats and Countermeasures

Improving Web Application Security: Threats and Countermeasures

21) ISAPI/CGI Restrictions

http://www.iis.net/ConfigReference/system.webServer/security/isapiCgiRestriction

 

Erick Albuquerque

MVP, MCTS, MCITP SA, MCITP EA

.NET Trust levels page


Introdução

Utilize o recurso .NET Trust levels page para definir elementos de confiança no web.config. O elemento de confiança permite configurar o nível de segurança para acesso ao código (CAS) que é aplicado na aplicação, conheça os níveis:

Nome do Elemento Descrição
Nivél de confiança

Exibe o nome do nível de confiança. Entre as opções disponíveis estão:

  • Full (interno) – Especifica permissões sem restrição. Concede ao aplicativo ASP.NET permissões para acessar todos os recursos sujeitos à segurança do sistema operacional. Há suporte para todas as operações com privilégio.

  • High (web_hightrust.config) – Especifica um alto nível de segurança de acesso a código, o que significa que o aplicativo não consegue fazer nenhuma das seguintes ações por padrão:

    • Chamar código não gerenciado.

    • Chamar componentes atendidos.

    • Gravar no log de eventos.

    • Acessar filas de serviço MSMQ (Message Queuing).

    • Acessar fontes de dados ODBC, OleDb ou Oracle.

  • Medium (web_mediumtrust.config) – Especifica um nível de segurança médio de acesso a código, o que significa que, além das restrições de Nível de Confiança Alto, o aplicativo ASP.NET não consegue fazer nenhuma das seguintes ações, por padrão:

    • Acessar arquivos fora do diretório de aplicativos.

    • Acessar o Registro.

    • Fazer chamadas de rede ou serviço Web. 

  • Low (web_lowtrust.config) – Especifica um nível de segurança baixo de acesso a código, o que significa que, além das restrições de Nível de Confiança Médio, o aplicativo não consegue fazer nenhuma das seguintes ações por padrão:

    • Gravar no sistema de arquivos.

    • Chamar o método Declaração.

  • Minimal (web_minimaltrust.config) – Especifica um nível de segurança mínimo de acesso a código, o que significa que o aplicativo só tem permissões de execução.


Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/
Twitter: @_ealbuquerque