IIS (Internet Information Services) 7.0: novas funcionalidades, mudanças em features existentes, diferenças com IIS 6.0, FAQ...

Neste artigo, são apresentadas maiores informações sobre o IIS 7.0 (Windows Server 2008), abordando os seguintes tópicos:

 

  • Novas funcionalidades
  • Mudanças em funcionalidades existentes
  • Diferenças entre IIS 6.0 e 7.0
  • FAQ (Frequently Asked Questions)

 

Novas funcionalidades

Segurança

· As contas IUSR_MachineName e IIS_WPG foram substituídas pelas contas built-in “IUSR” e “IIS_IUSRS”. Com isso, elas não mais precisam de senha.

· Os modelos de autenticação IIS e ASP.NET foram unificados.

· O IIS agora suporta forms authentication, ou seja, identidades Windows e não-Windows podem ser autenticadas.

· Agora a instalação é modular, sendo possível instalar somente os componentes necessários. Com isso, a área de superfície de ataque é menor, e há menor necessidade de patches e updates.

Confiabilidade

· O isolamento por application pool é automático e feito na criação do próprio site, assim como o arquivo “AppPool.config”, específico para cada application pool/site.

Performance

· A funcionalidade de Output Caching do IIS7 é feita para conteúdo semi-dinâmico. É possível fazer cache de respostas estáticas para requisições dinâmicas. Com isso, podemos atingir grandes ganhos na escalabilidade.

· Com a instalação modular, temos também ganhos no desempenho, por usarmos menos memória.

Administração

· Nova ferramenta de administração, o IIS Manager.

· A administração remota deve ser explicitamente habilitada, pois não é mais pelo MMC, aumentando também a Segurança (feito via HTTPS).

Mudanças em funcionalidades existentes

· Backup do metabase

O II7 não usa mais a metabase (mas é compatível com a mesma, conforme link abaixo*), e sim um novo sistema de configuração que usa arquivos “.config”.

O arquivo de configuração no nível raiz chama-se “ApplicationHost.config” (diretório “%windir%\System32\InetSrv”), que mantém a lista de sites, aplicações, diretórios virtuais, configurações gerais, log, cache, etc.

 

Mais informações:

The new Configuration System in IIS 7

(*) Metabase Compatibility with IIS7  

· Iniciar o serviço ASP pelo IIS Manager

É possível habilitar/desabilitar as opções na seção “ISAPI and CGI Restrictions” (IIS Manager > Servidor > IIS).

· Ferramentas de diagnóstico e troubleshooting

O próprio IIS7, por padrão, provê algumas ferramentas para isso. Por exemplo:

o “Failed Request Tracing”: configura o IIS para "observar" certas condições de erro, e prover informações detalhadas de trace, ou seja, o que aconteceu desde quando a requisição foi feita até atingir o tempo limite.

o “Runtime Status & Control API” (RSCA)”: dá informações detalhadas de runtime, incluindo requisições sendo executadas.

Mais informações:

Making Failed Request Tracing More Approachable   

Diagnostics & Troubleshooting

 

 

Diferenças entre IIS 6.0 e IIS 7.0

   

FAQ (Frequently Asked Questions)

· É possível editar as permissões para um administrative role (“Web Site Administrator” ou “Web Application Administrator”)?

As permissões só podem ser alteradas por funcionalidade (por exemplo, a configuração de “Default Document”, ou o modo de autenticação do site, etc), através da opção “Feature Delegation”, e não especificamente para um usuário.

Mais informações:

Delegate Web Site and Web Application Management

Configuring Remote Administration and Feature Delegation in IIS 7.0

· É possível permitir que um usuário não-administrador inicie/pare o serviço do IIS?

Mesmo com os administrative roles, para iniciar/parar o serviço do IIS, é necessário ter direitos administrativos no sistema operacional, pois o gerenciamento do serviço não é específico para o IIS.

· É possível fazer administração remota do IIS pelo navegador?

Não há a administração do IIS por Web (navegador), e sim somente pelo próprio IIS Manager. Pois ele, quando habilitado para administração remota, faz uso do Web Management Service (WMSVC) que, por sua vez, usa HTTPS.

· É possível rastrear, por exemplo, quando um usuário deletar um site?

Sim, seguindo o procedimento abaixo.

a. Habilitar a auditoria no arquivo principal de configuração, o “ApplicationHost.config” > Properties > Security > Advanced > Auditing.

b. Configurar uma funcionalidade chamada “Configuration History”, que monitora as alterações no “ApplicationHost.config” e periodicamente cria snapshots para serem recuperados posteriormente, se necessário.

Mais informações:

Using IIS7 Configuration History

 

· É possível utilizar o arquivo de configuração compartilhado na rede e, em caso de falha, usar uma versão local?

É possível montar o cenário no qual dois ou mais servidores usam o arquivo “.config” num compartilhamento de rede, e no caso de falha os servidores usariam uma versão local (em cache). Quando a comunicação for reestabelecida, eles voltam a usar o “.config” da rede.

Para isso, seria necessário habilitar uma funcionalidade chamada client-side caching (mais conhecida como “offline files”).

 

Maiores informações sobre o IIS 7.0:

IIS 7.0 Beta: Operations Guide
IIS 7.0 on IIS.net