Conheça as novidades do IIS 8.0


IIS 8

Após um pouco mais de um mês sem postar nenhum artigo, estamos de volta!! A ausência foi por um bom motivo, eu estava dedicando meu tempo para o projeto do Windows 8 Dicas (http://windows8dicas.com.br) , portal totalmente em Metro Style, com altas dicas de Windows 8 e Windows Server 2012.
Bom agora vamos focar neste artigo, que são as novidades do IIS 8 que veio juntamente com o lançamento do Windows Server 2012, veja abaixo em detalhes as novas features e as que foram melhoradas.

CPU Throttling

CPU Throttling permite que os clientes possam limitar a quantidade de CPU que cada site pode consurmir por CPU, isto é possível configurar por application pool, o que significa que cada site pode ter um limite diferente, se for pensar pelo lado do negócio, quem está comprando pode pagar mais por limites muito mais alto. Apenas salientando que o CPU Throttling não é uma reserva de recursos de CPU e sim uma maneira de limitar a utilização máxima de CPU.

Figura 1 – CPU Throttle

Multicore Scaling on NUMA Hardware
“Non-Uniform Memory Access (NUMA) é um desenho de memória de computador usado no multiprocessamento, onde o tempo de acesso de memória depende da localização de memória em relação a um processador. Sob NUMA, um processador pode acessar sua própria memória local mais rápido do que outros locais de memória, isto é, a memória local para outro processador ou memória compartilhada entre processadores. ”
Na versão anterior do IIS era possível alterar o número de núcleos no application pool para aumentar o desempenho, mas no entanto pode chegar a um ponto que o aumento de CPUs pode gerar degradação no desempenho, pois você pode estar usando recursos de outro recurso, com a implementação do NUMA no IIS 8 isto não ocorre, pois existe uma inteligência na distribuição dos recursos.


Figura 2 – Maximum Worker Processes

Centralized SSL Certificate Support: SSL Scalability and Manageability

Essa é uma das novidades, possibilita a centralização de certificados digitais, facilita o gerenciamento em um ambiente que possui milhares de certificados digitais, imagina o trabalho que esse povo tem para administratar certificados digitais servidor por servidor, complicado não? Para utilizar este novo recurso devemos seguir algumas regrinhas, que veremos nos próximos artigos.
Para habilitar este recurso é bem simples, é feito atráves do Server Manager, dentro das features do IIS 8, marque a caixa de Centralized SSL Certificate Support.


Figura 3 – Centralized SSL Certificate Support

IIS 8 FTP Logon Attempt Restrictions

Esta feature é muito interessante, pois é uma implementação a mais nos quesitos de segurança dentro do FTP. Funciona da seguinte forma, quando se configura um FTP a intensão é a troca de arquivos entre 2 pontos diferentes ou N pontos, e muitas vezes este serviço precisar ficar online, o que significa que muitos “hackerzinhos” irão tentar fazer ataques de brute force, primeiro irão testar o acesso na porta 21, tendo sucesso vão pegar um wordlist que tenha milhares de usuários e passwords e começaram a fazer ataques no FTP para tentar descobrir o usuário e senha. Está nova funcionalidade bloqueia tentativas de logon seguidos em um periodo X de tempo, por padrão está configurado como 4 tentativas em 30 segundos. Em próximos artigos veremos está funcionalidade no “live”.

Dynamic IP Address Restrictions

O módulo do Dynamic IP Address Restrictions já existia em outras versãoes do IIS (7 e 7.5), pórem era uma extensão do IIS, ou seja, era necessário fazer o download pelo WPI ou direto pelo site, no IIS 8 ja vem embutido, cabendo ao Administrador fazer a instalação e configurar conforme suas politicas de segurança, além de vim embutido com o IIS 8, foram criados mais alguns recursos, como: Filtragem de IP em modo proxy, ou seja, permite bloquear não somente endereços IPs, mas tambéms pelo cabeçalho “x-forwarded-for”. O Dynamic IP Address Restrictions trabalha de forma parecida com a funcionalidade acima (FTP), pórem o que ele vai bloquear são requests, em um espaço de tempo, ou seja, se eu tiver 20 requests em um periodo de 200ms, o IP será bloqueado! Nós próximos artigos veremos está funcionadade.

Bom pessoal, existe mais algumas outras funcionalidades, que abordaremos de forma prática, pois facilita o entendimento.
Obrigado pela leitura e até a próxima!

Erick Albuquerque | MVP, MCT, MCTS, MCSA, MCITP SA, MCITP EA
https://iisbrasil.wordpress.com | http://windows8dicas.com.br

IIS 8 no “Windows 8” Developer Preview


Ontem a Microsoft lançou sua nova geração de Sistema Operacional,  na 00h de terça-feira (13/09/2011) para quarta-feira (14/09/2011) liberou o download do Windows 8 Developer Preview, a primeira coisa que fiz após a instalação e configuração do Windows 8, foi a instalação do IIS 8, vejam algumas das novidades:

  • A parte de instalação do IIS não tem muita diferença do Windows 7, o que vai mudar é a forma como você chega até o Painel de Controle > Turn Windows Features on or off
  • Logo após a instalação você abre o browser utilizando a URL: http://localhost e nota a diferença na “tela” inicial

  • Pela imagem inicial sem sombra de dúvidas é notável a investida da Microsoft no HTML 5 e o PHP, aproveitando o ensejo aguardem novidades do PHP Manager.
  • A interface gráfica aparentemente é semelhante ao IIS 7.5, apenas mudando o formato da janela

  • Houve algumas mudanças em relação as configurações de Pool de Aplicativos, veja:

                                 IIS 8                                                                              IIS 7.5

 

 

 

 

 

 

 

 

 

Em um próximo artigo detalharemos cada um dos itens que sofreram alterações ou melhorias.

 

Erick Albuquerque | Microsoft MVP

 

Configurações de falha no Application Pool


Introdução

Através do Rapid-Fail Protection você configura ações que devem ser tomadas em caso de falha no Application Pool.

Configurações 

“Service Unavailable” Response Type

HttpLevelSe o Application pool parar, o HTTP.sys retornara uma mensagem de erro “HTTP 503” no browser.

TcpLevel: Se definido como TcpLevel, o HTTP.sys redefine a conexão, se caso possuir um Balanceador de Carga, o TcpLevel reconhece o tipo de erro e redireciona para um outro servidor.

Enabled

True: Se definido como “true”, o Application pool e’ desligado se houver um numero especificado de crashes (Maximum Failures) e especificado o período de falhas (Failure Interval). Por padrão o Application Pool e’ desligado se houver 5 crashes em um intervalo de 5 minutos.

False: Se definido como falso não terá nenhuma ação.

Failure Interval (minutes):  O período de intervalo e’ definido em minutos, durante o numero especificado de falhas do Worker Processes (Maximum Failures), deve ocorrer antes que o Application Pool ‘e desligado pelo Rapid Fail Protection.

Maximum Failures: Define o numero máximo de falhas antes que o Application Pool seja desligado pelo Rapid Fail Protection.

Shutdown Executable: Roda um executável quando o Application Pool ‘e desligado pelo Rapid Fail Protection, normalmente utilizado para redirecionar o trafego para outro servidor.

Shutdown Executable Parameters: Parâmetros que são executados quando o Application Pool ‘e desligado pelo Rapid Fail Protection.

—-

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

Qual PID está sendo utilizado pelo meu Application Pool?


Introdução

Descobrir qual o PID (identificação do Processo) esta sendo utilizado pelo meu Application Pool.

Prática

Para cada Application Pool está associado um serviço w3wp.exe, porem quando temos vários sites existem vários serviços w3wp.exe. Imagine um cenário o qual você precisa manipular um site pelo PID ou talvez precise ‘matar’ este PID, claro que vocês estão pensando que podem fazer isto através da GUI. Sim, eu concordo, mas pense em um cenário o qual você tem um Server Core com o IIS instalado, e se simplesmente ‘matar’ o serviço ‘w3wp.exe’, sem duvidas vai parar todo seu ambiente. Nao seria mais fácil ‘matar’ este PID que esta associado com o Application Pool X que esta com problema?

Vou demonstrar 2 formas de visualizar o PID, mas existem outras formas:

Tasklist:

Com o prompt de comando aberto digite:

tasklist /V | findstr /I “w3wp.exe” | sort

Desta forma temos informações interessante como o PID, Nome do Application Pool, Quantidade de memoria que esta sendo utilizada, e o Tempo que este processo esta ativo

APPCMD:

Com o prompt de comando aberto digite:

%systemroot%\system32\inetsrv\appcmd.exe list wp

Desta forma temos informações com o PID e o Application Pool associado

Resumo

Neste artigo aprendemos a descobrir qual o PID esta associado com o Application Pool.

Erick Albuquerque | Moderator at Technet Brasil

https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/


Criando Application Pool com JavaScript no IIS 7/7.5


Objetivo: Criar um Application Pool (Pool de Aplicativos) com JavaScript.
Aplica-se em: IIS 7 e IIS 7.5
Testado em: Windows 2008 Enterprise R2 x64, IIS 7.5 e Internet Explorer 8
Pratica: Salve o codigo abaixo em um arquivo com a extensao .htm ou html em seguida abra no seu navegador.
Codigo:

var adminManager = new ActiveXObject(‘Microsoft.ApplicationHost.WritableAdminManager’);
adminManager.CommitPath = “MACHINE/WEBROOT/APPHOST”;

var applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools",
"MACHINE/WEBROOT/APPHOST");

var applicationPoolsCollection = applicationPoolsSection.Collection;

var addElement = applicationPoolsCollection.CreateNewElement(“add”);
addElement.Properties.Item(“name”).Value = “Contoso”;
addElement.Properties.Item(“autoStart”).Value = true;
addElement.Properties.Item(“managedPipelineMode”).Value = “Integrated”;
applicationPoolsCollection.AddElement(addElement);

adminManager.CommitChanges();

[DEMO]

Resumo: Neste artigo aprendemos a criar um Application Pool utilizando o Java Script

Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.comhttp://erickalbuquerque.com.br

Alterando o Application Pool para executar em 32bits


Ola,

E’ muito comum as pessoas migrarem do Windows 2003 x86 com IIS 6 para o Windows 2008 x64 R2 com o IIS 7.5. Muitas vezes a aplicação não e’ compilada para x64, o que pode causar muita dor de cabeça, como o serviço w3wp.exe, o Pool de Aplicativos fechar inesperadamente sem nenhuma explicação ou algum log que indique isso.

O que você pode fazer e’ executar o Pool de Aplicativos (Application Pool) em 32 bits, desta forma sua aplicação ira funcionar na mesma arquitetura que era no IIS 6, no vídeo abaixo aprenderemos como fazer, veja:

 

Ate mais,

Como criar um Application Pool?


Ola,

No post anterior, conhecemos o Application Pool (link), hoje veremos quais os passos necessários para a criação.

Existem 2 formas de criar um Application Pool pela GUI.

 

1. Voce pode criar um pool manualmente e depois assimilar um site para este pool.

2. Criar um novo site, definir um Application Pool existente, ou criar um novo.

 

Abaixo as 2 maneiras de fazer, veja:

Criando Application Pool manualmente

1. Selecione “Pool de Aplicativos” ou “Application Pool”, clique com o botao direito e em seguida “Adicionar Pool de Aplicativos”.

2. Selecione o nome para o Application Pool

3. Selecione a versao do .NET Framework que sera utilizado no Application Pool

4. Selecione o Modo do Pipeline

5. OK

6. Verificando a criação (Selecione “Pool de Aplicativos” > Visualize o painel central)”:

7. Notem que em “Aplicativos” esta igual a “Zero”, isso significa que o Pool que nos criamos nao esta gerenciando nenhum site no momento.

 

Criando o Application Pool de forma “Automatica”

1. Clique com o botao direito em cima de “Sites” > Adicionar Sites

 

 

2.  Na box “Nome do site” percebam que quando começarem a digitar, automaticamente sera preenchido a box “Pool de Aplicativos”, desta forma quando clicar em “OK” , o POOL sera criado automaticamente, outra opção seria clicar em “Selecionar” e escolher um POOL existente.

3. Apos o preenchimento dos campos clique em “OK”.

4. Verifique a criação (Selecione “Pool de Aplicativos”, notem que em “Aplicativos” o Value agora esta “1”, isso significa que existe um Site associado a este POOL, que no caso foi o que criamos acima.

 

Ate a proxima.

 

Erick Albuquerque

 

Conhecendo o Application Pool IIS7/7.5


O que é o Application Pool?

Um Pool de Aplicativos define um grupo de um ou mais processos de trabalho (Worker Process), configurado com definições comuns que atendem uma ou mais aplicações atribuídas a este Pool.
Podemos ver abaixo na figura os componentes de um ‘Application Pool’

Cada Application Pool utiliza 1 ou 2 modos de integração .NET (Modo Integrado e Modo Clássico) para executar aplicações ASP.NET. O modo definido para o Application Pool define como será processado qualquer requisição que chegar a este Pool. Como mostra a figura abaixo.

Modo Integrado: Permite que o IIS processe requisições no Application Pool utilizando o “Integrated Pipeline”, isso permite que os módulos do ASP.NET participem do processamento das requisições.

Modo Clássico: Utiliza o pipeline de processamento do IIS 6, inicialmente as requisições são processadas através dos módulos do IIS7, as requisições do ASP.NET são transportadas para o que chamamos de “ISAPI Filter – aspnet_isapi.dll”, o pipeline de processamento do ASP.NET é separado do pipeline de processamento do IIS7, isto é, o fluxo de processamento é muito mais lento do que o Modo Integrado como mostra a figura abaixo.

Ou seja, o processamento de requisições do tipo ASP.Net serão executadas em outro Pipeline e com isso o tempo de execução será maior.

O módulo nativo ou integrado permite uma execução muito mais rápida e eficaz das requisições Web.

Com isso devemos sempre que possível utilizar o modo integrado do IIS7 para ter mais performance e controle em nosso ambiente Web.

Ate a proxima.

Fabio Oliveira (Dev Support Engineer) – Erick Albuquerque (IISBRASIL)