Sei sulla pagina 1di 56

Servio de FTP Parte 1

Objetivos

Eu no gostaria de escrever mais um artigo sobre simplesmente como criar um servidor FTP com IIS. Em minhas pesquisas pela Internet tenho visto isso aos baldes e, sinceramente, seria muito difcil escrever algo original e melhor que meus antecessores.

Assim, mesmo correndo o risco de ainda no ser to original, resolvi escrever sobre o assunto da maneira mais completa possvel, do passo-a-passo de como instalar e configurar um servidor FTP (File Transfer Protocol) at a funcionalidade, explorando os problemas de gerenciamento e segurana na publicao de servidor na web. Vamos estudar os tipos de configuraes possveis do servidor e suas implementaes de segurana em cada um deles.

Introduo

Histria

Para no perder o hbito, e como um pouco de histria no faz mal a ningum...

A primeira RFC (Request For Comments), a descrever o FTP foi a RFC 114, de 1971. Isso criou uma afobao de interesse entre os cientistas, o que levou um grande nmeros de RFCs que foram escritas no perodo de 1971 a 1975. Todo mundo queria entender e escrever sobre FTP.

Inicialmente, o FTP rodava em servidores dentro do MIT (Massachusetts Institute of Technology). Posteriormente, ele foi adaptado para a ARPANET. Finalmente em 1980, Jon Postel escreveu a RFC 765, o que pareceu acalmar as discusses sobre o assunto. A RFC 765 definiu o FTP rodando sobre o topo do TCP.

O Protocolo FTP

Segundo a Wikipdia, FTP significa File Transfer Protocol (Protocolo de Transferncia de Arquivos), e uma forma bastante rpida e verstil de transferir arquivos sendo uma das mais usadas na internet.

O FTP um dos meios mais comum de se copiar arquivos de um lugar para outro na Internet. bastante antigo, inclusive existe suporte at para os sistemas Mainframe.

Por esse fato, desnecessrio dizer que um protocolo bastante simples e no foi projetado pra atender os requisitos de segurana que se fazem necessrios nos dias atuais. Por isso mesmo, precisamos entender o seu funcionamento (pelo menos o bsico), pra ajustarmos nosso ambiente de rede (corporativo ou no), pra melhor configurar a disponibilidade e a segurana do processo.

O Protocolo FTP faz parte da sute de protocolos TCP/IP e trabalha na camada de Aplicao de sua Arquitetura. Diferentemente do http, por exemplo, e de outros protocolos usados na Internet, o FTP usa no mnimo duas conexes durante uma sesso: uma conexo half-duplex para controle e uma conexo full-duplex para transferncia de dados. Para isso, utiliza as portas 20 e 21 para se comunicar e transmitir dados. A RFC 959 atualmente o documento oficial que dita seus padres.

A porta 21 utilizada para estabelecer e manter a comunicao entre o cliente e o servidor. Essa sesso tambm conhecida como Control Channel. ela quem verifica se a conexo com o servidor ainda existe.

A porta 20 utilizada para a transferncia dos dados (arquivos), propriamente dita. conhecida tambm como Data Channel. nela que feito o controle do fluxo e integridade dos dados.

Para utilizar o FTP, a estao cliente realiza uma conexo com o servidor FTP na porta 21. Aps a conexo estabelecida, para cada arquivo transferido estabelece-se uma nova conexo, chamada de conexo de dados. Por padro, a porta TCP 21 usada no servidor para controlar a conexo, mas a conexo de dados determinada pelo mtodo que o cliente usa para se conectar ao servidor. Assim, existem 2 tipos de conexes:

Conexes FTP de modo ativo so algumas vezes chamadas de conexes "gerenciadas pelo cliente" porque o cliente envia um comando PORT ao servidor na conexo do controle. O comando solicita ao servidor que estabelea uma conexo de dados da porta TCP 20 no servidor at o cliente com a porta TCP especificada pelo comando PORT.

Conexes FTP de modo passivo so s vezes chamadas de conexes "gerenciadas pelo servidor" porque, depois que o cliente emite o comando PASV, o servidor responde com uma de suas portas temporrias usadas como a porta do servidor na conexo de dados. Depois que um comando de conexo de dados emitido pelo cliente, o servidor se conecta ao cliente usando a porta imediatamente acima da porta do cliente na conexo do controle.

Figura - 1 - FTP Ativo e Passivo

Uma sesso FTP geralmente envolve os elementos ilustrados na figura abaixo.

Figura - 2 - Modelo de Conexo FTP

1. Interface com o usurio Aplicativo responsvel pela comunicao entre o usurio e o interpretador do protocolo;

2. Interpretador de protocolo (Client/Server PI) atravs da conexo de controle (Porta 21), conversa com o interpretador de protocolo do lado servidor (Server PI) e juntos controlam a transferncia. Tambm controla o processo de transferncia de dados do cliente (Client DTP).

3. Processo de transferncia de dados (Client/Server DTP) responsvel pela comunicao com o Server DTP atravs da conexo de dados (Porta 20). a parte do cliente que realmente realiza transferncia de dados. Controla tambm o sistema de arquivos local (4).

Transferncia de dados e firewalls

O problema que ocorre com mais freqncia no FTP pela Internet envolve a transferncia de dados por servidor proxy, firewall ou dispositivo de converso de endereos de rede (NAT). Em muitos casos, esses dispositivos de segurana de rede

permitem que a conexo de controle seja estabelecida na porta TCP 21 (ou seja, o usurio faz o logon com xito no servidor FTP); porm, quando o usurio tenta realizar uma transferncia de dados do tipo DIR, LS, GET ou PUT, o cliente FTP aparentemente para de responder porque o dispositivo de segurana da rede bloqueia a porta de conexo de dados especificada pelo cliente. Se o dispositivo de segurana da rede der suporte a logs, voc poder verificar o bloqueio da porta consultando os logs de negao/rejeio do dispositivo de segurana.

O firewall com filtro de pacotes com base no estado da conexo consegue analisar todo o trfego da conexo FTP, identificando qual o tipo de transferncia que ser utilizada (ativa ou passiva) e quais as portas que sero utilizadas para estabelecer a conexo. Sendo assim, todas as vezes que o firewall identifica que uma transferncia de arquivos se realizar, acrescentado uma entrada na tabela de estados, permitindo que a conexo seja estabelecida. As informaes ficam armazenadas na tabela somente enquanto a transferncia do arquivo realizada.

Com FTP ativo, quando um usurio se conecta ao servidor FTP remoto e solicita informaes ou um arquivo, o servidor FTP abre uma nova conexo com o cliente para transferir os dados. Esta a chamada conexo de dados. Para iniciar, o cliente FTP escolhe uma porta aleatria para receber a conexo de dados. O cliente envia o nmero da porta escolhida para o servidor FTP e fica esperando uma conexo nessa porta.

Ento o servidor FTP inicia a conexo com o endereo do cliente na porta escolhida e transfere os dados. Isto se torna um problema para usurios atrs de um gateway NAT tentando se conectar a servidores FTP.

Por causa da forma como NAT funciona, o servidor FTP inicializa a conexo de dados se conectando ao endereo externo do gateway NAT na porta escolhida. A mquina fazendo NAT receber o pedido, mas como no possui mapeamento para o pacote na tabela de estado, descartar o pacote sem entrega-lo ao cliente.

No modo FTP passivo, o cliente pede ao servidor que escolha uma porta aleatria para ouvir esperando a conexo de dados. O servidor informa ao cliente a porta escolhida e o cliente se conecta na porta para transferir os dados. Infelizmente, isto nem sempre possvel ou desejvel, por causa da possibilidade do firewall em frente ao servidor FTP bloquear a conexo de dados em portas aleatrias.

Em resumo, h dois pontos a considerar. O primeiro o modo de conexo, que pode ser passivo ou ativo; o segundo o modo de transferncia de dados, que pode ser de fluxo, de bloco ou compactado.

O servio FTP do IIS d suporte s conexes de modo ativo e passivo, dependendo do mtodo especificado pelo cliente. O IIS FTP no permite desabilitar os modos de conexo ativo ou passivo.

O modo de transferncia de dados padro do FTP do IIS de fluxo. No momento, o IIS no d suporte ao modo de transferncia de dados de bloco ou compactado.

A tabela a seguir contm clientes FTP fornecidos pela Microsoft e o modo de conexo a que cada cliente d suporte.

Tabela 1 - Clientes FTP Microsoft

O FTP um auxiliar indispensvel para webdesigners, DBAs, e outros profissionais que necessitam constantemente publicar, criar ou sincronizar dados, planilhas, pagnas html, etc.

Mais uma vez, vale a pena lembrar-se de que entender os processos bsicos de conexo e transmisso de dados via FTP importante para a correta configurao de seu ambiente de rede, tanto no que se diz respeito ao seu bom funcionamento como aos aspectos de segurana dos dados.

Segurana

Porque a preocupao com segurana?

Bom, em princpio, vamos deixar a parte mais fantasiosa de lado que so ataques como descritos em filmes clssicos como A Rede e Swordfish e olharmos o lado prtico e real.

Apesar da Internet ser a fonte de todos os males, algo mais prximo e real a pior de todas; nossos prprios usurios. Usurios insatisfeitos com a empresa, desonestos e ignorantes, no sentido de desconhecedores, deve ser sua maior preocupao. Os primeiros porque tm a inteno em causar danos, e isso faz com que eles porcurem agulha em palheiro pra atingirem seus objetivos e os ltimos por total falta de conhecimento podem realizar acessos indevidos e cometerem os mais absurdos dos erros sem ao menos saberem que os fizeram. E no pense que isso exclusivo de grandes corporaes, se voc tem um usurio voc j tem um problema.

Diante disso, se voc um adminsitrador de redes como eu, deve ter uma preocupao quase que paranica com a segurana de seus servidores porque, diante das leis atuais voc cmplice de todo e qualquer dano causado aos negcios da empresa por uma falha de segurana explorada em seus servidores at que se prove o contrrio. Essa segurana no se trata somente de questes tcnicas mas tambm administrativas e de disponibilidade de servios. Nos dias atuais, os administradores de rede devem ser alm de especialistas na rea, conhecedores das leis sobre recursos digitais, dos negcios da corporao em detalhes, atentos s normas de conduta (execrar os tais jeitinhos brasieleiros), e cientes de tudo o que acontece no seu territrio de trabalho.

Sem querer me extender mais sobre o assunto, leis como a SOX (Sarbanes & Oxley) e at mesmo algumas alteraes no Cdigo Civil Brasileiro, e normas como a ISO 17799, foram criadas diante do fato de que muito se pode fraudar eletrnicamente de dentro da prpria corporao. Se, por exemplo, seu servidor de e-commerce se tornar indisponvel por causa da explorao de uma vulnerabilidade que conhecida e corrigida em um path e, esse path no foi aplicado por voc por negligncia (e no adianta usar a falta de tempo como justificativa), o mnimo que pode lhe acontecer dispensa por justa causa.

Por tudo isso que devemos nos preocupar com essa tal segurana.

Servio de FTP no IIS

O IIS uma plataforma poderosa para se criar e hospedar web sites, tanto para a Internet quanto para Intranets corporativas e, da mesma forma, para se disponibilizar sites FTP para uso pblico ou corporativo.

A Microsoft bastante ironizada pelo fato de promover seus produtos em cima dos prprios produtos em verso anterior. Realmente chega a ser cmico o fato dela destacar as deficincias de um produto na verso anterior pra salientar as melhorias da nova verso. Tenho o hbito de dizer que ns s conhecemos verdadeiramente um produto da Microsoft quando ela lana uma nova verso dele.

Discusses parte, vejo esse episdio de uma forma muito otimista porque podemos estudar como garantir melhor a segurana e disponibilidade das verses anteriores do produto ou justificar a aquisio da nova verso, se as melhorias forem realmente importantes para o negcio.

Assim, vamos ver as caractersticas e problemas das verses anteriores do servio de FTP e o que ele nos apresenta de novidade (e verdadeiramente til), em sua verso 6.0.

Autenticao de Usurios no IIS

Atravs da autenticao do usurio so definidos os nveis de acesso s informaes que ele pode acessar como tambm criar registros das aes realizadas por ele ao se gravar logs de acesso.

Na tabela abaixo, segue uma descrio rpida dos tipos de autenticao suportadas pelo IIS.

Tabela 2 - Mtodos de Autenticao do IIS

Autenticao de Usurios em site FTP

Para sites FTP, no entanto, o IIS disponibiliza somente a autenticao annima e bsica.

Com base em seus requisitos de segurana, voc poder selecionar um mtodo de autenticao do IIS para validar os usurios que estiverem solicitando acesso a seus sites FTP. A tabela a seguir resume os mtodos de autenticao do FTP.

Tabela 3 - Mtodos de Autenticao do IIS FTP

O acesso annimo (Anonymous Authentication) bastante comum porque permite que o usurio acesse aos sites (WWW ou FTP) sem a necessidade de fornecer nome de usurio e senha. Quando um site (WWW, FTP...) est configurado para permitir esse tipo de acesso uma conta annima que criada quando instalamos o IIS utilizada para permitir o acesso. Geralmente essa conta de usurio tem o formato

IUSR_Nome_do_Servidor (no nosso caso IUSR_PLUTAO). Essa conta includa em um grupo de usurios que tem restries de segurana impostas pelas permisses do sistema de arquivo (NTFS) e que designam o nvel de acesso e o tipo de contedo disponvel para os usurios pblicos, via acesso annimo. Com isso, o usurio possui limitaes sobre os recursos que pode acessar no servidor.

Servio de FTP no IIS 5.0

Relembrando um pouco da arquitetura do IIS 5.0 (estudada no Captulo 1), o servio de FTP roda dentro do Inetinfo.exe juntamente com outros servios como o SMTP e o NNTP. Alm disso, alguns componentes do servio WWW tambm so executados nele. O problema que podemos encontrar nesse modelo que, se um aplicativo ou site www, ou um desses servios se comportar mal ou for atacado, todos os servios e componentes dependentes do Inetinfo.exe sofrero o efeito colateral deixando de funcionar. Isso nos alerta pra que sejamos bastante criteriosos com a disponibilidade de qualquer servio do IIS e devemos considerar sempre a possibilidade de distribuirmos os servios entre dois ou mais servidores colocando, por exemplo, o IIS FTP e servidor diferente do que disponibiliza as Pginas da Intranet corporativa.

A segurana de acesso ao servio FTP nas verso 5.0 totalmente dependente do Sistema de Arquivos do Windows Server (NTFS). Se a configurao das devidas permisses nas pastas ou diretrios disponveis para FTP, todos os usurios conseguem visualizar todos os contedos de todas as pastas a partir da raiz, independente da confidencialidade de cada um. Essa dependncia apesar de eficiente , em termos de segurana, apresenta alguns problemas que devem ser considerados:

Se o administrador esquecer de atribuir permisses ou atribuir permisses inadequadas alguma pasta, toda a segurana do servidor qui da rede toda pode ser comprometida;

Configurar e manter os registros de permisses para um grande nmero de usurios requer um esforo descomunal, altamente complicado e estressante, pra no dizer que quase impossvel ser feito por uma nica pessoa (o que no difcil de acontecer diante das contees de despesas nos dias atuais).

Alm da questo NTFS, existem mais alguns detalhes a serem considerados sobre a segurana dessa verso do IIS.

Acesso Annimo Por padro o IIS FTP permite ambos os acessos, annimo e por autenticao. Para desabilitar o acesso annimo necessrio desmarcar a opo Allow anonymous connections (Figura 4);

Autenticao Como j vimos, embora o IIS tenha uma gama de opes muito boa para autenticao, o IIS FTP suporta somente a autenticao Anonymous e Basic-Like Authentication (Figura 5). Em geral, o FTP considerado erradamente como um meio seguro de transferncia de dados, j que o servidor FTP pode ser configurado para solicitar uma combinao de nome de usurio e senha vlidos antes de conceder acesso aos dados. Esteja ciente de que tanto as credenciais especificadas no logon quanto os dados propriamente ditos no so criptografados nem codificados. O que significa dizer que todas as credenciais so transmitidos atravs da rede em clear-text, ou seja, sem formatao. Em outras palavras, todos os dados FTP podem ser facilmente interceptados e analisados por qualquer estao ou rede entre o cliente e o servidor FTP. O risco de credenciais em texto sem formatao que pessoas estranhas consigam fazer logon no FTP e faam download de arquivos destinados a usurios especficos.

FTP Logon A utilizao deautenticao via logon no IIS FTP requer alguns privilgios especiais aos usurios e conta Anonymous. necessrio atribuir-lhe o direito do logon local (Logo n Locally).

Isolamento de usurios Isolamento de usurios significa garantir que cada usurio tenha acesso ao diretrio FTP a partir de sua pasta de usurio e nunca a partir da raiz do servio. Para conseguir isso nessa verso, como j foi dito, necessrio configurar as permisses do sistema de arquivo (no caso, NTFS), do servidor FTP.

O IIS 5.0 no oferece suporte ao Secure FTP e FTPS (FTP sobre SSL). E nesse caso ainda temos mais um problema pra quem utiliza o ISA Server;ele tambm no oferece este tipo de suporte para publicao de sites FTP.

O nico mecanismo de limitao de acesso ao IIS FTP 5.0 a Restrio por Endereo IP(Figura 6). Isso restringe o acesso por estaes mas no por usurio.

Qualquer usurio, com permisso ou no pra utilizar o servio, sentado a frente de uma estao com IP vlido pode acessar as pastas e diretorios FTP.

Figura - 3 - Tipos de autenticao suportada no IIS 5.0

Figura - 4 - IP Address Restriction

Resolvendo Alguns Problemas com Segurana na Verso 5.0.

Para minimizarmos esses potenciais problemas podemos adotar, como sugesto, as seguintes medidas:

Retirar a permisso de escrita (Write), de pastas em que no sero necessrios uploads de arquivos por parte dos usurios;

No instalar, em hiptese alguma, o servio de FTP para utilizao corporativa em servidores Controladores de Domnio.

Em relao ao FTP Logon, criar as contas de usurios na base de usurios do servidor FTP uma boa sada. Principalmente se os usurios no forem corporativos (clientes ou parceiros de negcios, por exemplo). Isso restringe o acesso somente ao servidor FTP e pode impedir uma provvel invaso de outros servidores.

Desabilitar o acesso annimo importante inclusive para questes de auditoria de sistemas. Se o modo de autenticao pode ser implementado e o contedo exposto no FTP no considerado para domnio pblico, o acesso annimo deve ser banido.

Como os dados de usurio e senha trafegam em clear-text no modo de autenticao do FTP, se est previsto colocar dados sigilosos no site FTP ou se a segurana na comunicao entre os clientes e o servidor FTP for essencial,o estudo para implementao de um canal criptografado, como uma rede virtual privada(VPN), protegida com protocolo de encapsulamento ponto a ponto (PPTP) ou com protocolo IPSec, devem ser considerados e amplamente encorajados. Deve ser tambm considerado o uso do WebDAV, que utiliza a SSL (camada de soquetes de segurana).

Um cuidado extra deve ser dado aos sites FTP na Web ou diretrios virtuais configurados para usar isolamento com Active Directory (IIS 6.0), ou balanceamento de carga de FTP. Estes no devem ser mapeados para diretrios fsicos usados em sites com as Extenses de servidor do FrontPage instaladas. Esse procedimento pode permitir que usurios vejam todos os arquivos dessa estrutura de pastas na rede.

Criar polticas de grupos de trabalhos para determinar as permisses NTFS uma boa sada para minimizar os esforos de manuteno. Ao menos os usurios corporativos devem ser organizados em grupos departamentais e as permisses NTFS atribudas a esses grupos ao invs de usurio para usurio. Esses usurios geralmente possuem seu Home Directory para armazenar dados pessoais e no faz muito sentido criar um endereo FTP somente pra esse tipo de servio. Servios corporativos, via de regra, devem disponibilizar contedos corporativos e no pessoais.

Servio de FTP no IIS 6.0

A arquitetura redesenhada do IIS 6.0 colaborou em muito para a confiana na establidade e disponibilidade dos seu diversos servios. Como j vimos (tambm no Captulo 1), agora os servios FTP, SMTP e NNTP continuam rodando sobre o inetinfo.exe, porm os aplicavos web rodam totalmente em processo separados com

maior controle sobre sua sade. Assim, se um site web se comportar mal no comprometer os outros servios e vice-versa.

Figura - 5 - Arquitetura dos Servios IIS 6.0

No aspecto de segurana, a verso 6.0 do IIS inclui o isolamento de usurios para auxiliar os administradores e, particularmente os provedores de hospedagem na Internet, a manter a segurana e a eficincia dos servios FTP e oferecer a seus clientes diretrios individuais de FTP para fazer o upload de arquivos e de contedo da Web.

Isso muito til quando voc tem vrios usurios acessando um ou mais sites.

O isolamento dos usurios de FTP impede que eles exibam ou sobrescrevam o contedo da Web de outros usurios, restringindo-os a seus prprios diretrios. Os usurios no podem navegar mais acima na rvore de diretrios porque o diretrio de nvel superior aparece como a raiz do servio FTP. Dentro de seu site especfico, os usurios tm a capacidade de criar, modificar ou excluir arquivos e pastas.

O isolamento do usurio de FTP uma propriedade do site e no uma propriedade do servidor; o que significa dizer que cada site FTP pode ter o isolamento de usurios configurado de maneira diferente.

Se o seu site se localiza em uma intranet ou na internet, os princpios disponibilizao de um local para trocas (uploads e downloads) de arquivos usando o FTP so os mesmos. Voc grava seus arquivos em diretrios no seu servidor de FTP para que seus usurios possam estabelecer uma conexo FTP e transferir arquivos com um cliente FTP ou com o browser (Internet Explorer, Firefox,etc) habilitado para conexes FTP.

Porm, alm de simplesmente armazenar arquivos em seu servidor, voc precisa gerenciar como o seu site est instalado e, o mais importante, como seu site se desenvolve.

O isolamento do usurio de FTP oferece suporte a trs modos de isolamento.

Cada modo ativa diferentes nveis de isolamento e autenticao. O modo desejado deve ser configurado no ato da criao do site e no poder ser alterado depois. A nica maneira de fazer isso excluir o site e cri-lo novamente com a outra opo de isolamento porque essa propriedade est presente somente na criao do site.

No isolar usurios Este modo no ativa o isolamento do usurio de FTP.

Ele foi criado para funcionar de maneira semelhante a verses anteriores do IIS. Aqui necessrio se preocupar diretamente com as permisses NTFS para evitar acessos indevidos s pastas de outros usurios. Todas as recomendaes de segurana dadas nesse artigo para a verso 5.0 servem pra este tipo de configurao.

Quando Utilizar: Como o isolamento no imposto entre diferentes usurios que fazem logon no seu servidor FTP, esse modo ideal para um site que oferece apenas recursos de download de contedo compartilhado ou para sites que no exigem proteo de acesso a dados entre os usurios.

Isolar usurios Este modo autentica os usurios em contas locais ou de domnio, antes que eles possam acessar o diretrio base que corresponde ao seu nome de usurio. Todos os diretrios-base de usurios devem ser criados localmente, ou seja, necessrio criar uma estrutura de diretrios em um nico diretrio raiz do FTP em que cada usurio colocado e restrito ao seu diretrio base. Os usurios no tm permisso para navegar fora de seu diretrio base. Se os usurios precisarem de acesso a pastas compartilhadas

dedicadas, tambm possvel estabelecer uma raiz virtual. Este modo no autenticado no servio de diretrios do Active Directory.

Quando Utilizar: Este modo de isolamento tem alguns pontos positivos e negativos. O lado positivo que pode autenticar usurios locais ou remotos e de fcil entendimento para o administrador. O lado negativo que todos as sub-pastas do site precisam estar em um mesmo diretrio raiz e o desempenho do servidor pode degradar quando este modo for usado para criar centenas de diretrios-base. Este modo indicado nas seguintes condies:

Quando houver um nmero pequeno de sites pra gerenciar; Quando houver um nmero pequeno de contas de usurios FTP. Lembre-se de que 100 usurios significam 100 FTP home directories. Quando a escalabilidade (potencial de crescimento), for baixo.

Isolar usurios usando o Active Directory Este modo autentica credenciais de usurio em um recipiente do Active Directory correspondente, em vez de procurar em todo o Active Directory, o que requer muito tempo de processamento. Instncias especficas do servidor FTP podem ser dedicadas a cada cliente, para assegurar a integridade e o isolamento dos dados. Quando o objeto de um usurio estiver localizado no recipiente do Active Directory, as propriedades FTPRoot e FTPDir sero extradas para fornecer o caminho completo para o diretrio base do usurio, o que torna desnecessrio a manuteno de uma estrutura de diretrios para o FTP. Se o servio FTP puder acessar com xito o caminho, o usurio ser colocado no diretrio base, que representa o local raiz do FTP. Para o usurio exibido apenas seu local raiz do FTP e ele no pode navegar acima na rvore de diretrios. O usurio ter o acesso negado se a propriedade FTPRoot ou FTPDir no existir ou se essas duas juntas no formarem um caminho vlido e acessvel.

Quando Utilizar:

Quando houve a necessidade de se criar um FTP Farm ou Load Balance; Quando houver a necessidade de alta disponibilidade do servio;

Observao: Este modo requer que um servidor do Active Directory seja executado em um sistema operacional da famlia Windows Server 2003. Um Active Directory do Windows 2000 tambm poder ser usado, mas ir requerer extenso manual do esquema User Object.

Instalao

O processo de instalao do servio de FTP que descrevo abaixo, foi copiado dos procedimentos indicados pela Microsoft. Aps a instalao vamos estudar como configurar e gerenciar nosso servidor FTP.

Instalando o Servio de FTP

1. Abra o Add Remove Programs no Painel de Controle e clique em Add/Remove Windows Components;

Figura - 6 - Instalao do Servio de FTP no Windows Server 2003

2. Clique em Application Server Details e, em seus subcomponentes, procure e clique em Internet Information Services (IIS) Details.

3. Nos subcomponentes de Internet Information Services (IIS), selecione File Transfer Protocol (FTP) Service OK.

4. Clique em Next. Se solicitado, insira o CD do Windows Server 2003. 6. Clique em Finish.

O IIS Manager cria um site FTP padro durante a instalao dos servios FTP.

Pode-se utilizar o diretrio \Inetpub\Ftproot para publicar o contedo ou criar outro diretrio.

Pronto! Instalamos o Servio FTP. Agora precisamos configur-lo adequadamente pra que voc possa oferecer este servio para sua empresa/clientes de maneira segura e adequada.

Criando um novo site FTP

1. No IIS Manager, expanda o computador local, clique com o boto direito na pasta FTP Sites, aponte para New... e clique em FTP Site. O Assistente para criao de site FTP aparece.

2. Clique em Next.

3. Na caixa Description, digite o nome do site e clique em Next.

4. Especifique, digitando ou clicando, o endereo IP (o padro (All Unassigned)) e a porta TCP para o site, e clique em Next.

5. Clique na opo de isolamanto do usurio que voc deseja e clique em Next.

6. Na caixa Path, digite, ou procure, o diretrio que contm ou conter contedo compartilhado e clique em Next.

7. Marque as caixas de seleo correspondentes s permisses de acesso ao site FTP que voc quer atribuir aos usurios e clique em Next.

8. Clique em Finish.

9. Para posteriormente alterar estas e outras configuraes, clique com o boto direito no site FTP e clique em Properties.

Discutiremos posteriormente como manter vrios sites FTP em um nico servidor.

DICA: Ao terminar a instalao, se vocs estiver utilizando o servidor com algum Service Pack (SP1 no caso do Windows Server 2003), interessante reaplicar o ltimo Service Pack aps a instalao do servio.

O primeiro requisito de segurana a aplicao do Service Pack mais atual do seu Sistema Operacional (no nosso caso, o Windows Server 2003). Os Service Packs so programados para instalar as correes somente dos servios em execuo no servidor. Assim, se houver alguma correo a ser feita (e h!) no servio de FTP, ela s ser aplicada aps o servio instalado. Existem pelo menos 5 artigos inclusos no SP1 que tratam de problemas diretamente ligados ao servio de FTP (KB826270 KB828086 KB830886 KB830885 KB831914 KB887175).

uma boa prtica verificar a compatibilidade dos sistemas que esto rodando no servidor que foi escolhido para ser o servidor de FTP, com os patchs do Service Pack atual antes de re-aplic-lo ou aplic-lo pela primeira vez. Alguns sistemas, como banco de dados por exemplo, podem deixar de funcionar ou comear apresentar erros aps uma substituio de dll feita pelo Service Pack. E, acredite, melhor pesquisar pelas incompatibilidades antes do que durante a ocorrncia do problema.

Configurando o Servio de FTP para Acesso Annimo

Se o servidor FTP tiver por finalidade simplesmente ser um repositrio de documentos de domnio pblico que podem e devem ser pesquisados pela empresa toda (pela intranet), ou pelo mundo (atravs da internet), a simples configurao para permitir somente conexes annimas ser o suficiente.

Para configurar o Servio FTP de modo a permitir somente conexes annimas, siga estas etapas:

1. Abra o Gerenciador dos Servios de Informaes da Internet da Microsoft ou o snapin do IIS.

2. Expanda Nome_do_servidor, em que Nome_do_servidor o nome do servidor.

3. Expanda FTP Sites.

4. Clique com o boto direito em Default FTP Site e clique em Properties.

5. Clique na guia Security Accounts.

Figura - 7 - Propriedades de Segurana de Contas de Acesso

6. Clique para marcar as caixas de seleo Allow anonymous connections (se j no estiver selecionada) e Allow only anonymous connections.

Ao clicar para selecionar a caixa de seleo Allow only anonymous connections, voc configura o Servio FTP para permitir somente conexes annimas. Os usurios no podem conectar-se usando nomes de usurio e senhas.

7. Clique na guia Home Directory.

8. Clique para marcar as caixas de seleo Read e Log Visits (se j no estiverem marcadas) e clique para desmarcar a caixa de seleo Write (se j no estiver desmarcada).

9. Clique em OK.

10. Feche o Gerenciador dos Servios de Informaes da Internet da Microsoft ou o snap-in do IIS.

O servidor FTP est configurado para aceitar solicitaes de entrada FTP. Copie ou mova os arquivos que deseja tornar disponvel para acesso para a pasta de publicao em FTP. A pasta padro unidade:\Inetpub\Ftproot, onde unidade a unidade na qual o IIS est instalado.

Concluso
Bom, nessa primeira parte de nossos estudos sobre FTP, eu quis mostrar as diferenas existentes (pra melhor), na verso 6.0 em relao verso anterior do IIS FTP.

Olhando este artigo com um critrio mais apurado parece que a verso 5.0 s tem problemas e o inferno de todos os administradores de servidores, mas no assim. Logicamente, eu mostrei muito mais as falhas do que as vantagens justamente pra chamar a ateno para as necessidades de cuidados com os detalhes da configurao, da segurana e da disponibilizao do servio. A verso 7.0 do IIS j est em Beta e logo ser lanada no mercado, o que com certeza nos far olhar com mais carinho para as deficincias da verso 6.0, porm isso no significa e nem siginificar que teremos que abandonar a verso que estamos utilizando porque de repente ela se tornou bichada. Significa sim, que conheceremos melhor seus problemas e teremos que fazer o necessrio para que ela continue to boa quanto antes.

Precisamos atentar para a realidade de que no d pra ficar fazendo upgrades eternos de nossos sistemas simplesmente porque saiu uma verso que se diz melhor que a que estamos usando.

Para pensarmos em migrar dezenas, centenas ou at milhares de sites de um servidor de servios Internet para uma verso mais nova devemos avaliar como a servio tecnolgico existente - as melhorias de performance, segurana, de aplicaes, enfim, tudo aquilo que pode realmente incrementar valor ao nosso negcio.

Servio de FTP Parte 2


Objetivos

Nessa segunda parte de nossos estudos sobre FTP, o objetivo detalhar a criao de sites FTP explorando o novo recurso de isolamento de usurio do IIS 6.

Vamos estudar como estruturar as pastas dos diretrios, como configurar os isolamento de usurio e acesso autenticado. Tambm ser visto alguns pontos sobre segurana e boas prticas para a criao e manuteno de sites FTP.

Introduo

No ltimo captulo, ns instalamos o servio FTP e configuramos o Site Default para aceitar somente acesso annimo, agora vamos nos aprofundar nos detalhes da criao de vrios sites no mesmo servidor.

Seguindo o exemplo de alguns artigos que j vi na internet, vou trabalhar com um cenrio hipottico - de uma empresa no to fictcia assim chamada NETKON J - que disponibiliza sites FTP na Intranet Corporativa. Neste cenrio, veremos como criar e administrar sites sem e com o isolamento de usurios proporcionados pelo IIS 6.0.

Voc pode criar vrios sites FTP com o uso de vrios endereos IP e/ou portas. Apesar de ser uma prtica comum e recomendada, a criao de vrios sites com o uso de vrios endereos IP pode ser mais complicada, j que, por padro, os clientes chamam a porta 21 quando usam o protocolo FTP. Entretanto, se voc criar vrios sites FTP com vrias portas, dever informar os usurios sobre o nmero da nova porta para que o cliente FTP deles possa localizar a porta e se conectar a ela.

Se voc criar um novo site com a mesma porta de um site existente com o mesmo endereo IP, o novo site no ser iniciado. A regra que voc pode ter vrios sites que usem IP e porta iguais, mas apenas um site desse grupo pode ser executado por vez. Se voc tentar iniciar um outro site desse grupo, receber uma mensagem de erro. Portanto,

deve optar por utilizar o mesmo IP e portas diferentes ou diferentes IPs com a mesma porta de acesso.

Cenrio

Em nosso exemplo, optamos por criar os sites com IPs diferentes e manter a porta padro 21 para as conexes.

A vantagem de se diferenciar os sites FTP de um mesmo servidor por endereo IP reside na facilidade adicional de se configurar um registro HOST em seu DNS interno para atender ao site. Isso obviamente facilita o uso pelo usurio. Em nosso exemplo, ns registramos os seguintes endereos para os sites:

Tabela 1 - Dados de configurao dos sites FTP

Nunca demais lembrar-se de que preciso ser um membro do grupo Administradores do computador local para executar este procedimento (ou procedimentos) ou ter recebido autoridade apropriada para isso.

Nesse cenrio, nosso servidor tem os IPs 172.23.192.171; 172.23.192.172; 172.23.192.173. Na verdade, eles foram adicionados placa de rede interna; no temos no servidor uma placa para cada IP.

Apesar de atualmente existirem ferramentas mais apropriadas e completas para controle de documentaes, dois departamentos que fazem bom uso do FTP so o Recursos Humanos e o Help Desk. O Recursos Humanos possue vrias documentaes e formulrios que devem ser disponibilizados para toda a empresa para download.

Desse modo, os requisitos de segurana so mnimos j que todos podem visualizar todo o contedo do site. Devemos somente tomar o cuidado de atribuir ao site somente a permisso Read para impedir que algum faa uploads de arquivos indesejados e/ou altere o contedo oficial dos documentos existentes.

Os detalhes do processo de criao de um site FTP com essas caractersticas foi explicado no artigo anterior. Aqui vamos acrescentar alguns detalhes que so necessrios para se manter ambos os sites em funcionamento no mesmo servidor.

J o Help Desk se utiliza de arquivos de instalao, drivers de equipamentos, etc. quase todos os dias e pela empresa toda; para o que, tambm muito interessante mant-los em um local nico e de acesso por toda a corporao pelos integrantes da equipe de suporte.

Vamos assumir tambm que o departamento de Help Desk tem dois analistas, Felipe Konnus (fkonnus) e Eliana Borges (eborges). Precisaremos dessa informao quando criarmos o site com o recurso FTP User Islolation habilitado.

Antes de implementar este cenrio, vamos revisar o Default FTP Site. Quando instalamos o servio de FTP, o Default FTP Site pr-configurado para responder por todos os IPs configurados no servidor (Figura 1). Isso significa que qualquer endereo IP que no esteja especificamente atribudo a outro site FTP no servidor, responder pelo Default FTP site. Em nosso exemplo, se tentarmos abrir o FTP em ftp://172.23.192.172 ou ftp://172.23.192.173 pelo Internet Browser (Internet Explorer, por exemplo), antes de atribuirmos esses endereos aos sites que criaremos, todos esses endereos disponibilizaro o contedo do Default FTP site.

Figura - 1 - Propriedades do Default FTP site (Todos os IPs atribudos).

Criao de um Site FTP

Antes de criar o site FTP para o departamento de Recursos Humanos, ns temos que realizar uma das seguintes tarefas: atribuir um endereo IP para o Default FTP site, caso ele esteja sendo utilizado para alguma coisa ou simplesmente desativ-lo.

Para fixar um endereo IP pro Default FTP Site:

No IIS Manager, expanda o computador local e depois a pasta FTP Sites;

Clique com o boto direito do mouse sobre o Default FTP Site e clique em Properties;

No campo IP Address, clique e selecione o IP desejado na lista que vai parecer ou simplesmente digite-o (no nosso caso, 172.23.192.171);

Clique em Apply e em OK;

Para desativ-lo, basta clicar com o boto direito sobre o Default FTP Sites e selecione a opo Stop do menu suspenso.

Site FTP do Recursos Humanos

1. No IIS Manager, expanda o computador local, clique com o boto direito do mouse na pasta FTP Sites, aponte para New e clique em FTP Site;

2. Clique em Next;

3. Na caixa Description, digite a descrio do site FTP (Departamento de Recursos Humanos, por exemplo) e clique em Next;

4. Em Digite o endereo IP a ser usado para este site FTP, digite o novo endereo IP (172.19.192.173) e mantenha a configurao da porta TCP em 21.

5. Adicionalmente voc pode configurar as mensagens que voc deseja que aparea quando a conexo for feita pela linha de comando:

Figura - 2 - Configurao de Mensagens

6. Conclua os procedimentos restantes do Assistente para criao de site FTP.

No acesso via Internet Explorer, o nome do usurio aparecer na barra de status, na parte inferior do browser. Quando houver o acesso via linha de comando, o usurio visualizar algo parecido com a tela abaixo:

Figura - 3 - Detalhes do acesso via linha de comando

Quando o site criado para uso pblico com acesso annimo, uma auditoria satisfatria sobre seu acesso quase impossvel apesar dos logs, devido ao acesso como anonymous. No controle de sesses abertas no site, voc somente visualizar o que ele colocar como senha de acesso annimo se ele fizer o acesso via linha de comando e o user IEUser@, se o acesso vier do Internet Explorer, como na figura abaixo.

Figura - 4 - Controle de sesses abertas no site. Usurios annimos.

Por padro, a permisso para conexes annimas permitida, e isso timo para sites FTP pblicos, mas para sites FTP privados dentro de uma intranet corporativa, voc pode querer deixar essa opo desmarcada pra preven-las. Desabilitando a opo Allow anonymous connections na guia Security Accounts das propriedades do site FTP, ele passa a utilizar a Basic Authentication. Os usurios que tentarem o acesso ao site recebero uma caixa de dilogo de autenticao quando acessarem via Internet Explorer e em linha de comando no ser mais permitido utilizar o usurio anonymous como mostra a figura abaixo.

Figura - 5 - Negao de Acesso Annimo via Linha de Comando

Lembre-se de que a Basic Authentication passa as credenciais do usurio pela rede em clear text, o que significa que os sites FTP so, por natureza, inseguros (eles no suportam Windows Integrated Authentication). Ento se voc vai instalar um site FTP privado em sua rede interna, certifique-se de que fechou as portas 20 e 21 em seu firewall para bloquear trfego de usurios externos na Internet.

Site FTP com isolamento de usurios

O fato de negarmos o acesso annimo e solicitar credenciais de logon no significa que, aps o logon, teremos um ambiente privado. Para isso precisamos configurar o site para que use o recurso de isolamento de usurios. Quando um site FTP se vale desse recurso, cada um que o acessa tem uma pasta FTP, que um subdiretrio embaixo do diretrio raiz do site FTP e, da perspectiva do usurio, ele visto como a pasta raiz. Isso

significa que os usurios so impedidos de visualizar os arquivos de outros usurios em outras pastas que no a dele, fornecendo segurana para os arquivos.

Quando o site FTP est definido para isolar os usurios, todos as pastas base de usurios se localizam em uma estrutura de pastas de dois nveis no diretrio do site FTP (como configurado na pgina de propriedades do home directory do FTP). O diretrio do site FTP pode residir no computador local ou em um compartilhamento de rede, porm todos as pastas base de usurios precisam estar obrigatriamente embaixo do diretrio raiz do site.

Vamos criar um novo site FTP chamado Help Desk que se utiliza desta nova caracterstica, usando as configuraes para o site do Help Desk, descritas anteriormente na Tabela 1. Inicie o Assistente de Criao de Sites FTP como mostrado passo a passo no captulo anterior e caminhe at chegar pgina FTP User Isolation e selecione a opo Isolate Users desta pgina:

Figura - 6 - Criao de site com isolamento de usurios

Lembre-se da boa prtica de retirar a permisso de acesso annimo aps a criao do site, na folha Security Accounts nas propriedades do site. Porm, se desejar permitir acesso annimo, crie os subdiretrios LocalUser e LocalUser\Public no diretrio base do site FTP.

Podemos ter na empresa, situaes que nos levem necessidade de criar contas locais em servidores para se limitar acessos a recursos. Por exemplo, podemos estar em um processo de implantao de um ERP que enche nossa empresa de consultores que necessitam de acesso a recursos especficos e por tempo especfico.

Criar esses usurios em nosso Active Directory pode no ser uma boa prtica. Dar a eles um usurio tipo Guest (guest_consultoriaxyz, por exemplo) no domnio e criar contas locais em servidores especficos para maiores permisses naquele recurso, pode ser uma sada mais segura.

Se houver a necessidade de se criar contas locais no servidor de FTP, para que faam logon com seus nomes de usurio da conta individual (em vez de usurios annimos), devem ser criados os subdiretrios LocalUser e LocalUser\nome_do_usurio no diretrio raiz do site FTP para cada usurio que tem permisso para se conectar a esse site FTP.

Se existem usurios de diferentes domnios que faro o logon com suas credenciais domnio\nome_do_usurio explcitas, deve ser criado um subdiretrio para cada domnio (usando o nome do domnio) no diretrio raiz do site FTP e, em cada diretrio de domnio, deve-se criar uma pasta para cada usurio. Por exemplo, para oferecer suporte ao acesso pelo usurio NetkonRondonia\user1, crie as pastas NetkonRondonia e NetkonRondonia\user1. Veja como ficou a estrutura de pastas do nosso exemplo:

Figura - 7 - Estrutura de pastas do site FTP do Help Desk - Isolamento de Usurio

Veja como fica a visualizao pelo Internet Explorer, o acesso a um site sem o isolamento de usurios e com isolamento de usurios:

Figura - 8 - Acesso autenticado ao site RH - sem isolamento de usurio

Note que, embora eu tenha sido autenticado pelo site, eu consigo visualizar todas as pastas e documentos existentes no site, inclusive a pasta do usurio acampos. Se o site estiver com a opo Write habilitada, eu posso fazer upload de qualquer arquivo que desejar para qualquer pasta, como tambm alterar arquivos existentes e substitu-los.

Figura - 9 - Acesso autenticado no site do Help Desk - com isolamento de usurios

Note agora com o isolamento de usurios. Apesar da estrutura de pastas do helpdesk possuir outras pastas (Figura 7), o usurio conectado enxerga sua pasta base como sendo a raiz do site, sem a possibilidade de navegar em outras pastas de usurios ou sequer enxerg-las. Note tambm (na barra de status), que o usurio agora est logado como domnio\usurio.

Configurando o isolamento do usurio de FTP com o Active Directory

Ns ainda precisamos explorar mais uma opo, que a terceira na pgina FTP User Isolation do Assistente de Criao de Sites FTP, chamada Isolate users using Active Directory. Como ns no temos mais endereos IP, primeiramente vamos liberar o IP 172.23.192.171, parando o Default FTP Site. Uma maneira de fazermos isso abrir o command prompt e digitar iisftp /stop Default FTP Site usando o script iisftp.vbs.

O script que ns utilizamos aqui, o Iisftp.vbs, um dos muitos scripts administrativos do IIS disponveis quando voc instala o IIS sobre o Windows Server 2003. Uma descrio completa da sintaxe deste script pode ser encontrada no link descrito na Bibliografia. Depois que voc criou um novo site FTP utilizando este script, voc pode melhorar a configurao do site utilizando o IIS Manager da maneira usual.

Agora, vamos iniciar novamente o assistente de Criao de sites FTP e selecionar a terceira opo mencionada acima (vamos nomear esse novo site como Engenharia e lhe dar o IP que estava reservado para o Default FTP Site):

Clique em Next e entre com uma conta de administrador do domnio, a senha e o nome do domnio:

Clique em Next, confirme a senha e complete o assistente normalmente. Voc notar que no ser mais solicitado pra voc especificar um diretrio raiz para o novo site FTP. Isso devido ao fato de que, quando voc usa esta opo, todos os FTP home directory de usurio definido por duas variveis de ambiente: %ftproot%, que define o diretrio raiz e pode ser qualquer lugar que inclua um caminho UNC para um compartilhamento na rede ou em qualquer outra mquina, como por exemplo, \\Engenharia\docs, e a varivel %ftpdir% que pode ser configurada para

%username%. Assim, no exemplo da pasta base FTP da Eliana, teremos \\Engenharia\docs\eborges e esta pasta a que precisa ser criada antecipadamente para ela. Voc pode configurar essas variveis de ambiente usando um script de logon e atribuir o script utilizando Group Policy, mas isso est fora do escopo deste artigo.

Detalhes do Active Directory

Quando o servidor FTP definido para isolar usurios com o Active Directory, o diretrio base de cada usurio pode residir em um caminho de rede arbitrrio. Neste modo, temos a flexibilidade para distribuir pastas base de usurios em vrios servidores, volumes e diretrios, conforme adequado para a configurao da rede.

Tambm possvel definir as propriedades FTPRoot e FTPDir para um usurio formar um caminho local para o computador do servidor FTP. Este modo integra a autenticao do Active Directory ao recuperar as informaes do diretrio base de um usurio. Essa integrao permite que se utilize a Active Directory Services Interface (ADSI) e scripts para gerenciar o local fsico das pastas base dos usurios.

Este modo mais adequado para implantaes de ISPs, em que um conjunto de servidores FTP de front-end acessa um Active Directory para recuperar informaes do diretrio base para os usurios e permitir o acesso a um conjunto de servidores de arquivos de back-end.

O objeto User do Active Directory foi ampliado para incluir duas propriedades: FTPRoot e FTPDir. Essas propriedades armazenam o diretrio base relativo e de compartilhamento do servidor de arquivos de cada usurio. A FTPRoot determina o compartilhamento do servidor de arquivos da conveno universal de nomenclatura (UNC), enquanto a FTPDir indica o caminho relativo no compartilhamento. A concatenao dessas duas propriedades resulta no caminho UNC completo para o diretrio base dos usurios ou para o servidor FTP.

Essas duas propriedades correspondem s propriedades msIIS-FTPRoot e msIISFTPDir que foram adicionadas no schema do Active Directory na famlia Windows Server 2003. Elas tambm podem ser definidas e modificadas usando o script de administrao iisftp.vbs.

Voc tambm pode instalar o Admin Pack, disponvel com o Resource Kit da famlia Windows Server 2003 e modificar essas propriedades usando o snap-in do Active Directory.

A configurao do isolamento do usurio usando o Active Directory envolve a configurao dos seguintes servios correspondentes:

Servidores de arquivo: possvel utilizar os servidores de arquivo para criar os diretrios de compartilhamentos e de usurios para todos os usurios com permisso para se conectar ao seu servio FTP, incluindo contas annimas. preciso planejar o uso esperado de espao em disco, gerenciamento de armazenamento, trfego de rede e outros processos relacionados com a infra-estrutura do servidor.

Active Directory: Este modo de isolamento do usurio requer a disponibilidade de um servidor do Active Directory sendo executado em um sistema operacional da famlia Windows Server 2003. O esquema do Active Directory da famlia Windows Server 2003 o primeiro a conter as propriedades de objeto do usurio usadas pelo servio FTP. As informaes recuperadas do Active Directory com uso freqente, so armazenadas em cache no servidor FTP. possvel limitar o tempo mximo transcorrido, antes de liberar o cache das propriedades do Active Directory correspondentes ao usurio annimo usando o parmetro do Registro DsCacheRefreshSecs.

Concluso
Neste captulo ns vimos em detalhes a criao e configurao de sites FTP de vrias maneiras no IIS 6. Com exceo do isolamento de usurios, tudo que foi abordado aqui tambm se aplica ao IIS 5 sobre Windows 2000.

possvel percebermos que, conforme novas funcionalidades so adicionadas em novas verses dos aplicativos, maior se torna a complexidade de gerenciamento e necessidade

de entendimento da infraestrutura da nossa rede como um todo. Neste captulo de estudos do IIS, percebemos que precisamos dominar no s os passos da criao de um site FTP, mas tambm como estrutura nosso DNS para comportar os registros de nomes para os sites com a finalidade de facilitar a vida do nosso cliente (leia-se usurio). Vimos a necessidade de estruturar corretamente as pastas dos diretrios FTP e suas permisses bsicas. E por ltimo, e talvez um dos itens de maior importncia, deve-se chamar a ateno do adminitrador para compreender detalhadamente os processos com a finalidade de prover a segurana necessria para o bom funcionamento da rede como um todo e seus recursos disponveis.

Servio de FTP Parte 3


Objetivos

O gerenciamento dos recursos disponveis em nossa rede to importante quanto o prprio recurso. O monitoramento dos servios podem nos livrar de grandes dores de cabea tendo em vista que podemos analisar em tempo real tudo o que acontece com nossos servios, ainda que por um pequeno perodo de tempo. Por isso, vamos detalhar alguns pontos sobre o gerenciamento de sites FTP em um servidor IIS. Vamos tambm estudar como configurar os logs de acesso aos sites, os tipos de logs e como ler os registros do arquivo de log.

Monitorando o Servio de FTP

Podemos precisar (e geralmente precisamos), monitorar os diversos aspectos de um servio em nossa rede. Uma ferramenta muito pouco comentada mas de uma grande utilidade o Performance Monitor, que vem junto com o Sistema Operacional desde o Windows NT. Com ela conseguimos, em tempo real, visualizar o estado dos servios, dos servidores, o trfego de acesso e at mesmo se algum problema est acontecendo ou por acontecer.

Outra ferramenta bastante interessante tambm o arquivo de logs criado pelo prprio IIS. Enquanto o Performance Monitor tem uma funo mais apropriada para Capacity Planning, os arquivos de logs do IIS servem para resoluo de problemas, auditorias e estatsiticas de acesso e operaes mais realizadas. Vamos estudar um pouco dos dois.

Figura - 1 - Monitorando o Servio de FTP

importante dizer que esse tipo de monitoramento nos traz somente a situao atual do servio. Porm podemos programar relatrios dirios de performance, programando o Performance Monitor para tirar uma fotografia da situao do servio por algum perodo durante o dia. Por exemplo, possvel programar o Performance Monitor para disparar o monitoramento desse contadores por duas horas dirias, das 14:00 s 16:00 h, considerando que seja o perodo de maior acesso ao servio. A determinao desse perodo ser feita por voc de acordo com as anlises on-line que fizer do servio. possvel tambm configurar alertas para que o performance monitor escrever um evento no EventLog, enviar uma mensagem para nossa estao ou at mesmo iniciar outro programa, quando por exemplo o contador Current Connections passar o limite de 50 conexes.

Para monitorarmos o servio de FTP utilizando o Performance Monitor:

1. Clique em Start Programs Adminstrative Tools Performance

2. Limpe qualquer objeto que houver na parte inferior clicando na linha do objeto e apertando o Delete para cada uma das linhas;

NOTA: Voc pode desejar no alterar as configuraes do Performance Monitor por estar utilizando-o para monitorar outras partes de sua rede. Se esse for o caso, voc pode criar um mmc (Microsoft Management Console) com o snap-in ACTIVEX System Monitor Tool e configur-lo de acordo com o descrito nesse artigo.

3. Clique no boto [+] na barra de botes e selecione o objeto FTP Service na caixa Performance Object;

Figura - 2 - Selecionando o Objeto "FTP Service"

4. Selecione a opo All Instances antes de selecionar os contadores desejados para monitorar;

5. Selecione as instncias descritas abaixo, mantendo a tecla CTRL apertada:

Figura - 3 - Selecionando os Contadores

Bytes Received/sec Bytes Sent/sec Bytes Total/sec Current Anonymous Users (Se permitir acesso annimo aos sites) Current Connections Total Files Sent Total Files Received Total Logon Attempts Clique no boto Add;

Esses contadores so suficientes para que voc tenha uma noo do que est ocorrendo com seus sites.

Os contadores Current Connections e Total Logon Attempts so importantes informaes para controle de banda e o contador Total Files Received pode lhe dar uma noo para seu Capacity Planning em relao aos recursos disponveis para seu servio de FTP.

NOTA: Se desejar monitorar somente um site, ou alguns sites ao invs de todos, voc deve selecionar a opo Select Instances from list e com a tecla CTRL apertada, clicar nas instncias desejadas.

Configurando o Logging de Sites FTP


O assunto sobre logs bastante chato. No vi sequer um administrador at hoje que tenha alguma afinidade por anlises de logs, principalmente pelo fato de se parecerem muito mais com hiergrifos, mensagens subliminares ou coisa do tipo, do que algo que faa algum sentido para ns, pobres mortais.

Apesar de ser um sonho de todo o administrador o fato de, bater os olhos em um registro de log e o conseguir ler como qualquer frase em lngua ptria, poucos so os que tm coragem para transformar esse sonho em realidade e investir tempo para estudar o assunto, mesmo porque para completar o inferno em terra cada aplicao parece ter sua linguagem prpria de logs.

Assim sendo, prometo colocar aqui somente alguns conceitos que considero os mais importantes e descrever um pouco sobre a estrutura dos logs do IIS. Veremos somente o necessrio para compreender o que o log quer nos informar J.

O prprio servio de FTP, como o servio WWW, tem um log padro. O formato padro dos logs para sites FTP o W3C Extended Log File Format. Os logs de site FTP so armazenados em pastas nomeadas como a seguir:

SystemRoot%\system32\LogFiles\MSFTPSVCnnnnnnnnnn

Onde nnnnnnnnnn o nmero de ID do site FTP. Voc pode usar um aplicativo como o Microsoft Log Parser, parte do IIS 6.0 Resource Kit Tools, para analisar esses logs, ou simplesmente abri-los no notepad.

Figura - 4 - Pastas com os arquivos de Logs dos Sites FTP

Figura - 5 - Arquivo de Log gerado pelo servio FTP

Aqui voc j pode entender porque a auditoria do uso do servio FTP se complica se for permitido acesso annimo. Perceba que no h nenhuma consistncia de dados que lhe aponte quem so os usurios que fizeram o logon anonimamente. Note a diferena na figura abaixo, quando obriga-se a autenticao do usurio.

Figura - 6 - Arquivo de Log com a autenticao de usurios habilitada

Log da atividade do site


Habilitando o log dos sites FTP nas pginas de propriedade do site voc pode rastrear as atividades que um usurio desenvolveu em seu site. As informaes so armazenadas em arquivos ASCII ou em um banco de dados compatvel com a conectividade aberta de banco de dados (ODBC).

As informaes de log que o IIS fornece vo alm do padro do log de eventos ou dos recursos de monitorao de desempenho do Performance Monitor. As informaes coletadas pelo log do IIS-FTP possuem mais a caracterstica de auditoria do que avaliao de comportamento do site. Eles podem incluir informaes como, por

exemplo, quem visitou o site, por onde o visitante navegou, se fez download de arquivos, quais arquivos e quando as informaes foram exibidas pela ltima vez. Voc pode usar os logs para avaliar a popularidade do contedo ou identificar afunilamentos de informaes.

Formatos de arquivo de log


Para registrar as atividades dos usurios no servidor FTP, esto disponveis os formatos:

Formato de arquivo de log do W3C (W3C Extended Log File Format); Log de ODBC (ODBC Logging); Formato de arquivo do Log do IIS (Microsoft IIS Log Format).

O formato W3C Extended Log File e o Microsoft IIS Log so formatos de texto ASCII. O formato W3C registra os dados de log no formato de ano com quatro dgitos. O formato IIS usa dois dgitos para os anos at 1999, e um formato de quatro dgitos para o ano 2000 e posteriores. No formato de log do IIS, os dados registrados para cada solicitao so fixos. J o formato estendido do W3C permite escolher as propriedades que devem ser registradas para cada solicitao.

Figura - 7 - Opes de Log do Formato W3C

O formato estendido do W3C um formato ASCII personalizvel com diversas propriedades distintas. Permite criar um log das propriedades que so importantes para voc e limitar o tamanho do log omitindo campos de propriedades irrelevantes. As propriedades so separadas por espaos. O horrio registrado como UTC.

possvel selecionar qualquer propriedade (Figura 7), mas algumas podem no ter informaes disponveis para algumas solicitaes. No arquivo de log, os campos das propriedades selecionadas para as quais no h informaes mostram um hfen (-) como um espao reservado.

O formato do IIS um formato ASCII fixo (no pode ser personalizado). O formato do IIS contm itens bsicos como endereo IP do usurio, nome do usurio, data e hora da solicitao, cdigo de status do servio e o nmero de bytes recebidos. Alm disso, contm itens detalhados como tempo decorrido, nmero de bytes enviados, ao (por exemplo, um download efetuado por um comando GET) e arquivo de destino. Os itens

so separados por vrgulas, o que torna a leitura desse formato mais fcil do que a de outros formatos ASCII que usam espaos como separadores. A hora registrada com base no horrio local.

Quando voc abre um arquivo de formato do IIS em um editor de texto, as entradas so semelhantes s deste exemplo:

Figura - 8 - Log no formato Microsoft IIS

As duas ltimas entradas do exemplo acima so interpretados nas tabelas a seguir. A primeira linha de cada tabela corresponde ao penltimo registro e a ltima linha corresponde ao ltimo registro do log da Figura 8. O exemplo apresentado em trs tabelas devido s limitaes de largura da pgina.

Tabela 3 - Opes do Log do IIS - Parte 3

No exemplo acima, a primeira entrada indica que o usurio eborges om o endereo IP 172.23.192.170 tentou fazer o upload do arquivo controle_chamados_abr06.xls no dia 25 de Maio de 2006 s 15:59:10h.

A solicitao exigiu um tempo de processamento de 0 segundos (provavelmente foram milsimos de segundos), para ser concluda e no no enviou e nem retornou dados porque o cdigo de status do windows foi 5 que significa acesso negado para essa operao.

No arquivo de log, todos os campos de propriedade terminam com uma vrgula (,). O hfen (-), conforme j dito, funciona como um espao reservado quando no existe um valor para a propriedade.

O formato de log de ODBC um registro de um conjunto fixo de propriedades de dados em um banco de dados compatvel com a ODBC (conectividade aberta de banco de dados), como o Microsoft Access ou Microsoft SQL Server. Alguns dos itens registrados no log so o endereo IP do usurio, o nome do usurio, a data e a hora da solicitao (registrados de acordo com o horrio local), os bytes recebidos, os bytes enviados, a ao executada (por exemplo, um download efetuado por um comando GET) e o destino (por exemplo, o arquivo que foi transferido). Com essa opo, voc deve especificar o banco de dados em que ser efetuado o log e deve configur-lo para receber os dados.

Quando o log de ODBC est habilitado, o IIS desabilita o cache do modo do kernel. Por esse motivo, a implementao de log de ODBC pode prejudicar o desempenho global do servidor.

Figura - 9 - Opes para o formato de log do ODBC

NOTA: Por motivos de segurana, no use a conta SQL SA para logs de ODBC. Se um usurio mal-intencionado acessar o processo de trabalho, ele poder usar a conta SA para acessar o servidor SQL. Ao invs disso, crie uma nova conta com o mnimo de permisses necessrias.

Para usar o log de ODBC

1. Crie um banco de dados contendo uma tabela com as propriedades adequadas para os dados do log. O IIS contm um arquivo de modelo do SQL que pode ser executado em um banco de dados SQL para criar uma tabela que aceita entradas de log do IIS. O nome do arquivo Logtemp.sql e ele se localiza na pasta raiz_do_sistema\System32\Inetsrv se voc aceitou os padres da instalao. As seguintes propriedades so obrigatrias:

2. Fornea ao banco de dados um DSN (nome da fonte de dados) do sistema, que um nome que o software ODBC usa para encontrar o banco de dados(Figura 9).

3. Fornea ao IIS o nome do banco de dados e da tabela. Se forem necessrios um nome de usurio e uma senha para acessar o banco de dados, eles tambm devem ser especificados no IIS.

No IIS 6.0, voc pode gravar dados de log em um compartilhamento remoto da rede usando um caminho de conveno universal de nomenclatura (UNC) completo. Por exemplo, voc pode especificar \\nome_do_servidor\LogFiles como o diretrio de armazenamento para os arquivos de log, onde nome_do_servidor representa o nome do servidor remoto e LogFiles representa o nome do diretrio onde os arquivos de log so armazenados.

O log remoto permite que voc realize e armazene o backup de arquivos de log centralizados; porm, ele mais lento que os mtodos de log padro. O log remoto grava o arquivo de log pela rede, o que pode provocar queda de desempenho.

NOTA: Se um diretrio de arquivo de log ou o proprietrio do arquivo no estiver no grupo de administradores local, o IIS publica um erro no log de eventos do NT, indicando que o proprietrio do diretrio ou do arquivo no est nesse grupo e que a gravao no log foi suspensa para o site at que o proprietrio seja adicionado ao

grupo de administradores local, ou o diretrio ou arquivo de log existente seja excludo. Voc pode evitar esse erro permitindo que o componente HTTP.sys do IIS, crie diretrios de arquivos de log e arquivos de log.

altamente recomendvel a ativao do IPSec, entre o servidor web que executa o IIS e o servidor remoto, antes de configurar o log remoto. Se o IPSec no estiver habilitado entre o servidor web que executa o IIS e o servidor remoto, os pacotes de dados que contiverem dados de log correro risco potencial de interceptao por indivduos e aplicativos de captura de informaes invasivos enquanto trafegam pela rede.

Parando e Iniciando Sites FTP


Se um site FTP torna-se indisponvel, voc pode precisar reinici-lo para que se torne disponvel novamente. Isso pode ser feito utilizando o IIS Manager, clicando com o boto direito sobre o site FTP em questo, selecionando Stop e depois Start.

Pela linha de comando voc pode digitar net stop msftpsvc ou utilizar o comando iisreset para reiniciar todos os servios do IIS. Lembre-se de que a reinicializao de um site FTP o ltimo recurso a ser utilizado porque todos os usurios que estiverem conectados nele, naquele momento, sero desconectados.

Concluso
Neste captulo ns vimos em detalhes a criao e configurao de sites FTP de vrias maneiras no IIS 6. Com exceo do isolamento de usurios, tudo que foi abordado aqui tambm se aplica ao IIS 5 sobre Windows 2000.

possvel percebermos que, conforme novas funcionalidades so adicionadas em novas verses dos aplicativos, maior se torna a complexidade de gerenciamento e necessidade de entendimento da infraestrutura da nossa rede como um todo. Neste captulo de estudos do IIS, percebemos que precisamos dominar no s os passos da criao de um site FTP, mas tambm como estrutura nosso DNS para comportar os registros de nomes para os sites com a finalidade de facilitar a vida do nosso cliente (leia-se usurio). Vimos a necessidade de estruturar corretamente as pastas dos diretrios FTP e suas permisses bsicas. E por ltimo, e talvez um dos itens de maior importncia,

deve-se chamar a ateno do adminitrador para compreender detalhadamente os processos com a finalidade de prover a segurana necessria para o bom funcionamento da rede como um todo e seus recursos disponveis.