Introdução
IIS é a abreviatura de Internet Information Server. É o servidor WEB promovido principalmente pela Microsoft. A versão comumente usada pelos usuários agora é o IIS 6 incluído no Windows 2003 ou o IIS 5 anterior. O IIS está totalmente integrado ao Windows NT Server, portanto, os usuários. Capaz de usar os recursos de segurança integrados do Windows NT Server e NTFS (NT File System, sistema de arquivos NT) para construir sites de Internet e Intranet poderosos, flexíveis e seguros. O IIS suporta ISAPI, que pode ser usado para estender as funções do servidor. O IIS foi projetado para estabelecer um conjunto integrado de serviços de servidor para suportar HTTP, FTP e SMTP. Ele pode fornecer um servidor de Internet rápido, integrado e escalonável com produtos existentes.
O novo IIS7 adiciona mais designs de segurança ao Windows Server 2008, e os usuários agora podem usar os da Microsoft. NET para executar aplicativos do lado do servidor. Além disso, a criação de módulos por meio dos novos recursos do IIS7 reduzirá o número de execuções de código no sistema e minimizará a possibilidade de ser atacado por scripts de hackers. Do ponto de vista da segurança, esta é uma nova área na qual o IIS está envolvido. Muitos recursos novos nos deixam ansiosos pelo IIS7 no Windows Server 2008. Vamos dar uma olhada nos cinco principais recursos aprimorados do IIS:
IIS totalmente modular
Se você estiver familiarizado com o popular software de servidor Web Apache, saberá que sua maior vantagem está em sua personalização. Você pode configurá-lo para exibir apenas HTML estático ou pode carregar dinamicamente diferentes módulos para permitir diferentes tipos de conteúdo de serviço. . No entanto, o IIS usado atualmente não consegue implementar esse recurso muito bem, o que causou dois problemas: primeiro, devido ao impacto de muitos recursos que não são usados pelos usuários no código, o desempenho às vezes não consegue satisfazer os usuários; existem riscos de segurança causados por muitas interfaces padrão.
O novo IIS7 resolve completamente este problema. O IIS7 é dividido desde a camada central em mais de 40 módulos com funções diferentes. Recursos como validação, cache, processamento de páginas estáticas e listagens de diretórios são todos modularizados. Isto significa que o seu servidor web pode instalar os módulos funcionais correspondentes de acordo com as suas necessidades operacionais. Módulos que podem apresentar riscos de segurança e não são necessários não serão mais carregados na memória, a superfície de ataque do programa será reduzida e o desempenho também será aprimorado.
IIS7 configurado via arquivo de texto
Outro recurso importante do IIS7 é que a ferramenta de gerenciamento usa o novo sistema de configuração distribuído web.config. O IIS7 não possui mais um único armazenamento de configuração de metabase, mas usará o mesmo modelo de arquivo web.config suportado pelo ASP.NET, permitindo aos usuários armazenar e implantar configurações junto com o conteúdo dos aplicativos da web, independentemente de quantos sites existam. pode Pode ser configurado diretamente através do arquivo web.config, portanto, quando a empresa precisar conectar um grande número de sites, pode demorar pouco, pois o administrador só precisa copiar o arquivo web.config de qualquer site que foi preparado antes e, em seguida, defina as configurações. Ele é transferido para o servidor remoto junto com o aplicativo da web. Não há necessidade de escrever scripts de gerenciamento para personalizar a configuração.
Ao mesmo tempo, a ferramenta de gerenciamento suporta “administração delegada”. Os usuários podem delegar alguns arquivos web.config identificáveis a outros funcionários da empresa. É claro que, neste caso, o que é exibido na ferramenta de gerenciamento são as configurações do cliente. próprio site, em vez das configurações de toda a máquina, para que o administrador do IIS não precise se preocupar com cada pequena alteração no site. O controle de versão é igualmente simples. Os usuários só precisam manter diferentes versões de arquivos de texto na organização. e use-os quando necessário. Apenas restaure-os quando necessário.
Os produtos da Microsoft sempre se orgulharam de suas interfaces amigáveis. No entanto, como um servidor IIS7 projetado para profissionais de TI, isso não parece óbvio. Olhando do IIS 4 para o IIS 6, o console de gerenciamento fornecido aos usuários não é muito fácil. para operar é conveniente e, devido a limitações técnicas e outros motivos, é difícil para os usuários realizarem todo o trabalho de gerenciamento por meio de uma interface unificada.
Ferramenta de gerenciamento de modo gráfico MMC
[Página cortada]No novo IIS 7, esse problema foi significativamente melhorado. Os usuários agora podem usar ferramentas de gerenciamento para criar e gerenciar qualquer número de sites em máquinas clientes Windows. Não está mais limitado a um único site. Ao mesmo tempo, em comparação com as versões anteriores do IIS, a interface de gerenciamento do IIS7 é mais amigável e poderosa. Além disso, as ferramentas de gerenciamento do IIS7 são escritas em .NET e Windows Forms. pode ser expandido. Isso significa que os usuários podem adicionar seus próprios módulos de UI à ferramenta de gerenciamento para fornecer suporte de gerenciamento para seus próprios módulos de tempo de execução HTTP e definições de configuração.
Aprimoramentos de segurança do IIS 7
As questões de segurança são sempre a principal prioridade quando a Microsoft é atacada. Na verdade, não é que a Microsoft seja indiferente à segurança. É porque a Microsoft é um navio de guerra tão grande que é inevitável que todos os segredos sejam perdidos. Felizmente, a Microsoft responde ativamente. a cada opinião de segurança com sugestões. As questões de segurança do IIS concentram-se principalmente no gerenciamento eficaz e no gerenciamento de permissões de programas .NET. O IIS 7 fez melhorias correspondentes em resposta aos problemas de segurança encontrados pelo servidor IIS.
Na nova versão, as configurações de gerenciamento do IIS e do ASP.NET são integradas em uma única ferramenta de gerenciamento. Isso permite que os usuários visualizem e definam regras de autenticação e autorização em um só lugar, em vez de terem que passar por diversas caixas de diálogo diferentes. Isso proporciona aos gerentes uma interface de usuário mais consistente e clara, bem como uma experiência de gerenciamento unificada na plataforma web.
No IIS7, os aplicativos .NET são executados diretamente por meio do código IIS em vez de serem enviados para a extensão da API do servidor da Internet, o que reduz possíveis riscos e melhora o desempenho. Ao mesmo tempo, a ferramenta de gerenciamento possui suporte integrado para membros do ASP.NET 3.0 e. O sistema de gerenciamento de funções fornece suporte para a interface de gerenciamento. Isso significa que os usuários podem criar e gerenciar funções e usuários na ferramenta de gerenciamento, bem como atribuir funções aos usuários. A seguir está o diagrama completo dos componentes do IIS 7.
Diagrama completo de distribuição de componentes do IIS 7
Ambiente de gerenciamento do Windows PowerShell para IIS 7
Acredito que amigos que prestam atenção à programação de scripts ou estão familiarizados com o Exchange Server 2007 estarão familiarizados com o Windows Windows PowerShell é um shell de linha de comando do Windows especialmente projetado para administradores de sistema. Incluído neste shell está um prompt interativo e um ambiente de script que pode ser usado de forma independente ou em combinação. Para profissionais de TI que amam o gerenciamento de scripts, o Windows PowerShell certamente os fará adorar. Para servidores IIS, o Windows PowerShell também pode fornecer funções de gerenciamento abrangentes.
[Página cortada]No entanto, embora o PowerShell também possa gerenciar o IIS6 em execução no Windows Server 2003, o IIS7 é gerenciado especificamente por meio da linha de comando do PowerShell. Inclui a nova função APPCMD. APPCMD cria e configura sites por meio de uma interface de linha de comando padrão. Os cenários de aplicação dessas ferramentas de linha de comando também são muito comuns. grande vantagem.
O IS 7.0 está incluído nos clientes Windows Vista, e a versão inicial do sistema operacional também vem com o IIS 7.0 (ao contrário do IIS 5.1, que está disponível apenas no XP Professional). A versão IIS 7.0 do servidor será lançada com o servidor Windows Server 2008 ainda este ano e adicionará vários recursos de implantação adicionais, incluindo suporte de host mais rico, suporte a FTP seguro e suporte integrado à implantação de web farm.
O suporte a Web farm seria especialmente interessante, pois permitiria implantar seu aplicativo Web em um compartilhamento de arquivos que contém toda a codificação, configuração, conteúdo e chaves necessárias para executar um servidor. Você pode então adicionar qualquer número de servidores web sem estado e sem configuração a um web farm, simplesmente apontando-os para esse compartilhamento de arquivos para carregar dinamicamente suas definições de configuração (incluindo ligações, diretórios virtuais, configurações de pool de aplicativos, etc.) e conteúdo do aplicativo. Isso torna muito fácil escalar um aplicativo em várias máquinas, eliminando a necessidade de métodos de replicação para configuração e implantação de aplicativos (basta copiar os arquivos para um compartilhamento de arquivos e todas as máquinas no web farm carregarão as alterações imediatamente).
A versão Beta 3 do Windows Server 2008 oferece suporte ao licenciamento de entrada em operação, portanto você poderá aproveitar esse recurso em breve. Já estamos executando o Windows Server 2008 em um cluster IIS 7.0, então você não estará sozinho!
Diagrama de gerenciamento do Windows PowerShell
Migração IIS7.0
A migração de sites no IIS7.0 é mais conveniente do que no IIS6.0 porque a maior vantagem do servidor Web Apache é seu gerenciamento customizado. O IIS7.0 agora usa o conceito Apache, então copie o arquivo de configuração do site para outro IIS7.0 Ele pode. ser instalado na máquina host. Para obter detalhes, aprenda sobre "IIS7 configurado por meio de arquivos de texto" e "Ambiente de gerenciamento do Windows PowerShell do IIS 7" acima.
[Página cortada]Integração de ASP.NET e IIS 7.0
Nas versões anteriores do IIS, os desenvolvedores precisavam escrever extensões/filtros ISAPI para estender a funcionalidade do servidor. Além de ser difícil de escrever, o ISAPI também é muito limitado na forma como se conecta ao servidor e permite que os desenvolvedores o personalizem. Por exemplo, você não pode implementar código de reescrita de URL em uma extensão ISAPI (nota: o ASP.NET é implementado como uma extensão ISAPI). Se você escrever código de longa execução como um filtro ISAPI, o resultado será que você amarrará o thread de E/S do servidor web (é por isso que não permitimos que o código gerenciado seja executado durante a fase de execução do filtro da solicitação).
Uma das principais mudanças em nível de arquitetura que fizemos no mecanismo de processamento principal do IIS no IIS7 foi permitir uma escalabilidade extremamente rica por meio de uma nova arquitetura de pipeline de solicitação modular. Agora você pode escrever código em qualquer lugar do ciclo de vida de qualquer solicitação HTTP registrando um Módulo de Extensibilidade HTTP no servidor web. Esses módulos de extensibilidade podem ser escritos usando código C++ nativo ou código gerenciado .NET (você pode usar a interface ASP.NET System.Web.IHttpModule existente para fazer isso).
Todas as funcionalidades "integradas" do IIS7 (autenticação, autorização, serviço de arquivo estático, suporte à listagem de diretórios, ASP clássico, registro em log, etc.) agora são implementadas usando esta API de pipeline modular pública. Isso significa que você pode remover qualquer um desses recursos "integrados" do IIS7 e substituí-los/estendê-los por sua própria implementação.
[Página cortada]O próprio ASP.NET no IIS 7.0 também mudou de uma implementação ISAPI para um módulo conectado diretamente ao pipeline do IIS7:
Gráfico de comparação IIS6.0 e IIS7.0
Isso traz muitos benefícios:
1) Agora você pode usar autenticação de formulários ASP.NET, membros/funções e quaisquer outros recursos para todas as solicitações ao servidor (por exemplo, arquivos .htm, .php, .jsp).
2) Agora você pode reescrever facilmente o URL de qualquer solicitação da web ou modificar a solicitação de todas as maneiras interessantes.
3) Você pode substituir ou estender qualquer recurso existente do IIS usando VB ou C# (por exemplo, você pode remover o módulo de listagem de diretórios integrado e conectar seu próprio módulo).
Isso realmente abre oportunidades infinitas de extensibilidade para desenvolvedores .NET.
Seis novos recursos do IIS 7.0:
1) O núcleo de rede modular permite aos usuários adicionar e excluir funções específicas. Se desejar usar o componente de estatísticas de serviço, serão necessários apenas alguns módulos (excluindo ISAPI).
2) Um pipeline HTTP padrão unificado, que corresponde a aplicativos de gerenciamento local. Os usuários podem usar um sistema de autenticação baseado em formulários para páginas da web ASP clássicas.
3) Os usuários podem criar seus próprios IHttpModule e IHttpHandlers e inseri-los em um pipeline unificado.
4) Novo sistema de configuração XML distribuído, que aproveita as vantagens do sistema de configuração ASP.NET.
5) Mecanismo aprimorado de diagnóstico e resolução de problemas, incluindo novo status de tempo de execução e funções de rastreamento.
6) Nova interface de usuário de administrador extensível e orientada a tarefas.
Em suma, o IIS 7 fornecerá aos administradores e entusiastas da Web ferramentas de gerenciamento mais ricas e fáceis de usar. No novo IIS7, os aspectos de gerenciamento e segurança foram completamente redesenhados. Do ponto de vista do grupo de usuários, usando o IIS7, os usuários individuais podem construir seus próprios sites de forma mais rápida e fácil, enquanto os usuários corporativos podem manter e gerenciar seu próprio ambiente WEB. de forma mais abrangente e segura. À medida que o Windows Server 2008 se aproxima, acredito que haverá cada vez mais introduções sobre o gerenciamento do IIS7. Vamos esperar e ver se a nova versão nos trouxe mudanças substanciais ou se é apenas um aprimoramento das funções do servidor IIS.
[Página cortada]No novo IIS 7, esse problema foi significativamente melhorado. Os usuários agora podem usar ferramentas de gerenciamento para criar e gerenciar qualquer número de sites em máquinas clientes Windows. Não está mais limitado a um único site. Ao mesmo tempo, em comparação com as versões anteriores do IIS, a interface de gerenciamento do IIS7 é mais amigável e poderosa. Além disso, as ferramentas de gerenciamento do IIS7 são escritas em .NET e Windows Forms. pode ser expandido. Isso significa que os usuários podem adicionar seus próprios módulos de UI à ferramenta de gerenciamento para fornecer suporte de gerenciamento para seus próprios módulos de tempo de execução HTTP e definições de configuração.
Aprimoramentos de segurança do IIS 7
As questões de segurança são sempre a principal prioridade quando a Microsoft é atacada. Na verdade, não é que a Microsoft seja indiferente à segurança. É porque a Microsoft é um navio de guerra tão grande que é inevitável que todos os segredos sejam perdidos. Felizmente, a Microsoft responde ativamente. a cada opinião de segurança com sugestões. As questões de segurança do IIS concentram-se principalmente no gerenciamento eficaz e no gerenciamento de permissões de programas .NET. O IIS 7 fez melhorias correspondentes em resposta aos problemas de segurança encontrados pelo servidor IIS.
Na nova versão, as configurações de gerenciamento do IIS e do ASP.NET são integradas em uma única ferramenta de gerenciamento. Isso permite que os usuários visualizem e definam regras de autenticação e autorização em um só lugar, em vez de terem que passar por diversas caixas de diálogo diferentes. Isso proporciona aos gerentes uma interface de usuário mais consistente e clara, bem como uma experiência de gerenciamento unificada na plataforma web.
No IIS7, os aplicativos .NET são executados diretamente por meio do código IIS em vez de serem enviados para a extensão da API do servidor da Internet, o que reduz possíveis riscos e melhora o desempenho. Ao mesmo tempo, a ferramenta de gerenciamento possui suporte integrado para membros do ASP.NET 3.0 e. O sistema de gerenciamento de funções fornece suporte para a interface de gerenciamento. Isso significa que os usuários podem criar e gerenciar funções e usuários na ferramenta de gerenciamento, bem como atribuir funções aos usuários. A seguir está o diagrama completo dos componentes do IIS 7.
Diagrama completo de distribuição de componentes do IIS 7
Ambiente de gerenciamento do Windows PowerShell para IIS 7
Acredito que amigos que prestam atenção à programação de scripts ou estão familiarizados com o Exchange Server 2007 estarão familiarizados com o Windows Windows PowerShell é um shell de linha de comando do Windows especialmente projetado para administradores de sistema. Incluído neste shell está um prompt interativo e um ambiente de script que pode ser usado de forma independente ou em combinação. Para profissionais de TI que amam o gerenciamento de scripts, o Windows PowerShell certamente os fará adorar. Para servidores IIS, o Windows PowerShell também pode fornecer funções de gerenciamento abrangentes.