Upload
dokhanh
View
214
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊNCIA DA COMPUTAÇÃO
SOFTWARE DE AUXÍLIO NO MONITORAMENTO DA REDE E GERAÇÃO DE RELATÓRIOS CUSTOMIZADOS PARA O MICROSOFT
ISA SERVER 2004 / 2006
Área de Redes e Banco de Dados
por
Rafael Alves Cabral
Adriana Gomes Alves, M.Eng. Orientadora
Itajaí (SC), junho de 2011
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊNCIA DA COMPUTAÇÃO
SOFTWARE DE AUXÍLIO NO MONITORAMENTO DA REDE E GERAÇÃO DE RELATÓRIOS CUSTOMIZADOS PARA O MICROSOFT
ISA SERVER 2004 / 2006
Área de Redes e Banco de Dados
por
Rafael Alves Cabral Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientadora: Adriana Gomes Alves, Mestre
Itajaí (SC), junho de 2011
ii
SUMÁRIO
LISTA DE ABREVIATURAS.................................................................. iv
LISTA DE FIGURAS ................................................................................. v
LISTA DE TABELAS ............................................................................... vi
RESUMO ................................................................................................... vii
ABSTRACT ................................................................................................. 1
1. INTRODUÇÃO ..................................................................................... 2
1.1 PROBLEMATIZAÇÃO ..................................................................................... 3
1.1.1 Formulação do Problema ................................................................................. 3
1.1.2 Solução Proposta ............................................................................................... 4
1.2 OBJETIVOS ........................................................................................................ 4
1.2.1 Objetivo Geral ................................................................................................... 4
1.2.2 Objetivos Específicos ........................................................................................ 4
1.3 METODOLOGIA ................................................................................................ 5
2. FUNDAMENTAÇÃO TEÓRICA ......................................................... 7
2.1 A INTERNET NO AMBIENTE CORPORATIVO .......................................... 7
2.2 SEGURANÇA DA INFORMAÇÃO ................................................................ 10
2.3 SEGURANÇA DE REDE ................................................................................. 12
2.4 MICROSOFT INTERNET SECURITY AND ACCELERATION SERVER ....... 14
2.5 ESTRUTURA DO ISA SERVER ..................................................................... 17
2.6 ADD-ONS PARA O ISA SERVER ................................................................... 19
3. PROJETO ............................................................................................. 22
3.1 ANÁLISE DE REQUISITOS ............................................................................ 23
3.1.1 REQUISITOS FUNCIONAIS ........................................................................ 23
3.1.2 REQUISITOS NÃO FUNCIONAIS .............................................................. 24
3.1.3 REGRAS DE NEGÓCIO ................................................................................ 24
3.2 DIAGRAMA DE CASOS DE USO .................................................................. 24
3.3 DESCRIÇÃO DAS TABELAS DO ISA SERVER ......................................... 26
4. DESENVOLVIMENTO ....................................................................................... 28
4.1 IMPLEMENTAÇÃO DO SOFTWARE ............................................................ 28
4.2 BANCO DE DADOS ........................................................................................... 29
4.3 FUNCIONALIDADES ........................................................................................ 30
CONCLUSÕES ......................................................................................... 39
TRABALHOS FUTUROS ....................................................................... 40
ANEXOS .................................................................................................... 41
iv
LISTA DE ABREVIATURAS
API Application Programming Interface ASP Active Server Pages CERT Centro de Estudos, Resposta e Tratamento CSS Cascading Style Sheets HTML Hyper Text Markup Language IP Internet Protocol ISA Internet Security and Acceleration MBI Mayer & Bunge Institute MMC Microsoft Management Console MRS Microsoft Reputation Service PHP Hypertext preprocessor SDK Software Development Kit TCC Trabalho de Conclusão de Curso TI Tecnologia da Informação UNIVALI Universidade do Vale do Itajaí URL Uniform Resource Locator VPN Virtual Private Network
v
LISTA DE FIGURAS
Figura 1: Incidentes de segurança na Internet .................................................................................... 11
Figura 2: Posição comum de um firewall em uma rede ..................................................................... 13
Figura 3: Pesquisa de utilização de firewalls ..................................................................................... 14
Figura 4: Tela principal de administração do ISA Server 2006 ......................................................... 15
Figura 5: Estrutura do ISA Server ...................................................................................................... 18
Figura 6: Casos de uso ....................................................................................................................... 25
Figura 7: Tabela FirewallLog ............................................................................................................. 25 Figura 8: Tabela WebProxyLog ......................................................................................................... 25 Figura 9: Monitor de Acessos ........................................................................................................... 30 Figura 10: Relatórios .......................................................................................................................... 31 Figura 11: Relatório TOP 20 Usuários/Período ................................................................................. 32 Figura 12: Relatório TOP 20 Sites/Período ........................................................................................ 32 Figura 13: Bloqueio de Sites .............................................................................................................. 34
vi
LISTA DE TABELAS
Tabela 1. Comparativo das ferramentas similares....................................................................22
vii
RESUMO
CABRAL, Rafael Alves. Software de auxílio no monitoramento da Rede e Geração de Relatórios customizados para o Microsoft ISA Server 2004/2006. Itajaí, 2010. No f 45. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2010.
Uma empresa com conexão para acesso à rede mundial de computadores é condição básica
para a maioria dos negócios. Com isso, a utilização de firewalls se torna indispensável com o
objetivo de diminuir os riscos associados ao acesso livre à internet e aumentar a produtividade dos
colaboradores. Uma opção de software de firewall é o Microsoft ISA Server, um gateway integrado
de segurança de borda para gerenciamento de todas as conexões de rede. Esta ferramenta possui
algumas limitações principalmente para a geração de relatórios, monitoramento de logs e ainda a
necessidade de estar conectado no servidor constantemente para o monitoramento da rede. A
proposta deste trabalho visa o desenvolvimento de um software que trabalhe juntamente com o ISA
Server, atendendo à essas limitações, facilitando assim a administração da rede. Neste trabalho foi
desenvolvido um software, considerado um add-on do ISA Server, para aprimorar o monitoramento
dos acessos dos usuários à internet, agilizando o trabalho do administrador da rede no
gerenciamento e bloqueio de sites. Dentre as principais funcionalidades estão a geração de
relatórios customizados e o monitoramento dos logs dos acessos a páginas da internet.
Palavras-chave: Firewall. Gerenciamento de redes
ABSTRACT
Today a company with connections to access the world wide web is a basic condition for most
businesses. Thus, the use of firewalls will be indispensable in order to reduce the risks associated with free
internet access and increase employee productivity. Among the main existing solutions is the Microsoft ISA
Server, an integrated edge security management gateway for all network connections. This tool has some
limitations especially for the generation of reports, monitoring logs and still need to be logged on the server
to constantly monitor the network. The purpose of this study is to develop a software that works with ISA
Server, given just these limitations and thus facilitate network administration. In this work we developed a
software, which is considered an add-on ISA Server, which will facilitate the monitoring of users access the
Internet, speeding the work of the network administrator in managing and blocking websites. Among the
main features are the blocking by category and reporting customizable like user/period functions not
currently available in ISA Server.
Keywords: Net 1. Firewall 2. Management 3.
2
1. INTRODUÇÃO
Com o avanço da tecnologia, cada vez mais as corporações estão investindo em maneiras de
usufruir dessas tecnologias para obter um diferencial competitivo no mercado. Utilizar ferramentas
tecnológicas no intuito de maximizar a comunicação com o resto do mundo, tem se tornado a
maneira mais eficaz de obter os melhores resultados.
Uma empresa com conexão para acesso à rede mundial de computadores é condição básica
para a maioria dos negócios. Porém, é necessário evitar que essa ferramenta seja utilizada de forma
incorreta ou traga algum problema de segurança para os dados da empresa. Com isso surge a
necessidade de controlar o acesso a Internet proveniente da sua rede interna, no intuito de diminuir
os riscos associados ao acesso livre à rede mundial de computadores e aumentar a produtividade
dos colaboradores e consequentemente, da empresa como um todo.
Existem várias ferramentas que fazem a gerência das conexões de rede com a Internet que
são chamados de Firewall, como por exemplo, soluções em Linux, Cisco, Check Point e dentre as
mais conhecidas está o Microsoft Internet Security and Acceleration (ISA) Server, um gateway
integrado de segurança de borda que faz o gerenciamento de todas as conexões da rede interna para
a rede externa e vice e versa (SHINDER, 2006).
O Microsoft ISA Server possui vários recursos para monitoramento dos acessos dos usuários
sobre o uso da rede, possibilitando ao administrador da rede gerenciar de forma ágil todos os
acessos a sites e serviços externos e identificar possíveis “gargalos” e vulnerabilidades de
segurança. Além de monitorar o tráfego da rede, este software permite uma conexão segura via
VPN (Virtual Private Network) e várias outras funcionalidades que fazem do ISA Server uma
ferramenta utilizada por muitas empresas (MICROSOFT,2006).
Segundo pesquisa encomendada pela Impacta Tecnologia à empresa MBI Mayer & Bunge,
o Isa Server está entre as soluções mais utilizadas pelas empresas ficando atrás apenas das soluções
Linux(MBI,2009). Citando alguns exemplos de empresas que utilizam o ISA Server como solução
principal de firewall estão a Bovespa, Telesp Celular, Osram, Norcon entre outras
(MICROSOFT,2010).
Porém o ISA Server, em todas as suas versões, possui algumas limitações para um
monitoramento mais ágil e para geração de relatórios mais customizados. A ferramenta de geração
de relatórios do próprio ISA Server não possibilita definir, por exemplo, um relatório sobre os sites
3
mais acessados de determinado usuário entre um intervalo de tempo específico. Atualmente existem
alguns softwares como o Bandwidth Splitter, o GFI WebMonitor e o WEBSense WebFilter,
chamados de Add-ons1, que fornecem algumas funcionalidades que não estão disponíveis no ISA
Server, ampliando assim as possibilidades de gerenciamento da rede.
Entretanto, a maioria deles é cara e possuem características que podem tornar inviável a
utilização destes softwares, como por exemplo, consumo excessivo de hardware e rede, dificultando
ainda mais o trabalho do administrador da rede (ISASERVER,2010).
A proposta deste trabalho é criar uma ferramenta que trabalhe em conjunto com o ISA
Server e seja capaz de prover funcionalidades que possibilitem o gerenciamento dos acessos dos
usuários a internet e a geração de relatórios customizados do tipo usuário/período a partir dos dados
gerados pelo próprio ISA Server. Dentre os objetivos principais, está o de criar uma ferramenta que
facilite a administração dos acessos em tempo real, para que o administrador da rede não necessite
estar conectado remotamente no servidor para fazer tarefas simples como bloquear um site ou
visualizar logs de acessos.
1.1 PROBLEMATIZAÇÃO
1.1.1 Formulação do Problema
As versões 2004 e 2006 do Microsoft ISA Server monitoram, em tempo real, todos os
acessos dos usuários por meio de registro de logs de acessos que armazena esses logs em um banco
de dados. Porém, para o administrador da rede visualizar esses registros é necessário estar
diretamente ou constantemente conectado, através de acesso remoto, no servidor do ISA e com a
janela de monitoramento sempre aberta o que dificulta um monitoramento mais ágil. Para gerar um
relatório dos acessos dos usuários existe uma ferramenta de relatórios no próprio ISA Server. O
1 Exemplos encontrados em www.isaserver.org
4
problema está em gerar relatórios mais específicos, como por exemplo, relatórios dos sites mais
acessados por um usuário em um determinado período, o que é uma limitação do software da
Microsoft.
Percebendo todas as limitações do ISA Server, torna-se possível justificar a necessidade de
implementar um software que complemente suas funcionalidades, devido a importância da
agilidade para o administrador da rede em sua tarefa de gerenciamento dos acessos dos usuários a
Internet.
1.1.2 Solução Proposta
A proposta deste trabalho é criar uma ferramenta que trabalhe em conjunto com o ISA
Server e seja capaz de prover funcionalidades que possibilitem o gerenciamento dos acessos dos
usuários a internet e a geração de relatórios customizados do tipo usuário/período a partir dos dados
gerados pelo próprio servidor ISA. Dentre os objetivos principais desta proposta, está o de criar
uma ferramenta que facilite a administração dos acessos em tempo real, para que o administrador da
rede não necessite estar conectado remotamente no servidor para fazer tarefas simples como
bloquear um site ou visualizar logs de acesso.
Este é o fator principal que motivou a realização deste trabalho, visto que uma ferramenta
que possibilite um melhor gerenciamento da rede, contribui para um aumento na produtividade e da
eficiência da administração da rede.
1.2 OBJETIVOS
1.2.1 Objetivo Geral
O objetivo principal deste trabalho é desenvolver um software de auxílio ao administrador
da rede, que possibilite o gerenciamento dos acessos dos usuários a internet sem conexão direta com
o servidor do ISA e a geração de relatórios customizados a partir dos dados gerados pelo Microsoft
ISA Server.
1.2.2 Objetivos Específicos
5
Os objetivos específicos para o desenvolvimento desta proposta são:
• Pesquisar sobre os conceitos e tecnologias envolvidas;
• Pesquisar soluções similares;
• Pesquisar o ISA Server e a estrutura de seu banco de dados;
• Definir e modelar as características a serem desenvolvidas no software;
• Definir e compreender as ferramentas e linguagens de programação a serem utilizadas;
• Implementar o software;
• Testar e validar o software;
• Documentar todo o desenvolvimento do projeto e os resultados obtidos com a conclusão
do software;
1.3 Metodologia
A metodologia aplicada para a realização deste projeto foi dividida em quatro fases, no
intuito de organizar e facilitar o desenvolvimento do trabalho.
• Pesquisa: A pesquisa será feita através da Internet e livros disponíveis na biblioteca
da Univali. Inicialmente será feita uma pesquisa nos principais portais de busca
como o Google, Bing e outros e se estenderá a quaisquer sites que tratem do assunto
e em seguida nos livros disponíveis na biblioteca da Univali para mais informações,
considerando a procedência das mesmas, relevância e características aplicáveis ao
desenvolvimento do trabalho. Também nesta fase será feita uma pesquisa sobre
softwares semelhantes para identificar quais deles possuem características similares
ao deste projeto. Posteriormente serão definidos os softwares a serem testados
conforme características similares, para identificar possíveis comportamentos ou
funcionalidades que ainda não foram desenvolvidas e que possam ser implementadas
para o ISA Server.
6
• Definição de Requisitos e Modelagem: Nesta fase serão definidas todas as
características a serem implementadas, através da modelagem do software e suas
funcionalidades, baseando-se nos dados das pesquisas da primeira fase. Em um
segundo momento será feita a definição e compreensão das ferramentas e linguagens
de programação a serem utilizadas para o desenvolvimento do projeto.
• Desenvolvimento: Esta fase será dedicada ao desenvolvimento do software,
baseando-se na modelagem definida na segunda fase deste projeto. Conforme a
implementação do software evoluir, serão feitos testes até que o software esteja
pronto, quando será feito uma bateria de testes final para validação do software.
• Documentação: Esta fase do projeto será desenvolvida em paralelo às outras três
fases anteriores, sendo a ultima a ser finalizada após o desenvolvimento de todo o
projeto. Será dedicada a documentar todos os dados referentes às fases de Pesquisa,
Modelagem e Desenvolvimento e será dividida em duas partes. A primeira parte será
dedicada às fases de Pesquisa e Modelagem chamada de Trabalho de Conclusão de
Curso I (TCCI). A segunda parte será para a fase de Desenvolvimento e
Documentação chamada de Trabalho de Conclusão de Curso II (TCCII), finalizando
com um artigo científico para divulgação da pesquisa realizada.
2. FUNDAMENTAÇÃO TEÓRICA
2.1 A Internet no Ambiente Corporativo
Antes da era da internet, a informática tinha pouca relevância para o negócio real da maioria
das empresas, atuando somente na retaguarda ou no aprimoramento de processos, mas dificilmente
era vista como um elemento de negócio. Com o avanço rápido da tecnologia, as empresas que
fizeram da tecnologia da informação uma ferramenta importante para o negócio se destacaram no
mercado, influenciando assim a rápida disseminação de ferramentas computacionais até então
pouco utilizadas, como a Internet.
Não há como negar a importância da utilização da internet como principal meio de
comunicação das empresas, oferecendo redução de custos, eficácia e rapidez na substituição de
outras ferramentas como o correio, fax e até mesmo o telefone. O acesso rápido a informação
também está entre os principais benefícios do acesso a rede mundial de computadores no ambiente
corporativo. Esta ferramenta tecnológica se tornou um dos principais diferenciais competitivos para
empresas de todos os tipos no mundo inteiro (NIC, 2010).
Essa facilidade de acesso a informações de todos os tipos através da internet faz com que o
seu uso se torne uma das principais ferramentas de trabalho para muitas empresas. Porém, abre
caminho para vários tipos de problemas relacionados a segurança da informação, como ataque de
hackers2, vírus3, espionagem e roubo de informações, problemas esses que fazem da segurança da
informação objeto de pesquisa por muitos profissionais da área de tecnologia da informação.
Os problemas associados ao acesso livre à rede mundial de computadores tem se tornado um
dos principais desafios das organizações, pois as conseqüências podem significar perda de dinheiro,
queda da produtividade, falta de credibilidade, entre outros problemas que podem gerar uma perda 2 Hackers – são profissionais especializados em invadir sistemas e burlar a segurança de redes, muito comumente relacionados com espionagem e roubo de dados (MICROSOFT, 2010). 3 Vírus - é um programa malicioso desenvolvido por programadores que, tal como um vírus biológico, infecta o sistema, faz cópias de si mesmo e tenta se espalhar para outros computadores, utilizando-se de diversos meios (MICROSOFT, 2010).
8
de competitividade no mercado. Como a segurança da informação se tornou uma área fundamental
para as empresas, cada vez mais elas têm tomado medidas para diminuir os riscos e evitar
problemas de segurança. A utilização de ferramentas computacionais para controle e proteção dos
dados da rede da empresa, em conjunto com a criação de regras de utilização de recursos
computacionais pelos seus empregados, tem se tornado o principal caminho a ser seguido pelas
organizações que se preocupam com a segurança da informação no ambiente corporativo.
As facilidades de comunicação com o uso da internet no ambiente corporativo, tem
auxiliado o trabalho e ao mesmo tempo tem gerado outros problemas que também necessitam de
cuidados por parte das empresas e também dos funcionários. O mau uso dos recursos tecnológicos
da empresa pode gerar demissão do funcionário que se utilizar desses recursos para, por exemplo,
divulgar informações sigilosas ou de teor pornográfico ou até mesmo cometer crimes. A empresa
tem o direito de controlar os acessos a sites e programas no ambiente de trabalho, assim como
responsabilizar e punir o funcionário que não seguir as regras. Regras essas que devem ser
divulgadas aos funcionários a fim de manter a ordem e a segurança no ambiente corporativo (RH,
2010).
Muitas delas não fazem nenhum tipo de controle sobre a utilização de seus recursos
tecnológicos por parte de seus funcionários, o que pode gerar desde problemas de segurança até
mesmo problemas jurídicos para a empresa caso um funcionário utilize esses recursos para fins
ilícitos. Caso um funcionário, utilizando alguma ferramenta tecnológica oferecida pela empresa,
cometer algum ato ilícito ou ilegal perante a lei, causando desta forma prejuízos a terceiros, a
empresa poderá ser responsabilizada civil e criminalmente, inclusive seus sócios, pelos danos
causados caso não consiga individualizar o agente criminoso (WANTOWSKY, 2005).
Com isso se faz necessário uma atenção constante no monitoramento e controle das ações
dos funcionários sobre a utilização da internet para garantir que estes problemas não ocorram e, se
acontecerem, que o funcionário culpado seja identificado e punido. A iniciativa para esse tipo de
controle no ambiente corporativo, deve partir do poder diretivo do empregador que deve ser
exercido sempre que houver problemas relacionados ao uso de novas ferramentas tecnológicas
pelos funcionários, possibilitando assim, elaborar normas e aplicar penalidades sempre que for
violada a ordem interna e os princípios estabelecidos pela organização.
9
Uma pesquisa feita no ano de 2009 pela Websense, uma das maiores empresas de segurança
da informação no mundo, mostra o panorama atual das práticas corporativas de segurança e dos
hábitos de utilização da Internet pelos funcionários, incluindo também a percepção dos gerentes de
TI quanto à utilização interna da Web (WEBSENSE, 2009). Foram realizadas 700 entrevistas em
companhias com o perfil de, no mínimo, 250 funcionários da Argentina, Brasil, Chile, Colômbia,
México, Peru e América Central (100 entrevistas em cada país, sendo 50 com funcionários e 50
com gerentes de TI). A seguir são apresentados alguns dados dessa pesquisa que merecem destaque:
- 50 minutos por dia é a média de tempo gasto com a navegação pessoal admitida pelos
funcionários nos países pesquisados;
- 39% dos funcionários entrevistados admitiram passar mais de 50 minutos por dia
acessando sites não relacionados ao trabalho, sendo que para os gerentes de TI esta percentagem é
de 72%;
- os sites mais acessados indicados pelos funcionários foram os sites de notícias (85%),
seguidos pelos de finanças e Internet Banking (79%) e sites governamentais (75%);
- O vazamento de informações está no topo da lista das ações que podem gerar demissão de
um funcionário (90%) e, em seguida o acesso a sites de conteúdo adulto (86%);
Atualmente no Brasil não existe uma legislação trabalhista específica sobre a utilização da
internet em ambiente corporativo, fazendo com que as empresas criem suas próprias regras com o
intuito de minimizar os riscos e consequentemente melhorar a produtividade. Muitas dessas regras
fazem uso de ferramentas computacionais como firewalls4, antivírus5 e controles de conteúdo para
garantir que elas sejam cumpridas com o máximo de eficiência (SUCESU, 2010).
4 Firewall - é o nome dado ao dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede (MICROSOFT, 2010). 5 Antivírus - são programas desenvolvidos por empresas de segurança, com o objetivo de detectar e eliminar vírus encontrados no computador(MICROSOFT, 2010).
10
2.2 Segurança da Informação
Para manter a integridade e gerenciar de maneira mais eficiente os negócios das
organizações, elas têm se tornado cada vez mais dependentes dos sistemas de informação. Esta
dependência faz com que cresça cada vez mais a preocupação das organizações em minimizar os
riscos inerentes da centralização de todas as informações essenciais ao negócio, em ferramentas
tecnológicas muitas vezes desconhecendo o quão vulneráveis elas são.
Nos últimos anos a área de Segurança da Informação tem ganhado cada vez mais atenção
das organizações devido ao crescente número de ameaças que diariamente aparecem no mundo da
tecnologia da informação. Estas ameaças fazem com que as empresas busquem novas metodologias
de trabalho e ferramentas para uma proteção cada vez maior de seus recursos tecnológicos a fim de
eliminar ou minimizar o impacto desses ataques ao negócio da empresa.
A forma como as organizações estão tratando a área de segurança da informação está
mudando, deixando de ser assunto somente da área técnica de TI e abrangendo todas as áreas com
medidas de segurança estrategicamente elaboradas com o envolvimento de todas as pessoas que
lidam com a informação direta e indiretamente, a fim de motivar e conscientizar sobre a
importância dessas informações para a organização.
Com o avanço da tecnologia, a quantidade e diversidade dos incidentes de segurança têm
preocupado todos os setores da sociedade no mundo todo. Um incidente de segurança pode ser
definido como um fato ou um evento adverso que possa comprometer a segurança de um sistema de
informação ou de uma rede. Esses incidentes variam desde apenas um simples vírus de computador
até a invasão de sistemas que comprometem serviços no mundo todo, afetando toda a sociedade.
No Brasil, o CERT.br - Centro de Estudos, Resposta e Tratamento de Incidentes de
Segurança no Brasil, é um grupo de respostas de incidentes de segurança para a Internet brasileira,
mantido pelo NIC.br, que faz um registro dos incidentes de segurança na internet reportados a eles.
A Figura 1 apresenta um gráfico com o total de incidentes por ano desde 1999 (CERT.br, 2010).
11
Figura 1: Incidentes de segurança na Internet
Fonte: CERT. br
Esses dados mostram o crescente número de incidentes que em 2009 atingiu o espantoso
número de 358343 registros de problemas de segurança dos mais variados tipos na Internet
brasileira. Esses dados fazem com que os profissionais de TI e as organizações se preocupem cada
vez mais com a segurança da informação, buscando novas tecnologias e aprimorando processos
com o intuito de diminuir os riscos de problemas de segurança.
O conceito de Segurança da Informação se aplica a todos os aspectos da proteção de dados e
informações contra uma ampla gama de ameaças, no sentido de preservar o valor que possuem para
um indivíduo ou organização (ISO, 2010). Este conceito possui três características básicas:
• Confidencialidade – Abrange a limitação de acessos a informação somente por parte das
pessoas explicitamente autorizadas pelo proprietário dos dados, para impedir que pessoas não
autorizadas tenham acesso ao mesmo.
• Disponibilidade – A informação deve estar sempre acessível no momento em que a mesma
for necessária pelos usuários autorizados;
12
• Integridade – A informação manipulada deve ser retornada em sua forma original,
mantendo suas características estabelecidas pelo proprietário da informação no momento em que foi
armazenada.
Atualmente este conceito de Segurança da Informação está padronizado pela norma
ISO/IEC 17799:2005, influenciada pelo padrão inglês (British Standard) BS 7799. Esta norma cita
como principais objetivos da proteção da informação para garantir:
• continuidade ao negócio;
• minimização do risco ao negócio;
• maximização do retorno sobre os investimentos;
• oportunidades de negócio.
A série de normas ISO/IEC 27000 foi reservada para tratar de padrões de Segurança da
Informação, incluindo a complementação ao trabalho original do padrão inglês. A ISO/IEC
27002:2005 continua sendo considerada formalmente como 17799:2005 para fins históricos
(ISO,2010). Esta norma afirma que a Segurança da Informação é:
‘Especialmente importante no ambiente dos negócios, cada vez mais interconectados. Como um resultado deste incrível aumento da interconectividade, a informação está agora exposta a um crescente número e a uma grande variedade de ameaças e vulnerabilidades.’
Para a maioria das organizações, a informação é considerada um dos bens de maior valor e
importância para o negócio, fazendo com que os investimentos em novas tecnologias e ferramentas
de proteção cresçam a cada ano, a fim de acompanhar o crescente avanço das ameaças que estão
cada vez mais diversificadas, sofisticadas e nocivas. Consequentemente, essa constante
preocupação das organizações com a segurança faz com que o profissional de TI também esteja
constantemente buscando o aprimoramento de suas habilidades e conhecimentos, a fim de prover o
melhor serviço dentro da realidade atual do cenário de segurança da informação.
2.3 Segurança de Rede
Conforme os ambientes computacionais crescem e se diversificam, cresce também os
problemas de segurança para os computadores destes ambientes inviabilizando soluções de proteção
13
somente locais, sendo necessária uma abordagem de proteção da rede como um todo. Assim como
surgem constantemente novas ameaças cibernéticas, também surgem novas ferramentas para
proteção e combate dessas ameaças, provendo uma maior segurança e minimizando os riscos ao
negócio das organizações.
Dentre as soluções de segurança mais utilizadas atualmente estão as ferramentas de controle
e segurança de rede, conhecidas como firewalls. Estes firewalls de rede existem tanto na forma de
software como de hardware ou uma combinação de ambos, caracterizando-se basicamente por
barreiras computacionais interpostas entre a rede privada e a rede externa, conforme modelo da
Figura 2, com a finalidade de liberar ou bloquear o fluxo de determinados tipos de dados e conexões
entre essas redes, atuando como um “filtro” onde será aplicado um conjunto de regras baseadas em
uma política de segurança pré-definida.
Figura 2: Posição comum de um firewall em uma rede
Fonte: MICROSOFT, 2006
As soluções mais utilizadas para a implementação de um firewall como um gateway de
borda são as soluções Linux, seguida pelo Microsoft ISA Server e soluções da Cisco, conforme
pesquisa efetuada pela MBI em setembro de 2009, com cerca de 120 empresas de médio e grande
porte no Brasil (MBI,2009). A Figura 3 apresenta um gráfico com os dados desta pesquisa referente
ao uso de firewalls:
14
Figura 3: Pesquisa de utilização de firewalls
Fonte: MBI, 2009
Soluções de firewall são frequentemente utilizadas por profissionais de TI em conjunto com
outras ferramentas de monitoramento, roteamento, controles de conteúdo, VPN, em um único
gateway centralizado chamado de gateway de borda, facilitando assim a administração do mesmo.
Para este conceito de gateway de borda existem poucas soluções que integram diversos tipos
de controles e serviços em um único software. Um gateway Linux, por exemplo, é comumente
implementado com um conjunto de ferramentas de software para atender algumas funcionalidades
específicas de controle na rede. Uma solução de software que consegue integrar várias ferramentas
de controle em um único software é o Microsoft ISA Server.
2.4 Microsoft Internet Security and Acceleration Server
O Microsoft ISA Server é um gateway de segurança de borda de rede que integra um
conjunto de funcionalidades de controle, possibilitando ao administrador da rede um gerenciamento
centralizado dos recursos de rede e dos acessos dos usuários para a rede externa. Esta ferramenta
15
possui funcionalidades centralizadas em um único software facilitando a instalação, configuração e
manutenção do mesmo (MICROSOFT, 2006).
Figura 4: Tela principal de administração do ISA Server 2006
Fonte: MICROSOFT, 2006
A Figura 4 mostra a tela principal de administração do Microsoft ISA Server 2006, contendo
um menu em árvore na esquerda, com as principais funcionalidades de administração do servidor.
Dentre elas:
• Monitoramento – onde se encontram todas as ferramentas de monitoramento,
visualização de sessões, logs, relatórios, gerenciamento de alertas e serviços
disponíveis no ISA Server;
16
• Diretiva de Firewall – nesta opção se encontram todas as regras do firewall e as
ferramentas de controle do mesmo;
• Redes Virtuais Privadas – nesta opção do menu se encontram as ferramentas de
administração dos acessos via VPN (Virtual Private Network);
• Configuração – nesta opção se encontram as configurações administrativas gerais
da rede, cache e suplementos.
A opção de ajuda do ISA Server fornece orientações sobre todas as funcionalidades do
servidor ISA, com detalhes sobre a configuração e gerenciamento do sistema, informações
sobre resolução de problemas e melhores práticas de utilização das ferramentas do ISA
Server. Dentre as principais funcionalidades disponíveis nas versões 2004 e 2006 estão:
• Suporte VPN;
• Firewall multinível;
• Controle de conteúdo;
• Servidor de Cache da web;
• Conversor de endereços NAT;
• Publicação protegida de servidores;
• Suporte a multi-redes;
• Balanceamento de carga de redes;
• Suporte FTP;
• Detecção de Intrusão;
• Suporte SecurID e RADIUS.
O ISA Server possui também integração aprimorada para outros produtos da Microsoft
como o Microsoft Exchange e Microsoft Windows SharePoint Services. Esse conjunto de
funcionalidades em uma única solução faz do ISA Server um dos softwares de gestão e controle de
rede mais utilizados no Brasil e no mundo, com várias empresas em todas as áreas utilizando este
software como solução principal na administração de suas redes. Alguns exemplos de empresas que
17
utilizam o ISA Server são a Bovespa, Norcon, Sucos Del Valle, Telesp, Osram e Petrobras
(MICROSOFT,2010).
Apesar de ser uma das soluções de gateway multifuncional mais completa do mercado, o
ISA Server possui algumas características que fazem com algumas organizações e profissionais de
TI não utilizem essa ferramenta. O principal motivo é o alto custo de implantação, pois o preço das
licenças é muito alto, fazendo com que a relação custo / benefício não seja equilibrada comparada
com soluções de softwares livre.
2.5 Estrutura do ISA Server
A Microsoft disponibiliza para todas as versões do Microsoft ISA Server, um kit de
desenvolvimento de software (SDK) que auxilia desenvolvedores na criação de filtros da web
adicionais, filtros de aplicação, ferramentas de relatório, comandos de script, gerenciamento de
alertas, entre outros. O SDK do ISA Server fornece documentação completa da API (Application
Programming Interface), que é a interface de programação da aplicação, facilitando a integração de
novas funcionalidades ao servidor (MICROSOFT, 2006).
A estrutura do ISA Server dispõe de filtros de protocolos e pacotes, web Proxy, cache para
acessos a web e o firewall conforme mostra Figura 5. Para cada característica o SDK descreve os
objetos internos de controle, os atributos e as funções programáveis, possibilitando a criação de
novas funcionalidades.
18
Figura 5: Estrutura do ISA Server
Fonte: SDK do ISA Server
O arquivo de ajuda do SDK do ISA Server 2006 disponibiliza as referências de cada
funcionalidade do software do ISA, permitindo o acesso dos desenvolvedores à arquitetura do
software. O detalhamento completo de cada referência se divide em quatro módulos principais
facilitando a compreensão da estrutura do ISA Server.
• Administration : Este módulo aborda toda a descrição dos Objetos, suas propriedades, os
métodos, os Tipos Enumerados, os campos de logs e os códigos de erro para cada
funcionalidade do ISA Server;
19
• Aplication Filter Documentation : Este módulo descreve os Filtros de Interface, que são os
objetos necessários para criação de filtros de aplicações, e a estrutura do firewall com a
descrição de cada objeto e seus eventos.
• Web Proxy Documentation : Este módulo descreve os pontos de entrada dos Filtros, as
estruturas de Notificações e referências para criação de filtros da web customizados.
• Extending ISA Server Management : Este módulo descreve como tornar extensível o
console de administração MMC (Microsoft® Management Console) do ISA Server,
possibilitando a criação de menus customizados e novas funcionalidades.
Para o gerenciamento dos acessos dos usuários a sites da rede externa, o SDK do ISA Server
disponibiliza, no tópico Politicas de Acesso, detalhes do objeto FPCPoliceRule, que é o objeto
usado internamente pelo ISA para adicionar novos bloqueios ou alterar os existentes. Este objeto
possui os principais controles como filtros de pacotes, regras de protocolos e regras de controle de
acessos a sites.
Além de toda a descrição dos objetos internos do ISA Server, o SDK fornece vários
exemplos de códigos em C++ e Visual Basic e alguns scripts prontos para facilitar a compreensão
da ferramenta. Essa documentação do SDK do ISA Server é utilizada por muitos profissionais de TI
para criação de scripts customizados e para a criação de softwares complementares para o ISA
Server chamados de add-ons.
2.6 Add-ons para o ISA Server
Existem no mercado vários softwares que foram desenvolvidos por empresas de segurança,
para complementar ou aprimorar funcionalidades do ISA Server, conhecidos como add-ons. Esses
softwares trabalham em conjunto com o ISA Server, adicionando novas funcionalidades ou
aprimorando as existentes, contribuindo assim para melhorar o gerenciamento da rede.
Estes add-ons são desenvolvidos para várias utilizações e são categorizados conforme sua
utilização. As categorias que dispõem de uma variedade maior de add-ons são as de controle de
conteúdo, controle de acessos e monitoramento (ISASERVER,2010). Estes softwares
20
complementares possibilitam que o administrador da rede implante soluções mais específicas para
determinados problemas que não são tratados pelo ISA Server. Conforme ISASERVER (2010).
Outras funcionalidades que comumente são adicionadas ao ISA Server através de add-ons
são as de antivírus e proteção contra programas espiões. Empresas de segurança como a Kaspersky,
Avast, Avira, Mcafee e Norton disponibilizam add-ons com funções integradas de antivírus que
protegem o servidor do ISA e, em algumas versões, também fazem uma varredura no conteúdo que
está sendo navegado e nos arquivos que estão sendo baixados pelos usuários, complementando a
segurança da rede.
Porém, além da maioria desses add-ons possuírem custo elevado, eles apresentam outras
características que podem inviabilizar sua implantação (ISASERVER, 2010). Dentre elas:
• Funcionalidades já existentes no ISA Server;
• Tráfego excessivo na rede;
• Alto consumo de recursos de hardware no servidor do ISA;
• Lentidão do acesso à internet pelos usuários;
• Problemas de adaptação com outros produtos e serviços como Active Directory e antivírus.
Para desenvolvedores interessados em criar add-ons para o ISA Server, a documentação do
SDK é a principal fonte de informações, com o detalhamento completo das funções, atributos e
especificações referentes a toda estrutura do ISA Server. Essas informações são essenciais para que
o desenvolvedor consiga utilizar os recursos de monitoramento e controles internos do ISA Server
no add-on a ser criado, integrando as novas funcionalidades com o servidor ISA.
Não foram encontrados softwares livres nas principais referencias deste trabalho, que
possuam funcionalidades de monitoramento e geração de relatórios customizados, sendo este um
diferencial deste projeto. Dentre os add-ons disponíveis no mercado que são similares ao
desenvolvido neste projeto destacam-se:
21
• Bandwidth Splitter – software de controle de banda e controle de cota de navegação, muito
utilizado para limitar a banda de determinados usuários da rede. Este software trabalha
integrado ao console do ISA Server e também possui funcionalidades de monitoramento em
tempo real. A ferramenta de monitoramento possui gráficos de utilização da internet para
cada usuário da rede em forma de listas informando também o site que está sendo acessado
no momento. Esta visualização dos logs em tempo real é similar à funcionalidade
implementada neste projeto e influenciou no desenvolvimento da ferramenta (BSPLITTER,
2010).
• GFI WebMonitor – Este software é direcionado para segurança e controle de internet e
possui verificação de antivírus de cada arquivo que está sendo baixado na rede, utilizando
três tipos de antivírus integrados ao software. Também possui controle de acessos a sites
com ferramentas de bloqueio que possibilitam o controle baseado na categoria do site
acessado, consultando uma base de sites pré-cadastrados, diretamente no servidor do
fabricante deste software. Possui também algumas funcionalidades muito similares ao
software desenvolvido neste projeto, por exemplo, relatórios em forma de ranking para
usuários e sites com maior ocorrência na rede e por ser direcionado para web (GFI
WEBMONITOR, 2011).
• WEBSense WebFilter – add-on para filtro de conteúdo e de controle de acesso de usuários,
permitindo implementar controles específicos em filtros de aplicação para cada usuário. É
possível bloquear o tráfego para determinados softwares através do uso de palavras-chave e
assinaturas de software. Este software também possui um filtro para controle da internet
baseado em categorias para bloqueio de sites, utilizando uma base própria para consulta de
sites e possibilitando que o usuário cadastre uma categoria desejada para um site
específico, influenciando também no desenvolvimento deste projeto (WEBSENSE, 2011).
22
A seguir uma tabela comparativa entre o software desenvolvido e as soluções similares citadas:
Tabela 1. Comparativo das ferramentas similares
CARACTERÍSTICAS EM COMUM
Bandwidth Splitter
GFI WebMonitor
WEBSense WebFilter
Software desenvolvido
Acesso pela Web NÃO SIM NÃO SIM
Monitoramento de Logs em tempo real
SIM SIM NÃO SIM
Ferramenta de relatórios por ranking
NÃO SIM SIM SIM
Bloqueio de sites NÃO SIM SIM SIM
Outro diferencial para o software deste projeto é que será implementado para web
possibilitando a visualização dos logs em qualquer lugar, sem a necessidade de estar conectado no
servidor do ISA, como é comum na maioria dos add-ons disponíveis. Este acesso via web será
restrito a rede interna para minimizar os riscos de problemas de segurança. O acesso aos logs e
geração de relatórios também poderá ser disponibilizado à outras pessoas que estejam autorizados,
como gerentes de TI, por exemplo, contendo no máximo os 5 mil primeiros registros para cada
relatório, evitando problemas de desempenho no servidor do ISA Server.
3. PROJETO
Para a fase de Projeto foram definidos os requisitos funcionais e não funcionais juntamente
com as regras de negócio para o desenvolvimento de um add-on para o ISA Server, baseados em
pesquisa desenvolvida nas principais referências sobre o tema na internet. Em seguida a descrição
do banco de dados do ISA Server juntamente com as principais características do software que são
acessíveis para o desenvolvimento de add-ons.
23
3.1 Análise de Requisitos
Para definição dos requisitos, foram analisadas as principais características dos softwares
similares no mercado (Bandwidth Splitter, GFI WebMonitor e WEBSense WebFilter ), obtendo
informações necessárias sobre o que é relevante para ser considerado neste projeto, por exemplo,
bloqueio de sites, relatórios por ranking e acesso via web. A listagem completa dos requisitos
funcionais e não funcionais está descrita a seguir.
3.1.1 Requisitos Funcionais
Os requisitos funcionais (RF) descrevem as funcionalidades que o software deve ser capaz
de executar ou fornecer. Alguns itens foram alterados em relação ao TCCI, principalmente em
relação ao bloqueio de categorias e estão justificados no capitulo quatro. A seguir os requisitos
funcionais para o software deste projeto.
• RF01- O sistema deverá permitir a visualização dos sites acessados em tempo real;
• RF02- O sistema deverá permitir visualizar qual o nome da conta do usuário
autenticado para cada site acessado;
• RF03- O sistema deverá permitir a visualização da data e hora de acesso para cada
site acessado;
• RF04- O sistema deverá permitir a geração de relatórios do tipo usuário/período, os
dez sites mais acessados por todos os usuários, os dez usuários que mais acessam a
internet e os dez sites mais acessados por determinado usuário;
• RF05- O sistema deverá permitir a filtragem por um ou mais usuários da
visualização dos logs de acesso a sites;
• RF06 - O sistema deverá permitir realizar bloqueio de sites.
• RF07 - O sistema deverá solicitar usuário e senha para acesso aos logs do servidor;
• RF08 - As consultas aos logs deverão ser restritas aos 10 mil primeiros registros;
• RF09 - O sistema deverá permitir o desbloqueio de sites que já estejam bloqueados.
24
3.1.2 Requisitos Não Funcionais
Os requisitos não funcionais (RNF) descrevem as características do software, bem como
suas limitações e composição. Para este projeto definiu-se como requisitos não funcionais:
• RNF01- O sistema deve ser voltado para Web;
• RNF02- O sistema deve ser desenvolvido com a linguagem de programação PHP;
• RNF03- O sistema deve utilizar as funções disponíveis no ISA Server e descritas no
SDK;
• RNF04- O sistema deve utilizar o banco de dados do próprio ISA Server.
3.1.3 Regras de Negócio
As Regras de negócio (RN) descrevem as características específicas sobre o funcionamento
do software:
• RN01- O bloqueio e desbloqueio de sites é aplicado para todos os usuários do
sistema;
• RN02- A exportação dos relatórios deverá ter opção para exportar para Excel
(formato CSV).
3.2 Diagrama de Casos de Uso
O diagrama de casos de uso (UC – Use Case) demonstra de forma mais objetiva e melhora a
compreensão de toda a interação dos atores com o sistema, apresentando as suas principais
funcionalidades do ponto de vista do usuário. Para este projeto definiu-se um conjunto de casos de
uso(UC), conforme descrito a seguir:
25
Figura 6: Casos de uso
UC01 – Monitora os acessos
Neste caso de uso o ator Administrador da Rede poderá visualizar os logs de acesso a sites,
clicando no botão INICIAR CONSULTA, nas três colunas de logs da tela principal do sistema, ou
parar uma consulta já iniciada no botão PARAR CONSULTA. Foi retirado o ator ‘GERENTE’
citado no TCCI, pois se considerou desnecessário a criação de perfis de usuário para utilização do
sistema, poupando recursos do servidor. A seguir a descrição de cada coluna de logs:
- USUÁRIO - o nome da conta do usuário autenticado na rede;
- SITES ACESSADOS - os sites que estão sendo acessados pelo usuário;
- DATA E HORA - a data e a hora para cada acesso.
Utilizando a opção FILTRO, o Administrador da rede poderá visualizar os logs de um
usuário específico ou de vários deles, digitando o nome da conta de cada usuário desejado separado
por vírgulas. Este caso de uso atende aos requisitos RF01, RF02, RF03 e RF05.
26
UC02 – Bloqueia sites indesejados
Neste caso de uso o ator Administrador da Rede pode bloquear sites indesejados para todos
os usuários na função BLOQUEIO DE SITE inserindo o endereço do site a ser bloqueado no campo
URL. No campo LISTA DE SITES BLOQUEADOS o Administrador da Rede terá uma lista dos
sites já bloqueados e a possibilidade de remover ou alterar qualquer site desta lista. Este caso de uso
atende o requisito funcional RF09 a regra de negócio RN01.
UC04 – Gera relatórios dos acessos
Neste caso de uso, o ator Administrador da Rede poderá gerar diferentes tipos de relatórios
dos acessos dos usuários. As opções são:
- USUÁRIO / PERÍODO: neste tipo de relatório é possível visualizar quais os sites
acessados por um usuário em determinado período;
- TOP 20 USUÁRIOS / PERÍODO: relatório para identificar os 20 usuários que mais
utilizaram a internet em determinado período;
- TOP 20 SITES / USUÁRIO: neste relatório é possível filtrar os 20 sites mais acessados por
um usuário em determinado período;
- TOP 20 SITES / PERÍODO: relatório para filtrar os 20 sites mais acessados por todos os
usuários em período.
Estes relatórios poderão ser acessados utilizando as opções do menu RELATÓRIOS. Este
caso de uso atende a regra de negócio RN02 e o requisito RF04.
3.3 Descrição das tabelas do Isa Server
A base de dados padrão do ISA Server, em todas as versões, é configurada no Microsoft
SQL Server 2000 Desktop Engine (MSDE, 2000), onde o ISA Server armazena os dados referentes
aos logs de acessos em duas tabelas distintas. A tabela WebProxyLog da Figura 08 registra os logs
27
referentes aos acessos filtrados pelo proxy do ISA Server e a tabela FirewallLog da Figura 07
registra os logs referentes aos atributos gerenciados pelo firewall do ISA Server. A seguir a lista de
atributos para cada tabela:
Figura 07: Tabela FirewallLog Figura 08: Tabela WebProxyLog
Cada tabela de logs é criada em uma base de dados diferente e são criadas bases
novas a cada dia, sendo referenciada uma base de dados diferente para cada dia. Para este projeto,
as duas tabelas citadas serão utilizadas para criação das regras de bloqueio, para as funcionalidades
de monitoramento e para geração de relatórios, utilizando alguns dos atributos das duas tabelas que
são referentes aos nomes das contas de acesso dos usuários, os sites acessados a data e a hora de
28
cada acesso e atributos de controle. Para isso serão utilizadas as informações disponíveis na
documentação do SDK do ISA Server onde se encontra o detalhamento do software e orientações
para desenvolvimento e integração de novas ferramentas. A lista completa da descrição dos
atributos das tabelas está em anexo (ANEXO I), retirado do SDK do ISA Server.
4. DESENVOLVIMENTO
Neste capítulo são descritos os resultados alcançados neste projeto, bem como as técnicas e
ferramentas utilizadas no processo de desenvolvimento do software. Também são apresentadas
todas as funcionalidades e telas implementadas e a interação do software com o Microsoft ISA
Server e o banco de dados Microsoft SQL Server 2000 Desktop Engine (MSDE 2000).
4.1 Implementação do software
Para o desenvolvimento do software foi utilizado o Adobe Dreamweaver CS5 para a
programação e modelagem das telas do sistema. Como o software foi desenvolvido para web e foi
concebido para ser instalado no mesmo servidor do ISA Server, foi necessária a instalação e
configuração do Internet Information Service (IIS), disponível no Windows Server 2003 em todas as
versões. Esta ferramenta possibilita a publicação de páginas na internet facilitando assim a
implementação do sistema sem gerar custos para o projeto.
Nas configurações do IIS foram dadas as permissões de leitura e execução para a Conta de
Convidado da Internet sobre o Site da Web Padrão definido. Esse tipo de permissão também foi
aplicado ao Prompt de Comando do Windows e é necessária para utilização correta do script de
bloqueio de sites. Esta Conta de Convidado é utilizada pelo IIS para definir o tipo de acesso do
usuário aos recursos que os sites publicados oferecem ou utilizam no servidor web. Também na
configuração do IIS foi inserida a extensão para a linguagem PHP para suporte a publicação de
páginas neste formato.
A linguagem PHP foi escolhida, pois além de ser uma linguagem concebida em Código
Aberto para desenvolvimento de aplicações web velozes e leves, sua principal característica é ser
29
modular, possibilitando assim o suporte a uma ampla variedade de bases de dados e protocolos,
permitindo uma maior portabilidade do sistema desenvolvido (PHPBRASIL, 2011). Além do PHP
foi utilizada a linguagem HTML e folhas de estilo CSS para a modelagem visual das interfaces.
Utilizou-se também da tecnologia ASP para completar a interação com o servidor do ISA Server
através de scripts Visual Basic (CRIARSITES, 2011).
4.2 Banco de Dados
O banco de dados padrão utilizado pelo Microsoft ISA Server é o Microsoft SQL Server
2000 Desktop Engine (MSDE 2000), onde se encontram todos os registros de logs gerados pelo ISA
Server. Foi utilizado o SQL Server Management Studio Express para configuração do acesso ao
banco e para verificação dos campos necessários para o software desenvolvido. Para acesso a esses
registros foi criado um novo usuário no banco denominado ACESSO_ISABD com permissões
somente de leitura das tabelas onde estão os registros necessários para o programa.
O ISA Server cria duas bases de dados novas para cada dia, sendo uma base para a tabela
FirewallLog com o nome ISALOG_YMD_FWS_000 e a outra base para a tabela WebProxyLog com
o nome ISALOG_YMD_WEB_000 sendo Y para ano, M para mês e D para o dia. Foi criado um
script de acesso ao banco justamente para conexão na tabela WebProxyLog passando por parâmetro
o login e senha criado e o padrão do nome dado pelo ISA Server a base de dados conforme a seguir:
$connection = sqlsrv_connect ( 'localhost', array ( 'UID' => ' ACESSO_ISABD ', 'PWD' => '*****', 'Database' => 'ISALOG_'.date('Ymd').'_WEB_000' ) );
Esta conexão ao banco é feita na base criada no dia corrente para consulta dos últimos logs
registrados pelo ISA Server, desta forma sendo necessário para visualização dos logs em tempo
real. A partir desta conexão inicial é possível consultar as outras bases anteriores e montar consultas
que percorrem várias bases diferentes. Baseado nisso foram feitas as consultas para os diferentes
30
tipos de relatórios implementados neste projeto. Estas consultas buscaram informações nos campos
descritos a seguir:
- ClientUserName : nome da conta de usuário autenticada;
- LogTime : hora e data do registro do evento de log;
- Uri : URL acessada.
4.3 Funcionalidades
As funcionalidades implementadas neste projeto tiveram como objetivo principal facilitar a
administração dos acessos dos usuários à internet, sem causar perda de desempenho e consumindo o
mínimo possível de recursos do servidor do ISA Server. Na proposta inicial descrita no Trabalho de
Conclusão de Curso I (TCCI), foram apresentadas quatro funcionalidades principais a serem
implementadas: monitoramento de logs de acessos a sites em tempo real, geração de relatórios,
bloqueio de sites e bloqueio de sites por categorias.
A primeira funcionalidade é o Monitor de Acessos para a visualização dos logs registrados
pelo ISA Server dos acessos dos usuários autenticados da rede. A proposta inicial era mostrar na
tela o endereço IP do usuário, o nome do computador, o site acessado e o horário de registro de
cada log. Porém foi identificado que a real necessidade é a de mostrar somente o nome da conta de
usuário autenticado, a URL acessada e o horário do acesso, pois existem cenários de utilização do
ISA Server em que o endereçamento IP é feito dinamicamente e os nomes dos computadores nem
sempre são controlados pela equipe de TI, por exemplo visitantes e fornecedores em uma empresa.
Nestes cenários torna-se inviável a consulta ao IP e o nome do computador nos logs,
podendo causar problemas na geração de relatórios, pois o endereço IP poderia mudar de um
usuário para outro em um determinado período ou ocorrer nomes de computadores idênticos na
rede. Este é o cenário de muitas empresas inclusive a empresa onde o software foi testado, onde
tem-se computadores com mais de um perfil de usuário, notebooks de terceiros e visitantes
acessando a rede. Portanto, após testes foi verificado que a utilização da autenticação Webproxy do
ISA Server para cada usuário é a mais indicada para obter informações precisas em relatórios e na
funcionalidade de monitoramento.
31
Na tela Monitor de Acessos da figura 9, o administrador da rede poderá visualizar os cem
últimos logs registrados pelo ISA Server, na primeira coluna da esquerda o nome da conta de
usuário, na coluna do meio as URLs acessadas e na coluna da direita a data e hora do acesso. Essas
informações foram consultadas no banco do ISA Server através da consulta a seguir:
$query = "SELECT TOP 100 ClientUserName, logTime, uri FROM WebProxyLog"; if (isset($_POST['filtro']))
{ if ((bool) strpos($_POST['filtro_valor'],',')) {
$query .= " WHERE ClientUserName is not null AND "; $array_filtros = explode(',', $_POST['filtro']); $count = count($array_filtro); foreach ($array_filtros as $key => $filtro) { $query .= "ClientUserName = '" . $filtro . "'"; if ($count != $key + 1) { $query .= " OR "; } } } else { $query .= " WHERE ClientUserName = '" . $_POST['filtro'] . "'"; } } $query .= " ORDER BY logTime DESC"; $stmt = sqlsrv_query($connection, $query);
Esta consulta é feita buscando os cem últimos registros dos campos ClientUserName,
logTime e uri da tabela WebProxyLog, ordenado pela data e hora, podendo ser feita uma filtragem
por um ou mais usuários separando-os por vírgulas. Esta consulta é refeita a cada 15 segundos para
atualização da visualização dos logs.
32
Figura 9: Monitor de Acessos
A segunda funcionalidade implementada é a de Relatórios, sendo a principal funcionalidade
do sistema. Foram implementados quatro tipos de relatórios diferentes, atendendo importantes
aspectos da administração dos acessos a internet e fornecendo informações que até então eram
limitadas ou não eram disponíveis na ferramenta de relatórios do ISA Server.
33
Figura 10: Relatórios
Na tela de relatórios da figura 10 são apresentadas as opções de seleção dos relatórios e os
campos USUÁRIO e PERÍODO para inserir os parâmetros da pesquisa. Na geração de relatórios os
resultados são mostrados na tela ou também é possível escolher o formato Excel (CSV),
possibilitando assim o tratamento dos dados em um editor de texto ou uma planilha Excel por
exemplo.
O primeiro tipo de relatório é o USUÁRIO / PERÍODO, retornando os registros de logs dos
acessos de um usuário em um determinado período com limite de cinco mil registros, mostrados na
tela com o mesmo layout da figura 12. O segundo tipo é o TOP 20 USUÁRIOS / PERÍODO que
consulta os vinte usuários que mais acessaram a internet no intervalo de tempo especificado,
mostrando o total de sites acessados pelo usuário conforme exemplo da figura 11.
34
Figura 11: Relatório TOP 20 Usuários/Período
O terceiro tipo é o TOP 20 SITES / USUÁRIO, consultando os vinte sites mais acessados
por um determinado usuário e mostrando na tela com o mesmo layout da figura 12 apenas com uma
filtragem diferente. O quarto tipo é o TOP 20 SITES / PERÍODO que retorna os vinte sites mais
acessados no período informado exibindo uma listagem na tela também conforme a figura 12.
Figura 12: TOP 20 Sites/Período
35
Para esses relatórios foram consultados os campos ClientUserName, logTime e uri da tabela
WebProxyLog, utilizando um switch case que seleciona o tipo da consulta conforme a escolha do
usuário, descrito no código a seguir:
switch ($_POST['tipo']) {
case 'usuario_periodo'; $titulo = "ACESSOS DO USUÁRIO <b>$usuario</b> ENTRE $data_de E $data_ate"; $eachDb = array(); foreach ($databases as $db) { $eachDb[] = 'SELECT COUNT(' . $db . '.dbo.WebProxyLog.logTime) AS total, ' . $db .
'.dbo.WebProxyLog.uri FROM ' . $db . '.dbo.WebProxyLog WHERE ' . $db . '.dbo.WebProxyLog.ClientUserName = \'' . $usuario . '\' GROUP BY ' . $db . '.dbo.WebProxyLog.uri'; }
$sql = 'SELECT SUM(total) AS soma, uri FROM (' . join(' UNION ', $eachDb) . ') AS resultSet GROUP BY uri ORDER BY uri ASC';
$campos = array ( 'uri' => 'Site', 'soma' => 'Acessos' ); break;
case 'top20_usuarios_periodo'; $titulo = "TOP 20 USUÁRIOS ENTRE $data_de E $data_ate"; $eachDb = array(); foreach ($databases as $db) {$eachDb[] = 'SELECT COUNT(' . $db . '.dbo.WebProxyLog.logTime) AS total, ' . $db .
'.dbo.WebProxyLog.ClientUserName FROM ' . $db . '.dbo.WebProxyLog GROUP BY ' . $db . '.dbo.WebProxyLog.ClientUserName'; }
$sql = 'SELECT TOP 20 SUM(total) AS soma, ClientUserName FROM (' . join(' UNION ', $eachDb) . ') AS resultSet GROUP BY ClientUserName ORDER BY soma DESC';
$campos = array (‘ClientUserName' => 'Usuário','soma' => 'Acessos' ); break;
case 'top20_sites_usuario'; $titulo = "TOP 20 SITES DO USUÁRIO <b>$usuario</b> ENTRE $data_de E $data_ate"; $eachDb = array(); foreach ($databases as $db) {$eachDb[] = 'SELECT COUNT('.$db .'.dbo.WebProxyLog.logTime) AS total,' . $db .
'.dbo.WebProxyLog.uri FROM ' . $db . '.dbo.WebProxyLog WHERE ' . $db . '.dbo.WebProxyLog.ClientUserName = \'' . $usuario . '\' GROUP BY ' . $db . '.dbo.WebProxyLog.uri'; }
$sql = 'SELECT TOP 20 SUM(total) AS soma, uri FROM (' . join(' UNION ', $eachDb) . ') AS resultSet GROUP BY uri ORDER BY soma DESC';
$campos = array('uri' => 'Site', 'soma' => 'Acessos' ); break;
case 'top20_sites_periodo': $titulo = "TOP 20 SITES ACESSADOS ENTRE $data_de E $data_ate"; $eachDb = array(); foreach ($databases as $db) {$eachDb[] = 'SELECT COUNT(' . $db . '.dbo.WebProxyLog.logTime) AS total, ' . $db .
'.dbo.WebProxyLog.uri FROM ' . $db . '.dbo.WebProxyLog GROUP BY ' . $db . '.dbo.WebProxyLog.uri';} $sql = 'SELECT TOP 20 SUM(total) AS soma, uri FROM (' . join(' UNION ', $eachDb) . ') AS
resultSet GROUP BY uri ORDER BY soma DESC'; $campos = array('uri' => 'Site', 'soma' => 'Acessos'); break; }
36
A terceira funcionalidade implementada neste sistema foi a de Bloqueio de Sites, utilizando
informações retiradas do SDK do ISA Server para a criação da interação do sistema com as
funcionalidades de bloqueio do servidor ISA. A figura 13 mostra a tela de bloqueio com um campo
para digitar a URL desejada e o botão de bloqueio e também a possibilidade de editar as URLs já
bloqueadas clicando no link EDITAR URLs BLOQUEADAS. Após a edição é necessário clicar no
botão Atualizar para salvar as novas configurações.
Figura 13: Bloqueio de Sites
O acesso às funcionalidades de bloqueio do ISA Server foi feita a partir de um script em
Visual Basic que faz a leitura de um arquivo de texto chamado SitesBloqueados.txt onde será
gravada a URL digitada pelo usuário. Este script foi embutido em uma página ASP para acesso aos
recursos disponíveis somente no servidor do ISA e está descrito no código abaixo:
<% Set Isa = CreateObject("FPC.Root") Set CurArray = Isa.GetContainingArray Set RuleElements = CurArray.RuleElements Set URLSets = RuleElements.URLSets Set URLSet = URLSets.Item("SitesBloqueados")
37
Set FileSys = CreateObject("Scripting.FileSystemObject") Set UrlsFile = FileSys.OpenTextFile("C:\Inetpub\wwwroot\SitesBloqueados.txt", 1) For i = 1 to URLSet.Count URLSet.Remove 1 Next Do While UrlsFile.AtEndOfStream <> True URLSet.Add UrlsFile.ReadLine Loop CurArray.Save %>
O script abre o objeto FPC.Root que é responsável pelo acesso aos demais objetos de
gerenciamento de listas de URLs nas configurações de firewall do ISA Server. Ao abrir a lista de
URLs “SitesBloqueados”, o script gravará nesta lista o conteúdo lido no arquivo
SitesBloqueados.txt e salvará as configurações, confirmando o bloqueio da URL desejada. Essa
lista de sites bloqueados pode ser inserida como Exceção no acesso externo em uma regra de acesso
no ISA Server. Por exemplo, uma regra principal de liberação para internet pode liberar o acesso a
todos os sites da internet com exceção dos sites da lista de bloqueio que está sendo controlada.
A quarta funcionalidade proposta no TCC I foi a de Bloqueio de Sites por Categoria. Porém
com a mudança do site da Microsoft, que oferece o serviço Microsoft Reputation Service (MRS),
saindo da versão BETA2 para a versão final, houve uma reformulação do seu conteúdo
impossibilitando a sua implementação. O serviço MRS da Microsoft consiste em uma base dados
para consulta a categorias de sites pré-definidas pela Microsoft. Como este serviço MRS estava em
caráter BETA foi incluída a implementação desta funcionalidade no sistema como risco do projeto
no TCCI. O serviço MRS saiu da versão BETA2 para a versão final no início deste ano, porém
muitos sites ainda não foram categorizados ou estão categorizados errados.
No site da versão BETA2 era possível acessar, através de scripts automáticos de consulta, os
campos de retorno onde eram mostradas as categorias após a consulta, sendo esta a motivação
inicial para a implementação de uma ferramenta que pudesse utilizar essa base de dados de
categorias para bloquear sites que estejam em uma categoria indesejada. Atualmente o site do
serviço MRS foi desenvolvido para evitar que o campo de retorno das categorias consultadas seja
acessado ou copiado, não sendo possível a utilização para consultas automáticas. Porém, ainda pode
ser útil para o administrador da rede caso ele encontre uma url e deseje saber qual a categoria que a
Microsoft definiu, consultando diretamente no site (MRS, 2011).
38
Apesar de existirem outros serviços de categorização de sites oferecidos por outras
empresas, como a GFI e a Norton (SYMANTEC, 2011), estão direcionados para serviços pagos
inviabilizando a utilização neste trabalho. Outras opções foram cogitadas como a implementação da
categorização no próprio software e a criação de scripts de análise de conteúdo dos sites, porém
foram descartadas por onerar muito tanto o desempenho da rede quanto o tempo de trabalho do
administrador da rede em categorizar cada site.
39
CONCLUSÕES
O principal objetivo do software deste projeto é facilitar o gerenciamento dos acessos a sites
externos que são filtrados pelo Microsoft ISA Server e oferecer uma opção de geração de relatórios
ágil e mais voltada para as necessidades do dia a dia do administrador da rede. Com foco na
versatilidade da administração foi implementada uma ferramenta via web que possibilite o
monitoramento dos acessos sem a necessidade de se conectar no servidor e abrir o console do Isa
Server, percebendo, após testes em um ambiente real, ser de grande ajuda para profissionais de TI
que estão sempre em busca de ferramentas facilitadoras para o trabalho.
Apesar de ser uma solução em código aberto, direcionada para versões do ISA Server (2004
e 2006) que serão descontinuadas pela Microsoft, este software se faz útil, pois ainda existem
muitas empresas no mercado que utilizam estas versões devido ao alto custo de novas licenças e de
mão de obra especializada para atualização de seus sistemas.
Mesmo atuando em uma abordagem simples, o software deste projeto está envolvido em
muitos conceitos, desde gestão de pessoas até segurança de rede, que tiveram que ser pesquisados
para que o software não tenha problemas de integração com ambientes e políticas já existentes, que
não consuma recursos desnecessários do servidor e que realmente possa se tornar um diferencial
para o administrador na gerência de sua rede.
Profissionais de todas as áreas necessitam de agilidade e qualidade na busca das informações
que são pertinentes e úteis para a rotina de trabalho e na administração de redes essas qualidades se
tornam essenciais para o cumprimento das atividades do administrador da rede, pois podem ajudar a
evitar sérios problemas de segurança. Além disso, possibilitam gerenciar a produtividade dos
usuários sobre a web que frequentemente se torna uma grande distração e consequentemente um
problema para as empresas. Com isso se justifica o desenvolvimento de uma ferramenta que
contribua para o administrador da rede no gerenciamento de sua rede e, consequentemente,
melhorando a qualidade dos serviços prestados.
40
TRABALHOS FUTUROS
Este software, mesmo sendo uma versão inicial já está sendo utilizado em um ambiente real
na empresa onde trabalho e despertou interesse de outras duas empresas que também trabalham com
o ISA Server. Por conta disso serão feitas pesquisas com profissionais especializados sobre outras
funcionalidades e melhoramentos que possivelmente podem ser inseridos no software para
lançamento de uma versão comercial em breve.
Outras funcionalidades voltadas à utilização de gráficos dinâmicos de utilização da internet
serão implementadas facilitando ainda mais a visualização do tipo de conteúdo acessado pelos
usuários e fornecendo mais uma opção de monitoramento para o administrador da rede.
41
ANEXOS
ANEXO I – DICIONÁRIO DE DADOS DAS TABELAS DO ISA SERVER
A tabela a seguir descreve os campos acessíveis da tabela FirewallLog do ISA Server.
ORDEM Nome do Campo (MSDE databases)
Descrição
0 servername Nome do computador do ISA Server
1 logTime Dia e hora do registro do log
3 protocol Protocolo de transporte
4 SourceIP
SourcePort IP e porta de origem da requisição
5 DestinationIP
DestinationPort IP e porta de destino da requisição
6 OriginalClientIP IP do cliente
7 SourceNetwork Rede de origem
8 DestinationNetwork Rede de destino
9 Action Ação a ser tomada pelo ISA Server
10 resultcode Código de erro do Windows
11 rule Regra de acesso
12 ApplicationProtocol Protocolo de aplicação
13 Bidirectional Direção do tráfego de rede
14 bytessent Numero total de bits enviados pela rede
15 bytessentDelta Numero total de bits enviados do clienta para o computador do ISA Server
16 bytesrecvd Numero total de bits enviados do computador de origem para o computador de destino
17 bytesrecvdDelta Numero total de bits enviados do computador de destino para o computador de origem
18 connectiontime Tempo total de conexãothe connection was closed.
19 connectiontimeDelta Tempo total de log
20 SourceProxy Uso futuro
21 DestinationProxy Uso futuro
42
22 SourceName Uso futuro
23 DestinationName Domínio de destino
24 ClientUserName Conta de usuário
25 ClientAgent SO do cliente
26 sessionid Identificaçaõ de sessão
27 connectionid Identificação de conexão
28 Interface Adaptador de rede
29 IPHeader Cabeçalho IP
30 Payload Cabeçalho de protocolo
31 GmtLogTime Hora do Log GMT
A tabela a seguir descreve os campos acessíveis da tabela WebProxyLog do ISA Server.
ORDEM Nome do campo (MSDE
databases) Descrição
0 ClientIP IP do cliente
1 ClientUserName Conta de usuário
2 ClientAgent Nome do navegador do cliente
3 ClientAuthenticate Verificador de autenticação do usuário
4 logTime Data de ocorrência do log
5 logTime Hora local de ocorrência do log
6 service Nome do serviço em log
7 servername Nome do computador do ISA Server
8 referredserver URL do servidor de referência
9 DestHost Domínio do computador remoto
10 DestHostIP IP do computador remoto
11 DestHostPort Porta do computador remoto
12 processingtime Tempo de processamento de rede
13 bytesrecvd Numero total de bits enviados do computador de origem para o computador de destino
14 bytessent Numero total de bits enviados pela rede
15 protocol Protocolo de rede
16 transport Protocolo de conexão (UDP - TCP)
17 operation Método HTTP de operação
18 uri A URL solicitada pelo cliente
43
19 mimetype Tipo de MIME (Multipurpose Internet Mail Extensions)
20 objectsource Tipo de fonte do objeto requerido pela conexão
21 resultcode Código de erro do Windows
22 CacheInfo Status da cache da conexão
23 rule Regra de acesso
24 FilterInfo Informação de filtragem
25 SrcNetwork Rede de origem
26 DstNetwork Rede de destino
27 ErrorInfo Informação de erro de conexão
28 Action Ação a ser tomada pelo ISA Server
29 GmtLogTime Hora do Log GMT
30 AuthenticationServer Servidor de autenticação
44
REFERÊNCIAS BIBLIOGRÁFICAS
BSPLITTER. Features. 2010. Disponível em: <http://www.bsplitter.com/features.aspx>. Acesso
em: 19 Abril 2010
CERT.br. Estatísticas de Incidentes. 2010. Disponível em: < http://www.cert.br/stats/incidentes/>.
Acesso em: 19 Abril 2010.
CRIARSITES. Apostilas.2011. Disponível em: <http://www.criarsites.com/apostilas-de-
linguagens-utilizadas-na-criacao-de-sites/> Acesso em: 21 janeiro 2011
ISASERVER. Software Add-ons. 2010. Disponível em: <http://www.isaserver.org/software/> .
Acesso em: 21 abril 2010
GFI WEBMONITOR. Overview. 2011. Disponível em: <http://www.gfi.com/internet-monitoring-
software/>. Acesso em: 19 maio 2011
ISO. Segurança da Informação. 2010. Disponível em:
<http://www.iso.org/iso/catalogue_detail?csnumber=39612> . Acesso em: 05 Abril 2010
MICROSOFT. O que é o ISA Server 2006?.2006. Disponível em:
<http://www.microsoft.com/brasil/servidores/isaserver/prodinfo/overview.mspx#EZC>. Acesso em:
09 fev 2010.
MICROSOFT. Casos de Sucesso. 2010. Disponível em:
<http://www.microsoft.com/brasil/Casos/busca_produto.aspx?Page=1&idProduto=9>. Acesso em:
09 fev 2010.
MRS. Microsoft Reputation Service. 2011. Disponível em: <
http://www.microsoft.com/security/portal/mrs/>. Acesso em: 19 maio 2011.
45
MBI. Segurança da Informação. 2009. Disponível em:
<http://www.mbi.com.br/MBI/biblioteca/relatorios/200907segurinfo/>. Acesso em: 27 fev 2010.
NIC. Evolução da Internet. 2009. Disponível em: <http://www.nic.br/imprensa/coletivas/2009/tic-
empresas-2008.pdf > . Acesso em: 05 julho 2010
PHPBRASIL. Artigos sobre PHP. 2011. Disponível em: <http://phpbrasil.com>. Acesso em: 26
mai 2010
RH. Risco do Uso da Internet em empresas . 2009. Disponível em:
<http://www.rh.com.br/Portal/Relacao_Trabalhista/Video/5899/riscos-do-uso-da-internet-em-
empresas.html> Acesso em: 20 maio 2010
SYMANTEC .Norton Web Safe. 2011. Disponível em: <http://safeweb.norton.com/about>.
Acesso em: 07 Abril 2011.
SUCESU. Riscos, Controles e Legislação no uso da Internet nas Empresas.2010. Disponível
em: < http://www.sc.sucesu.org.br/banner.php?banner_rodape=1&&cd_banner=95>. Acesso em:
07 Abril 2010.
SHINDER, THOMAS. What is the ISA 2006 firewall?. 2006. Disponível em:
<http://www.isaserver.org/articles/What-is-ISA-2006-Firewall.html>. Acesso em: 27 fev 2010.
WEBSENSE. Web@Work 2011.2011. Disponível em:
<http://www.websense.com/content/Regional/Brazil/newsroom.aspx?ID=1855>. Acesso em: 19
Maio 2011.
WANTOWSKY, Giane. O mau uso da internet pode ensejar dispensa por justa causa. 2005.
Disponivel em: <http://www.boletimjuridico.com.br/doutrina/texto.asp?id=884>. Acesso em: 21
maio 2010