Melhorias no Diagnóstico de Problemas com o ISA Server 2004 SP3

Por: Yuri Diógenes

1. Introdução

O Service Pack 3 do ISA Server 2004 traz uma série de melhorias voltadas principalmente para diagnóstico de problemas. As melhorias vão desde mudanças na interface gráfica até à adição de novas características, que permitem uma melhor análise e entendimento do que de fato está ocorrendo no servidor ISA. Este artigo tem como intuito mostrar estas características e como tirar proveito das mesmas.

2. Visão Geral das Novas Características

Antes de iniciar a explanação acerca das melhorias de diagnóstico, segue um resumo dos principais itens adicionados pelo SP3:

· Adição de um componente na interface de gerenciamento do ISA Server chamado de “Troubleshooting node”

· Melhoria na visualização dos logs

· Adição de novos filtros no log

· Opção de habilitar o log de diagnóstico para melhor depuração de problemas (mais de 200 novos logs)

· Integração com o ISA Server BPA (Best Practices Analyzer Tool)

· Suporte a publicação do Microsoft Exchange Server 2007 com ISA Server 2004

Vejamos então como tirar proveito destas novas características com base em um cenário de resolução de problemas.

3. Cenário

Para este exemplo iremos usar um cenário onde o servidor ISA Server 2004 está publicando o OWA (Outlook Web Access) de um servidor Exchange 2003 que está localizado na rede interna. Alguns usuários reclamam que recebem o erro abaixo quando tentam acessar a página do OWA via Internet:

 

 

Figura 1 – Erro que o usuário recebe ao tentar acessar o OWA via Internet.

O problema acontece apenas com alguns usuários, porém para o teste será realizado com o usuário Bob. Segundo Bob, o problema só acontece quando ele tenta acessar o OWA via Internet. Quando Bob tenta fazer o mesmo acesso mas através da VPN ou na rede local o problema não ocorre.

Vejamos então quais as novas características introduzidas no SP3 do ISA Server 2004 que permitem um melhor entendimento e diagnóstico do problema.

4. Diagnosticando

Para iniciar o diagnóstico do problema será necessário entender o tipo de tráfego. Neste caso a publicação do OWA é feita através do protocolo HTTPS. Para verificar qual o tipo de problema do ponto de vista do servidor ISA é possível usar a nova interface de Logging.

Ao clicar na guia Logging (no nó Monitoring) já é possível verificar que o painel foi divido em duas partes. A parte superior continua tendo a mesma finalidade, ou seja, monitorar em tempo real o que está ocorreno baseado no tipo de filtro que foi escolhido. Na parte inferior fica disponível o detalhamento do log selecionado.

Para ter uma ideia exata do quão importante é esta pequena mudança na interface é necessário capturar o acesso no momento que ele está ocorrendo. Foi criado então um filtro para todos acessos do tipo HTTPS e requisitado que o usuário Bob reproduzisse o problema. No momento que ele presenciou o erro a seguinte entrada apareceu no log do servidor ISA:

Figura 2 – Detalhamento do erro no painel inferior de Logging.

Neste painel temos o alerta visual (acesso rejeitado fica como padrão em vermelho), o detalhamento da origem e do destino da requisição, a regra que fez o bloqueio do acesso, a URL que foi requisitada, o protocolo de acesso e o nome do usuário. Com base neste detalhamento já é possível entender melhor a origem do problema. Note que a regra que barrou o acesso neste caso foi a regra padrão. Podemos partir do pressuposto que durante o acesso que Bob fez, o ISA varreu as regras de acesso e nenhuma (inclusive a do OWA) teve suas condições satisfeitas para permitir o acesso. Com isso a regra padrão foi usada, regra que por sua vez bloqueia o acesso.

4.1. Maiores Detalhes

Apesar do detalhamento mostrar esta informação e com isso já ser possível levantar algumas hipóteses, maiores detalhes podem ser obtidos acerca do que está fazendo com que o acesso seja negado para este usuário.

Para isso o SP3 do ISA Server 2004 introduz o conceito de “Diagnostic Logging”. Para acessar esta nova funcionalidade é necessário clicar no nó “Troubleshooting” e no painel da direita clicar na opção “Configure Diagnostic Logging”. As opções são as mostradas abaixo:

Figura 3 – O “Diagnostic Logging” permite ver os eventos relacionados a políticas de Firewall e Autenticação.

Nesta janela é necessário clicar no botão “Start Logging” para iniciar a captura dos eventos, porém é de suma importância saber que este tipo de diagnóstico causa um consumo intenso de recursos e pode causar uma queda de performance. Devido a isso é recomendado desabilitar esta funcionalidade assim que os dados forem capturados. Ao clicar no botão “Close” o ISA vai gerar um alertar.

Mais uma vez o usuário Bob reproduziu o problema e o erro no logging de monitoramento foi o mesmo. Ao retornar na janela de Diagnostic Logging a primeira ação a fazer deve ser desativar esta funcionalidade para não comprometer a performance. Para visualizar estes logs detalhados basta clicar no botão “View Log Data”, aparecerá então o Visualizador de Eventos que conterá um novo nó somente para o eventos gerados pelo ISA quando o logging está ativo.

Veja na sequência abaixo que é possível entender passo a passo o processamento da requisição e a leitura das regras. Note que neste primeiro evento o servidor ISA verifica que o tipo de acesso precisa ser autenticado.

Event Type: Information

Event Source: ISA Server Diagnostics

Event Category: None

Event ID: 30109

Date: 8/4/2007

Time: 8:24:14 PM

User: N/A

Computer: SRVISA

Description:

Date and time: 08/04/2007-20:24:13.990

Packet context: 0b2078c3 0b2078c4

Log source: Web Proxy

The Web publishing rule <NULL> requires client authentication.

O acesso é rejeitado e o número do erro é o mesmo que aparece no log de monitoramento, no painel inferior.

Event Type: Information

Event Source: ISA Server Diagnostics

Event Category: None

Event ID: 30149

Date: 8/4/2007

Time: 8:24:14 PM

User: N/A

Computer: SRVISA

Description:

Date and time: 08/04/2007-20:24:13.990

Packet context: 0b2078c3 0b2078c4

Log source: Web Proxy

ISA Server denied the request with the following error: 0x00002FB1.

Em seguida temos a passagem de credencial do usuário, neste caso o usuário Bob.

Event Type: Information

Event Source: ISA Server Diagnostics

Event Category: None

Event ID: 30097

Date: 8/4/2007

Time: 8:24:14 PM

User: N/A

Computer: SRVISA

Description:

Date and time: 08/04/2007-20:24:13.990

Packet context: 0b2078c3 0b2078c4

Log source: Web Proxy

User name: nwtraders\bob

O usuário foi autenticado com sucesso.

Event Type: Information

Event Source: ISA Server Diagnostics

Event Category: None

Event ID: 30144

Date: 8/4/2007

Time: 8:24:15 PM

User: N/A

Computer: SRVISA

Description:

Date and time: 08/04/2007-20:24:13.990

Packet context: 0b2078c3 0b2078c4

Log source: Web Proxy

The connected client nwtraders\bob was authenticated.

Com base nisso podemos concluir que a regra do OWA está pedindo autenticação de usuário. Existem duas hipóteses neste caso: o acesso ao OWA está restrito a alguns usuários apenas e não está aberto para todos (anonymous) ou existe uma excessão que bloqueia o acesso de determinados usuários. Para entender melhor é necessário revisar a regra de publicação do OWA.

Ao revisar a regra foi verificado que havia uma excessão que contia um grupo de usuários que não deveriam ter acesso externo ao OWA. Ao revisar os membros deste grupo foi possível ver que o usuário Bob estava contido neste grupo:

Figura 4 – Excessão contendo um grupo de usuário que não devem ter acesso ao OWA a partir da Internet.

4.2. Outra Forma de Visualizar os Logs

Uma outra forma de visualizar os logs é através do “Microsoft ISA Server Diagnostic Logging Viewer”. Esta ferramenta permite converter os logs gerados durante o diagnóstico em uma página HTML para melhor visualização. Para usar esta ferramenta é necessário que você tenha o utilitário Log Parser 2.2 instalado no servidor ISA.

Após instalar estas ferramentas (lembre-se de extrair o utilitário DLVIEWER na mesma pasta do Log Parser). É necessário entrar no prompt de comando e executar o comando abaixo (como exemplo):

C:\Program Files\Log Parser 2.2>dlviewer.cmd -ogrid -odir Debug

Generating query results. Please wait...

Statistics:

-----------

Elements processed: 731

Elements output: 731

Execution time: 0.08 seconds

Generating contexts information results. Please wait...

Statistics:

-----------

Elements processed: 731

Elements output: 731

Execution time: 0.19 seconds

Done. Open Debug\index.html to view the results.

OBS: Para maiores informações sobre os parâmetros deste comando execute o utilitário dlviewer.cmd e as opções disponíveis seram mostradas.

O resultado deste comando é uma página chamada index.html na pasta Debug com o mesmo formado mostrado abaixo:

Figura 5 – Visuação do log em formato HTML.

5. Integração com ISA BPA

Uma outra funcionalidade disponível após a instalação do SP3 do ISA Server 2004 é a integração com o ISA BPA (Best Practices Analyzer). Ao clicar no nó “Troubleshooting”, aparecerá no painel da direita a opção “Use the ISA Best Practices Analyzer”.

Tratando-se de novidades, a nova versão do ISA BPA, lançada em Julho de 2007 traz também uma série de inovações. As principais mudanças aconteceram no utilitário ISA Data Packager. Mas estas novas funcionalidades serão tema de um outro artigo.

Continue acessando nosso blog para conferir.

Até a próxima.