SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Downloaden Sie, um offline zu lesen
CENTRO UNIVERSITÁRIO DA FUNDAÇÃO
    EDUCACIONAL DE BARRETOS
             UNIFEB




 ESTUDO DO IPCOP COMO FIREWALL DE
             APLICAÇÃO




      DOUGLAS MARRA DA COSTA
      RAFAEL APARECIDO DE LIMA




                Orientador
       Prof. Fábio Fernando da Silva



                BARRETOS
                   2010
TRABALHO DE CONCLUSÃO DE CURSO


   Estudo do IPCop como firewall de aplicação




              Douglas Marra da Costa
              Rafael Aparecido de Lima




                Trabalho de Conclusão de Curso apresentado à UNIFEB – Centro
                Universitário da Fundação Educacional de Barretos, sob a orientação
                do Prof. Fábio Fernando da Silva para obtenção do título de Bacharel
                em Sistemas de Informação.




                     Barretos
                      2010
Costa, Douglas Marra, Lima, Rafael Aparecido

Estudo do IPCop como firewall de aplicação.
Douglas Marra da Costa e Rafael Aparecido de
Lima. Barretos: UNIFEB, 2010.
Número de páginas f. 63, 29,7 cm

Trabalho de Conclusão de Curso de Sistemas de
Informação – Centro Universitário da Fundação
Educacional de Barretos, Barretos, 2010.

Bibliografia: f. 61

1. IPCop 2. Firewall 3. Segurança
Trabalho de Conclusão de Curso elaborado por:




                             Douglas Marra da Costa
                             Rafael Aparecido de Lima



Aprovado pela Banca Examinadora, aceito pela UNIFEB – Centro Universitário da Fundação
Educacional de Barretos e homologado como requisito parcial à obtenção do título de Bacharel em
Sistemas de Informação.




Nota atribuída pela Banca Examinadora:_________

Data:_____/_____/_____

Membros da Banca Examinadora:

Nome:________________________________ Assinatura:____________________________

Nome:________________________________ Assinatura:____________________________

Nome:________________________________Assinatura:              ____________________________
DEDICATÓRIA


       Dedico esse trabalho a meu Pai, Adilson e minha mãe Gilcinei, por terem apoiado todas

minhas decisões e escolhas, certas ou erradas. Obrigado por acreditarem nesse filho que os ama

tanto. Dedico à minha namorada Isadora pela compreensão, dedicação e apoio desde o início do

curso de Sistemas de informação, foram muito importantes.

                                                                       Douglas Marra da Costa

       Dedico esse trabalho a minha mãe Ana meu Pai Paulo, meus irmãos e todos meus amigos,

colegas e professores.

                                                                     Rafael Aparecido de Lima

       Dedicamos a todos os nossos amigos que nos acompanharam nessa jornada de quatro anos.

Não esqueceremos de todos os momentos que passamos juntos.

                                                                              Douglas e Rafael
AGRADECIMENTOS


       Nossos sinceros agradecimentos:

       Ao professores Fábio Fernando da Silva pela orientação e incentivo durante a realização
deste trabalho, e ao professor Kleber Sartório pela coordenação geral dos Trabalhos de conclusão de
curso da 5° turma de Sistemas de Informação da UNIFEB.

       E a todos os amigos do curso e professores em geral que contribuíram direta ou indiretamente
para a realização deste trabalho.




                                                                                                 4
RESUMO



A globalização trouxe grandes inovações tecnológicas e o amadurecimento da informática fez com
que computadores, antes ilhas isoladas, pudessem se comunicar através de redes mundiais. Muitos
benefícios e problemas vieram com essa evolução tecnológica, e a seguinte questão surgiu: Como
manter a segurança em uma rede privada, enquanto utilizamos a maior rede mundial de
computadores, a Internet? É uma questão complexa e para solucionar problemas complexos,
devemos dividi-los em partes. Esse trabalho mostra como solucionar os desafios que as empresas
encontram para controlar o tráfego desnecessário da rede, gerado por aplicações como MSN
Messenger e outros comunicadores instantâneos, Emule e tantos outros softwares P2P (peer-to-peer).
O IPCop será a ferramenta utilizada, no qual demonstraremos a instalação e configuração dos
módulos específicos para controle de tráfego das aplicações citadas.

Palavras Chave: Comunicadores instantâneos, Firewall, IPCop.




                                                                                                5
ABSTRACT




The globalization has brought significant technological innovations and the maturation of computing
has made computers before, isolated islands, could communicate through global networks. Many
benefits and problems that come with technological developments and the following question arose:
How keep the security on a private network, while we use the world´s largest network of computers,
the Internet? It‘s a complex question and to solve complex problems, we should divide it into parts.
This work show how to solve the challenges that companies find to control the unnecessary network
traffic generated by applications like Msn messenger and others IM Client‘s, and many other
software Emule P2P (peer-to-peer). The IPCop will be the tool used, which we demonstrate the
installation and configuration of specific addons for traffic control applications cited.

Keywords: Firewall, Instantaneous Messenger ,IPCop.




                                                                                                  6
SUMÁRIO

INTRODUCÃO .................................................................................................................................. 11
CAPITULO 1 – OBJETIVOS DESTE TRABALHO .................................................................... 13
  1.1      Objetivos .......................................................................................................................... 13
  1.2      Metodologia do Trabalho ................................................................................................. 13
CAPITULO 2 REFERENCIAL TEÓRICO ................................................................................... 14
  2.1      Protocolos......................................................................................................................... 14
  2.2      Modelo OSI ...................................................................................................................... 14
  2.3      Modelo TCP/IP ................................................................................................................ 17
  2.4      O TCP .............................................................................................................................. 20
  2.5      O UDP .............................................................................................................................. 21
  2.6      O IP .................................................................................................................................. 21
  2.7      O ICMP ............................................................................................................................ 21
  2.8      Firewall ............................................................................................................................ 22
  2.9      Termos Utilizados ............................................................................................................ 24
  2.10     Tipos de Firewall ............................................................................................................. 26
  2.11     Arquiteturas de Firewall................................................................................................... 28
  2.12     IPCop ............................................................................................................................... 30
  2.13     IPCop: Interfaces de Rede................................................................................................ 31
       2.13.1.1       Interface Verde................................................................................................... 31
       2.13.1.2       Interface Vermelha............................................................................................. 32
       2.13.1.3       Interface Laranja ................................................................................................ 32
       2.13.1.4       Interface Azul..................................................................................................... 33
CAPITULO 3 Desenvolvimento .................................................................................................... 34
  3.1      Configuração básica do IPCop ......................................................................................... 34
  3.2      Obtenção de pacotes e softwares adicionais .................................................................... 38
  3.3      O que é URLfilter ? .......................................................................................................... 39
  3.4      O que é P2PBlock ? ......................................................................................................... 39
  3.5      O que é L7Block ? ........................................................................................................... 40
  3.6      Acesso SSH com o Putty ................................................................................................. 40
  3.7      Envio de arquivos com Winscp ....................................................................................... 42
  3.8      Descompactar pacotes ...................................................................................................... 45
  3.9      Instalação do Url filter ..................................................................................................... 46
  3.10     Instalação do P2PBlock ................................................................................................... 46
  3.11     Instalação do L7Blocker .................................................................................................. 47
  3.12     Configuração do P2PBlock .............................................................................................. 47
  3.13     Configuração do L7Blocker ............................................................................................. 50
  3.14     Configuração do Urlfilter ................................................................................................. 55
CONCLUSÃO .................................................................................................................................... 59
REFERÊNCIAS BIBLIOGRAFICAS ................................................................................................ 60




                                                                                                                                                   7
LISTA DE FIGURAS


Figura 1 – Firewall .............................................................................................................................. 23
Figura 2 - Arquitetura Screening router .............................................................................................. 28
Figura 3 - Arquitetura Dual-homed Host ............................................................................................ 29
Figura 4 - Arquitetura Screened Host ................................................................................................. 29
Figura 5 - Arquitetura Screened Subnet .............................................................................................. 30
Figura 6 - Topologia IPCop ................................................................................................................ 33
Figura 7 - interface IPCop................................................................................................................... 34
Figura 8 - Primeiro acesso .................................................................................................................. 35
Figura 9 - Mudando de idioma............................................................................................................ 35
Figura 10 - IPCop Updates ................................................................................................................. 36
Figura 11 - IPCop Update Error.......................................................................................................... 37
Figura 12 - Update .............................................................................................................................. 37
Figura 13 - IPCop ssh ......................................................................................................................... 38
Figura 14 - IPCop P2P Block.............................................................................................................. 40
Figura 15 - Putty ................................................................................................................................. 41
Figura 16 - Putty Securty Alert ........................................................................................................... 41
Figura 17 - Putty Login ....................................................................................................................... 42
Figura 18 – WinSCP Login ............................................................................................................... 43
Figura 19 - WinSCP Transferência de arquivos ................................................................................. 43
Figura 20 - WinSCP Arquivos transferidos ........................................................................................ 44
Figura 21 - WinSCP L7-Protocolos .................................................................................................... 44
Figura 22 – P2PBlocker ...................................................................................................................... 47
Figura 23 - eMule conectado .............................................................................................................. 48
Figura 24 – Bloqueio com P2PBlocker .............................................................................................. 48
Figura 25 - P2PBlocker apply settings ................................................................................................ 49
Figura 26 - Emule conexão bloqueada ................................................................................................ 49
Figura 27 – Log de bloqueio (Layer7 edonkey) ................................................................................. 50
Figura 28 - L7Blocker ......................................................................................................................... 50
Figura 29 – MSN Messenger .............................................................................................................. 51
Figura 30 - L7Blocker create group .................................................................................................... 51
Figura 31 - L7Blocker create rules ..................................................................................................... 52
Figura 32 - L7Blocker MSN-filetransfer ............................................................................................ 52
Figura 33 - L7Blocker Bloqueio de MSN s ........................................................................................ 53
Figura 34 - L7 is not running .............................................................................................................. 53
Figura 35 - L7 Running....................................................................................................................... 54
Figura 36 - Falha na conexão MSN .................................................................................................... 54
Figura 37 - Log bloqueio MSN Messenger ........................................................................................ 54
Figura 38 - URLFilter – fonte: Autores .............................................................................................. 55
Figura 39 - URLFilter Block categories ............................................................................................. 55
Figura 40 - URLFilter Blacklist update .............................................................................................. 56
Figura 41 - URLFilter Categories ....................................................................................................... 56
Figura 42 - URLFilter Categories ....................................................................................................... 57
                                                                                                                                                    8
Figura 43 - URLFilter configurações .................................................................................................. 57
Figura 44 - Urlfilter Expressão regular ............................................................................................... 58
Figura 45 - bloqueio Orkut.com.......................................................................................................... 58




                                                                                                                                         9
LISTA DE TABELAS


Tabela 1 - Modelo OSI – ................................................................................................................... 15
Tabela 2 - Modelo TCP/IP – ............................................................................................................... 19
Tabela 3 - Comparativo Modelo OSI e TCP/IP – ............................................................................... 20




                                                                                                                                          10
INTRODUCÃO

       A globalização ocorre em todos os aspectos do nosso cotidiano, não sendo diferente no
mundo computacional. Tanenbaum (2003) apontou que apesar da indústria de informática ainda ser
jovem, foi simplesmente espetacular o progresso que os computadores conheceram em tão pouco
tempo. Todo esse progresso tecnológico nos deu a liberdade de buscar e compartilhar conhecimento
dentro de uma rede mundial, de acessar informações em servidores espalhados pelo mundo, de ligar
redes privadas a outras conforme nossas necessidades. Porém como o mundo, a Internet não é
segura. Com o surgimento de novos produtos e serviços de TI (Tecnologia da Informação), novos
desafios e riscos também surgiram. Políticas de segurança da informação tiveram que ser revistas e
muitas empresas encontraram obstáculos para controlar a disseminação da informação através de
seus colaboradores. Esses colaboradores devem ser orientados quanto ao bom uso de recursos da
rede e de políticas de acesso à internet para fins pessoais, emails, compartilhamento de arquivos e
outros recursos. Como diz Mitnick (2003), ―o elo mais fraco da segurança da informação são as
pessoas‖.
       Laudon (2004) definiu a informação como um conjunto de dados representados de uma
forma útil e significativa para as pessoas. A informação é poder, sendo necessário manter uma
forma de controle sobre ela. O aumento do fluxo de informações entre empresas, organizações e
governos fez com que a percepção para o controle da informação, tornasse essencial para a
excelência do gerenciamento das mesmas. Podemos notar que muitos usuários são obcecados por
relacionamentos instantâneos com outras pessoas, internas ou externas a organização. Estes mesmos
usuários, sempre estão em busca de burlar a segurança (mesmo inconscientemente) criada para
impedir esse tipo de utilização da rede corporativa, fazendo com que o rendimento, a produtividade e
a segurança dos dados do colaborador diminuam, e, por conseguinte a segurança da organização
como um todo. Por muitas vezes o usuário nem tem idéia do mal que pode estar fazendo.
       A divulgação de informações confidenciais de determinada empresa sobre seus clientes ou
novos produtos em desenvolvimento podem causar prejuízos imensuráveis a mesma. A forma mais
correta de proteger uma rede privada seria com o isolamento físico da estrutura, assim nenhum
indivíduo externo conseguiria acesso sem ter contato com a estrutura física da organização. Porém
com o crescimento da rede mundial de computadores, e a necessidade de conexões entre pontos
distantes, esse isolamento tornou-se praticamente impossível.


                                                                                                 11
Nesse cenário, fez-se necessário algo que pudesse prover uma análise e controle sobre tudo
que entrasse e saísse da rede. Ferramentas como essas são chamadas de firewalls, um conceito de
dispositivo presente na borda da rede por onde todos os dados que entram e saem da mesma, deverão
ser analisados, a fim de manter a rede interna segura de ameaças externas. Cada pacote é tratado de
acordo com as regras do firewall, resultando em pacotes permitidos ou rejeitados.
       Um firewall é concebido por software, hardware ou ambos e sua maior função é o controle
de tráfego indesejado em uma rede interna.
       No mercado há firewalls de todos os tipos e preços, mas quando uma empresa pretende
comprar um produto ou serviço, ela analisa vários aspectos como custo/benefício, manutenção e
treinamentos para os colaboradores responsáveis para administrar o produto.
       Esse trabalho aborda o IPCop, uma distribuição Linux que possui ferramentas de um firewall
moderno, customizável e de fácil utilização. Ideal para empresas com estruturas de redes de pequeno
e médio porte, além de ser gratuito.
       O objetivo principal é documentar os procedimentos de configurações do IPCop para
controle e bloqueio de comunicadores instantâneos e softwares P2P (peer-to-peer), como: MSN
Messenger, Skype, Bittorrent, Emule, Kazaa, Ares além de jogos e outros.
       Qualquer administrador de redes ou outra pessoa com um mínimo de treinamento poderá
utilizar a ferramenta para criar filtros de controle de tráfego.




                                                                                                12
CAPITULO 1            – OBJETIVOS DESTE TRABALHO

1.1 Objetivos

       Este trabalho tem como objetivo aplicar e analisar o resultado da configuração de políticas de
bloqueio em um ambiente de teste, utilizando uma distribuição linux GNU GPL (General Public
License - Licença Pública Geral) com ferramentas específicas para firewall, conhecida como IPCop.



1.2 Metodologia do Trabalho

       A metodologia utilizada neste trabalho foi a de pesquisa experimental, envolvendo instalação
e configuração de módulos (addons) na distribuição Linux IPCOP 1.4.21, objetivando prover uma
solução customizada de um firewall SOHO (Small Office/HomeOffice).

       Conforme Gil (1999), esta modalidade de pesquisa tem a finalidade básica de desenvolver,
esclarecer e modificar conceitos e idéias para a formulação de abordagens posteriores. Dessa forma
esse trabalho visa dar aos pesquisadores e profissionais da área, maior suporte para que sejam
elaboradas políticas de bloqueio realistas e consistentes em um ambiente organizacional.

       Durante o desenvolvimento do trabalho foram seguidas as seguintes etapas:

              Escolha dos softwares a serem utilizados e testados.

              Levantamento e análise da documentação dos softwares envolvidos.

              Instalação, customização e configuração.

              Testes das políticas de segurança.

              Análise dos resultados obtidos.




                                                                                                  13
CAPITULO 2           REFERENCIAL TEÓRICO

2.1 Protocolos

2.2 Modelo OSI


       Para podermos abordar o tema firewall, há a necessidade de aprofundarmos melhor os
conceitos básicos do funcionamento de uma rede de computadores, para isso iremos abordar de
forma básica os conceitos dos modelos de referência OSI e TCP/IP, e depois protocolos de
comunicação como TCP e de encapsulamento como o IP.
       Segundo afirma Gheorghe (2006) em 1984, a ISO (International Organization for
Standardization) lançou o modelo de referência OSI (Interconexão de Sistemas Abertos) que é um
conjunto bem definido de especificações que se tornaram o primeiro passo em direção a
padronização internacional dos protocolos empregados nas diversas camadas. A criação do modelo
OSI veio com o intuito de garantir que os mais diversos tipos de redes existentes no mundo
seguissem um único padrão. O modelo seria a garantia de uma maior compatibilidade na
comunicação dessas redes. Durante a construção desse padrão, o conceito de comunicação dentro de
uma rede foi dividido em sete camadas, cada camada presente no modelo oferece suporte à camada
acima dela, passando as informações necessárias para que haja uma continuação do processo de
comunicação. Essas informações são passadas através de um processo chamado encapsulamento.
Gheorghe (2006) afirma que as informações contidas em uma camada geralmente têm cabeçalhos e
rodapés e dados encapsulados de uma camada superior. Durante a transmissão de um dado de uma
camada para outra, a camada emissora depositará suas informações nesse encapsulamento, e o
passará à próxima camada, o processo continua até a real transmissão dos dados pela camada física.
O processo é inverso no caso de recebimento de dados.




                                                                                               14
A seguir temos a representação do Modelo OSI:


                                           Modelo OSI
                                            Aplicação
                                           Apresentação
                                              Sessão
                                            Transporte
                                               Rede
                                          Enlace de dados
                                               Física
                                Tabela 1 - Modelo OSI – Fonte: Autores


       Como Tanembaum (2003) citou o modelo OSI não pode ser considerado uma arquitetura de
rede, pois o mesmo não especifica quais os protocolos e serviços exatos que devem ser usados em
cada camada. A seguir uma breve explicação sobre cada camada do Modelo OSI:


      Camada Física


       Conforme afirmação de Gheorge (2006) quando pensamos na camada física devemos pensar
em ―cabos e conectores‖, é a camada física que controla toda a parte mecânica e elétrica da
comunicação.


      Camada de Enlace de dados


       A camada de enlace é a responsável pelo controle de fluxo de bits entre os transmissores da
rede. Segundo Tanenbaum (2003) sua principal funcionalidade é a de criar um canal de comunicação
livre de erros entre os dispositivos da rede, orientando-se pelo número MAC (Media Access
Control); do mesmo. É aqui que a topologia da rede é descoberta.


      Camada de rede


       Tanenbaum (2003) aponta que uma questão fundamental em um projeto de redes é definir
como os pacotes serão roteados da origem até o destino. É na camada de rede que as rotas e o


                                                                                               15
controle do fluxo dos dados são estabelecidos. Gheorhe (2006) cita que quando pensamos na camada
de redes devemos pensar em ―rotas‖.


      Camada de transporte


       Os protocolos presentes na camada de transporte são responsáveis por prover um controle na
velocidade da transmissão dos dados, esse controle é chamado de controle de fluxo. Segundo
Tanembaum (2003) todo esse controle deve ser dado de forma que as camadas superiores fiquem
isoladas das inevitáveis mudanças de tecnologia de hardware.


      Camada de Sessão


       De acordo com Tanembaum (2003), a camada de sessão permite que os usuários de
diferentes máquinas estabeleçam sessões entre eles; ela é a camada responsável por iniciar, gerenciar
e terminar a conexão entre hospedeiros (hosts) de uma rede.


      Camada de Apresentação


       Duas redes distintas podem se comunicar usando tipos de dados diferentes, nessa
comunicação existe a necessidade de algo que traduza os protocolos e dados utilizados na
comunicação. Tanenbaum(2003) aponta que a camada de apresentação gerencia essas estruturas de
dados abstratos e permite a definição e o intercâmbio de estruturas de dados de nível mais alto (por
exemplo, registros bancários). Basicamente ela converte o dado recebido da camada de aplicação e
converte esse dado em um formato comum para a transmissão do mesmo.


      Camada de Aplicação


       Tanenbaum (2003) aponta que a camada de aplicação contém uma série de protocolos
comumente necessários para os usuários, o HTTP (Hyper Text Transfer Protocol), por exemplo, que
constitui a base para a World Wide Web. Essa é a camada mais ―próxima‖ do usuário, a camada de
aplicação fornece serviços a ele na entrega dos dados, ela cria uma interface entre o protocolo de
                                                                                                  16
comunicação e o aplicativo que requisitou algum tipo de serviço. Basicamente, a camada de
aplicação é a responsável por fazer a interação dos softwares usados e o usuário.


2.3 Modelo TCP/IP


       No auge da guerra fria, fim da década de 50, o sistema de comunicação do Departamento de
defesa dos EUA passava todo pela rede pública de telefonia, considerada extremamente vulnerável.
As centrais de comutação eram conectadas de forma hierárquica, e essa era sua grande
vulnerabilidade, já que se alguma dessas centrais parasse isso fragmentaria o sistema em várias ilhas
isoladas.
       Na década de 60 o departamento de defesa firmou contrato com a RAND corporation, a fim
de encontrar uma solução. Um funcionário da RAND, Paul Baran criou um projeto onde apresentava
uma nova topologia e a idéia do uso de comutação de pacotes em todo o sistema, onde o
departamento de defesa gostou do projeto, e pediu para a AT&T detentora do monopólio de
telecomunicação na época para desenvolver um projeto baseado nas idéias de Baran. Porém a AT&T
descartou o projeto, que segundo Tanenbaum (2003) a maior e mais rica corporação do mundo não
podia permitir que um jovem pretensioso lhe ensinasse a criar um sistema telefônico. E assim o
sistema de Baran foi desacreditado.
       Em 1957, a então União soviética saiu na frente dos EUA na corrida espacial, lançando o
primeiro satélite artificial no espaço. Quando foi procurar um culpado o Presidente Eisenhower
descobriu que havia uma disputa interna entre o Exército, a Marinha e a Força Aérea pelo orçamento
de pesquisa do Pentágono. Sua atitude foi criar a ARPA, ou Advanced Research Projects Agency
(Agencia de pesquisa de projetos avançados) que passou a custear projetos promissores.
       Em 1967 o diretor da ARPA Larry Roberts, voltou sua atenção para as redes de
computadores. Em contato com diversos pesquisadores Larry conheceu Wesly Clarck, que sugeriu a
criação de uma sub-rede comutada por pacotes. Mesmo reticente Roberts comprou a idéia e a
apresentou em um simpósio em Gatlinburg, Tennessee, no final de 1967. Para sua surpresa, Roberts
encontrou outro documento na conferência que apresentava um sistema semelhante que já havia sido
implantado sob a orientação de Donald Davies no Laboratório de física nacional da Inglaterra.
Documento esse que havia sido baseado no trabalho descartado de Baran, e que mostrava que a

                                                                                                  17
comutação de pacotes era viável. Segundo Tanenbuam (2003) Roberts saiu da conferência
determinado a construir o que mais tarde ficou conhecido como ARPANET.
       O principio da ARPANET consistia em minicomputadores chamados IMPs (Interface
Message    Processors   — Processadores de Mensagens de Interface) conectados por linhas de
transmissão de 56 kbps. Tanenbaum (2003) aponta que para garantir sua confiabilidade, a sub-rede
tinha de ser uma sub-rede de datagramas, de modo que, se algumas linhas e alguns IMPs fossem
destruídos, as mensagens pudessem ser roteadas automaticamente por caminhos alternativos.
       Em dezembro de 1969 entrou no ar uma rede experimental com quatro nós (UCLA, UCSB,
SRI e University of Utah) que foram escolhidos por já terem um grande numero de IMPs ligados a
ARPANET e por serem redes diferentes e incompatíveis, o que aumentava o desafio. Em três anos a
ARPANET já se estendia por todo território norte americano.
       Tanenbaum (2003) afirma que essa experiência serviu para demonstrar que os protocolos da
ARPANET não eram adequados para execução em várias redes. O que levou a mais pesquisas sobre
protocolos, culminando com a invenção dos protocolos e do modelo TCP/IP. Para estimular o uso
desses protocolos a ARPA ofereceu diversos contratos à Universidade da Califórnia, Berkeley, para
integrá-los ao seu sistema UNIX. Segundo Tanenbaum (2003) durante esse período os pesquisadores
da Califórnia desenvolveram muitos programas e aplicativos para a interligação de redes.
       Durante a década de 80, muitas novas redes foram ligadas a ARPANET, esse crescimento
tornou mais dispendioso a localização de computadores presentes na rede, o que deu origem ao DNS
(Domain Naming System), que segundo Tanenbuam (2003) tinha o objetivo de organizar as
máquinas em domínios, e mapear nomes de hosts em endereços IP.
       Tanenbaum (2003) aponta que o número de redes, máquinas e usuários conectados à
ARPANET cresceu rapidamente depois que o TCP/IP se tornou o único protocolo oficial, em 1º de
janeiro de 1983.
       Conforme afirma Dempster e Eaton-lee (2006), o TCP/IP é um conjunto de protocolos
originalmente desenvolvido em camadas para uso na ARPANET, juntamente com outras normas
sobre as quais o TCP/IP é implementado, como a 802.3 ou Ethernet. O modelo TCP/IP ganhou uma
rápida notoriedade devido também ao fato de ser uma arquitetura de rede aberta, e assim como o
modelo OSI o modelo TCP/IP foi concebido em camadas. Era necessário uma arquitetura flexível,
capaz de se adaptar a aplicações com requisitos divergentes como, por exemplo, a transferência de
arquivos e a transmissão de dados de voz em tempo real (TANENBAUM, 2003).
                                                                                              18
A seguir uma representação do Modelo TCP/IP:


                                        Modelo TCP/IP


                                             Aplicação


                                            Transporte
                                            Inter-redes

                                            Host Rede

                              Tabela 2 - Modelo TCP/IP – Fonte: Autores

      Camada Host Rede

       Os Protocolos da camada Host Rede mapeiam endereços IP para endereços de hardware e
encapsulam pacotes IP em quadros (GHEORGHE, 2006). Sua principal tarefa é transformar os
datagramas IP em quadros de bits que serão enviados ao hospedeiro de destino.


      A camada Inter-redes


       Como aponta Tanenbaum (2003) pode-se dizer que essa camada tem funções muito parecidas
com a camada de redes do modelo OSI, aqui é feito o controle do fluxo, de erros, e o roteamento
para a entrega de pacotes.


      A camada de Transporte


       Ela desempenha o papel fundamental de fornecer serviços de comunicação diretamente aos
processos de aplicação que rodam em hospedeiros diferentes (KUROSE; ROSS, 2006). Tanenbaum
(2003) aponta que a principal finalidade dessa camada, é manter uma conversação entre os
hospedeiros de destino e origem, assim como no modelo OSI.




                                                                                            19
   A camada de Aplicação

       É aqui que residem protocolos como HTTP (Hypertext Transfer Protocol), FTP (File
Transfer Protocol), SMTP (Simple Mail Transfer Protocol), SSH (Secure Shell), DNS (Domain
Name System), todos eles servem para tornar essa camada mais ―próxima‖ do usuário, é ela que faz
a primeira ligação entre o que o usuário deseja e o todo o resto do trabalho invisível a ele.


A seguir um comparativo entre os modelos OSI e TCP/IP:


                              Modelo OSI                 Modelo TCP/IP
                               Aplicação
                              Apresentação                   Aplicação
                                 Sessão
                               Transporte                    Transporte
                                  Rede                       Inter-redes
                             Enlace de dados                 Host Rede
                                  Física
                       Tabela 3 - Comparativo Modelo OSI e TCP/IP – Fonte: Autores



2.4 O TCP

       O TCP (Transmission Control Protocol) é um protocolo presente na camada de transporte do
modelo OSI e do modelo TCP/IP, ele tem como principal função promover uma comunicação segura
e de baixo custo entre os hospedeiros. Tanembaum (2003) afirma que o TCP foi projetado
especificamente para oferecer um fluxo de bytes fim a fim confiável em uma inter-rede não
confiável.
       Ele é um protocolo orientado a conexão, o que lhe permite dar garantias de entrega dos
pacotes de comunicação, ele utiliza-se do protocolo IP para a entrega dos dados, e que segundo Stato
(2009) as características do TCP são:


      Comunicação Fim-a-Fim;
      Multiplexação;
      Controle de Fluxo;
      Confiabilidade.

                                                                                                 20
2.5 O UDP

       O protocolo UDP (User Datagram Protocol) é um protocolo presente na camada de
transporte dos modelos OSI e TCP/IP, ele ao contrario do TCP não é orientado a conexão, os dados
não carregam referências de reordenação ou recuperação, e nos soquetes (sockets) apenas o número
do hospedeiro de destino é inserido. De acordo com Kurose e Ross (2006), socket é a interface entre
a camada de aplicação e a de transporte dentro de uma máquina.
       Segundo afirma Stato (2009) caso haja necessidade de recuperação de dados, normalmente é
implementada na camada de aplicação. A falta de necessidade de confirmação para que haja a
comunicação torna esse protocolo útil para aplicações de tempo real.


2.6 O IP

       O protocolo IP (Internet Protocol – Procolo de Internet) se encontra na camada de redes,
sendo um protocolo de comunicação sem garantia de entrega, ele é um dos protocolos mais
importantes da internet, elaborando o pacote de dados a ser transmitido mais conhecido como
datagrama. Conforme Tanenbaum (2003) aponta, na Internet, cada hospedeiro e cada roteador tem
um endereço IP que codifica seu número de rede e seu número de hospedeiro. A combinação é
exclusiva: em princípio, duas máquinas na Internet nunca têm o mesmo endereço IP.


2.7 O ICMP

       O Protcolo ICMP (Internet Control Message Protocol) é um protocolo que reside dentro de
um datagrama IP, sua tarefa é ajudar o IP na administração e controle do fluxo do mesmo,
auxilinado-o e gerando relatórios de erros e trocando informações de estado e controle. Kurose e
Ross (2006) afirmam que o ICMP é usado por hospedeiros e roteadores para comunicar informações
de camada de rede entre sí. Segundo Tanenbaum (2003) quando um erro ou algo inesperado ocorre,
é o ICMP quem tem a responsabilidade de informar isso aos envolvidos na comunicação.




                                                                                                 21
2.8 Firewall

       Muitas empresas mantêm grandes quantidades de informações confidenciais guardadas em
servidores pelo mundo, segredos comerciais, planos de desenvolvimento de produtos, estratégias de
marketing, análises financeiras, entre outros. A divulgação dessas informações para um concorrente
poderia causar impactos negativos para a organização.
       Conforme McCumber, (1991 apud KUROSE, ROSS, 2006) a confidencialidade,
autenticidade, integridade e não-repudiação de mensagem vêm sendo considerados componentes
fundamentais da comunicação segura há bastante tempo.
       Para tentar alcançar a segurança destes três componentes citados acima, firewalls são
utilizados nas estruturas das redes.
       Os firewalls tornaram-se componentes comuns em redes, desde pequenas redes residenciais
até as pertencentes às maiores empresas do mundo (KUROSE, ROSS, 2006). Podem ser
implementados através de um roteador, um PC (personal computer) com software especial, um
sistema com esta capacidade ou um conjunto de hospedeiros, todos configurados especificamente
para proteger um site ou uma sub-rede de protocolos e serviços não confiáveis (SILVA,
FRANKLIN, 1997).
       Atualmente o termo firewall é amplamente difundido na área de tecnologia da informação,
porém o mesmo surgiu na construção civil, como paredes de proteção contra o fogo, projetados para
ficarem entre casas e edifícios. Em segurança da informação, segundo Zwicky, Cooper e Chapman
(2000), na prática, um firewall é mais parecido com um fosso de um castelo medieval do que uma
parede em um edifício moderno.
       O firewall designa uma medida de segurança implementada com o objetivo de limitar ou
impedir o acesso de terceiros a uma determinada rede ligada à Internet (NUNES, 2007).
       De acordo com Kurose e Ross (2006) em uma rede de computadores, quando o tráfego entra
e saí de uma rede e passa por inspeção de segurança, é registrado, descartado, ou transmitido, esse
dispositivo é denominado como firewall. Basicamente um firewall é usado para proteger e assegurar
que o tráfego da rede está sendo transmitido e recebido por caminhos seguros, impedindo assim a
interceptação dos pacotes de dados por indivíduos sem autorização.




                                                                                                22
É como um barreira que impõe limites e controla todo o tráfego de dados entre um ou mais
computadores e uma rede externa, onde essa rede externa pode ser por exemplo a Internet, ou uma
rede vizinha dentro de um prédio.
       Conforme aponta Cheswick e Bellovin (1997) um Firewall é composto por uma coleção de
componentes localizados entre duas redes que coletivamente possuem as seguintes caracteristicas:


      Todo tráfego de dentro para fora e de fora para dentro deve passar pelo Firewall;

      Somente o tráfego autorizado, de acordo com alguma política de segurança local, poderá
       passar;

      Supõe-se que o firewall propriamente dito é imune de invasões.




                                    Figura 1 – Firewall – Fonte: Autores


       Os Firewalls são componentes comuns em pequenas e grandes empresas nos dias atuais e
normalmente são implementados no gateway, nas interconexões de rede, ou seja, onde o tráfego é
constante, isso garante que todo o tráfego da rede passará pelo firewall, como aponta Loanidis (2000

                                                                                                   23
apud KUROSE; ROSS, 2006) localizar o firewall em um único ponto de acesso à rede facilita a
administração e a imposição de uma política de segurança de acesso.
       Conforme aponta Stato (2006) podemos ter dois tipos de políticas de Firewall:
      Default Permit (Permitir por padrão)
      Default Deny (Negar por padrão)

       Na política Default permit (Permitir por padrão) é criado um conjunto de condições,
especificando quais são os protocolos e hosts que deverão ser bloqueados pelo Firewall, o que não
se encaixar nessas regras terão o acesso à rede permitida.
       Já na Política Default deny (Negar por padrão) são definidas no Firewall regras para os
protocolos e hosts que devem ter acesso livre a rede, qualquer protocolo ou host que não esteja
definido será bloqueado.
       Essas políticas podem ser aplicadas sobre toda a rede ou somente sobre alguns protocolos ou
serviços. Um exemplo são protocolos criptografados como o https. Usado em transmissões seguras
como páginas de e-mail ou serviços on-line, por ser um protocolo criptografado o firewall não
consegue analisar seus pacotes. Isso pode ser um problema, o eMule por exemplo software P2P
usado como exemplo nesse trabalho carrega em sí uma opção chamada ―Protocol Obfuscation‖ que
usa https para criptografar o tráfego do mesmo. Nesse caso deve ser aplicada uma política de default
deny sobre esses protocolos criptografados e uma white list deve ser criada para as exceções, ou seja
uma lista dos sites que segundo as políticas da empresa, os colaboradores podem ter acesso.

2.9 Termos Utilizados

   Alguns termos são corriqueiros quando o assunto é firewall, alguns são bastante conhecidos e
outros são confundidos. As definições a seguir são para o contexto de firewalls em geral, de acordo
com a obra de Zwicky, Cooper e Chapman (2000) são elas:
   ● Firewall: um componente ou conjunto de componentes que restringem o acesso entre uma
       rede protegida e a internet, ou entre outros conjuntos de redes.
   ● Host ou Hospedeiro: um sistema de computador conectado a uma rede.
   ● Bastion Host: um sistema de computador que deve ser altamente seguro, pois é vulnerável a
       ataques, geralmente porque é exposto à internet e é o ponto principal de contato para os
       usuários das redes internas. Segundo Ranum (1995 apud Zwicky et al. 2000),―bastions são


                                                                                                  24
àreas críticas de defesa, geralmente apresentando paredes fortes, salas para tropas extras, e o
   ocasional útil repositório de óleo quente para desencorajar os atacantes.‖
● Dual-homed host: em geral, um sistema de computador que possuí duas interfaces de rede.
● Network Address Translation (NAT): é um processo pelo qual um roteador pode realizar
   mudanças no campo endereço dos pacotes que passam por ele. Permitindo assim que os
   hospedeiros de uma rede interna fiquem ocultos e garantindo que vários hospedeiros com
   IP´s não válidos possam acessar a internet. Realmente não é uma técnica de segurança,
   embora possa fornecer uma pequena quantidade de segurança adicional e geralmente é
   executado no mesmo roteador que faz parte do firewall.
● Pacotes (Packets): a unidade fundamental de comunicação entre hospedeiros e redes.
● Proxy: De acordo com o dicionário Michaelis (http://michaelis.uol.com.br/), a palavra proxy em
   sua terceira definição significa substituto, representante. O proxy Recebe solicitações do
   cliente e faz as verificações a fim de conferir se o mesmo tem permissão de acesso a um
   determinado serviço, em caso de confirmação, o proxy então fará a conexão com o servidor
   real.
● Filtro de pacotes (Packet Filtering): É a ação de um dispositivo necessário para controlar
   seletivamente o fluxo de dados de uma rede para outra. Os filtros de pacotes permitem
   bloquear pacotes utilizando um conjunto de regras através de determinado endereço ip, porta
   ou tipo de pacote. Essa filtragem de pacotes pode ocorrer em um roteador ou em algum
   hospedeiro individual. Às vezes, conhecidos como screening ou triagem de pacotes.
● Rede de perimetro (Perimeter Network): Uma rede inserida entre uma rede protegida e uma
   rede externa, a fim de proporcionar uma camada adicional de segurança. Uma rede de
   perímetro é às vezes chamada de DMZ, que significa De-Militarized Zone (nomeado após a
   zona de separação da Coréia do Norte e Coréia do Sul).
● Virtual Private Network (VPN): Uma rede que permite conectar duas redes através de uma
   rede pública, sem que isso seja óbvio para os hospedeiros das redes internas. Em geral, VPNs
   utilizam criptografia para proteger os pacotes que passam através da rede pública. Soluções
   de VPN são populares porque muitas vezes é mais barato para conectar duas redes através de
   rede públicas do que através de redes privadas (como as conexões tradicionais de linhas
   alugadas).


                                                                                               25
2.10 Tipos de Firewall

        Diferentes situações requerem diferentes tipos de abordagem, e trabalhar com firewalls não é
diferente, pois diferentes tipos de ameaças requerem diferentes formas de defesa. Abaixo, citaremos
alguns tipos de firewall como: filtro de pacotes, servidores proxy / gateways de aplicação e
gateways de circuito.
        Filtro de pacotes (Packet Filters): Uma organização normalmente irá precisar de um roteador
que a conecte com seu provedor ISP (Internet service provider – Provedor de acesso à Internet),
assim seu provedor poderá lhe fornecer uma conexão com a Internet Pública. Segundo Kurose e
Ross (2006) todo o tráfego que entra ou sai da rede interna passa por esse roteador, e é nesse
roteador que ocorre a filtragem de pacotes. Um filtro de pacotes permite a um administrador de
redes estabelecer regras que serão aplicadas sobre os pacotes. Assim é através da análise dos
cabeçalhos de pacotes IP/TCP/UDP, números de porta, bits de reconhecimento, que o firewall deve
decidir se o pacote continuará seu caminho, ou será descartado.
        A Política de filtragem de pacotes pode seguir vários tipos de combinações, a fim de chegar
a uma melhor configuração de filtragem de acordo com o tipo de ameaça que se quer ter sob
controle. Segundo Kurose e Ross (2006) as decisões de filtragem são normalmente baseadas em:
endereço de origem, endereço de destino, portas TCP, UDP, de origem, de destino, tipo de
mensagem ICMP, datagramas de inicialização de conexão usando bits TCP SYN ou ACK.
        Segundo Frisch (1995), sistemas packet filtering devem apresentar as seguintes
características:
       Filtragem baseada nos endereços fonte e destino, nas portas fonte e destino, no protocolo,
        nos flags e/ou no tipo de mensagem;
       Filtragem realizada quando o pacote está chegando, quando o pacote está saindo ou ambos;
       Habilidade de desabilitar reprogramação a partir da rede, ou qualquer outra localização que
        não o console.


        Servidor Proxy / Gateway de Aplicação: Como vimos a filtragem de pacotes permite um
controle sobre os pacotes que entram em saem da rede fazendo uma análise sob os cabeçalhos de
pacotes IP/TCP/UDP, números de porta, bits de reconhecimento. Porém se houver a necessidade da
corporação atribuir acesso à rede baseado em identidades de usuários? Kurose e Ross (2006)

                                                                                                      26
apontam que informações sobre a identidade de usuários internos não estão incluídas nos cabeçalhos
IP/TCP/UDP; elas estão nos dados da camada de aplicação.
         Gateways de camada de aplicação fazem mais que analisar cabeçalhos de datagramas eles
tomam decisões mediante dados presentes na camada de aplicação do Modelo OSI. Um Gateway de
aplicação é um servidor especifico de aplicação através do qual todos os dados da aplicação (que
entram e saem) devem passar (KUROSE; ROSS, 2006). Os Servidores proxy estão entre o usuário
da rede interna e os serviços de internet, criando assim uma camada entre a rede interna e a internet
(STATON, 2009), eles recebem as solicitações dos usuários para o serviço da internet, verificam se
estas solicitações são aceitas no conjunto de regras estabelecidas e em seguida passam ou não a
solicitação ao serviço solicitado. Os Servidores proxy possuem dois componentes: Servidor Proxy e
Cliente Proxy no qual o servidor é executado no dispositivo firewall, enquanto o cliente poderá ser
um software que dará maior suporte ao servidor, como um browser, um software SSH (Secure shell
– Shell seguro) entre outros que se comunicam com o proxy server e este por sua vez com o servidor
real.
        Gateway de circuitos: Esse tipo de firewall é similar a um Servidor proxy e atua na camada
de transporte do modelo OSI ou podemos dizer na camada Transporte do modelo TCP/IP. Stato
(2009) aponta que Circuit-Level Gateways cria um circuito entre o cliente e o servidor e não
interpreta o protocolo de aplicação. Ele atua monitorando o handshaking (aperto de mão – processo
onde duas máquinas se reconhecem e confirmam estarem prontas para iniciar uma comunicação)
entre pacotes, objetivando determinar se a sessão é legitima.




                                                                                                   27
2.11 Arquiteturas de Firewall

       A arquitetura de Firewall, nada mais é que a forma em que eles serão dispostos dentro da
rede que visam proteger. Citaremos aqui algumas das mais utilizadas.


       Screening Router : Essa arquitetura utiliza um roteador para proteger uma rede interna, suas
funcionalidades são descritas na seção Filtro de pacotes. É a arquitetura mais falha quando tratamos
de firewall, uma falha no roteador comprometeria toda a rede, esse tipo de arquitetura geralmente
atua em conjunto com outra.




                        Figura 2 - Arquitetura Screening router – Fonte: Autores


       Dual-Homed Host : Nesse tipo de arquitetura toda a segurança da rede depende de um
único computador que atua como um roteador entre as duas redes, isso teoricamente, pois na
verdade o computador em questão não oferece nenhum tipo de serviço de roteamento de pacotes.
Segundo Stato (2009) uma arquitetura deste tipo é montada sobre um computador com duas
interfaces de rede, onde uma está conectada à internet e a outra à rede interna. Nesse tipo de
arquitetura a rede interna consegue conexão com a rede externa (Internet) através do dual-homed
host porém a rede externa não terá comunicação com o sistema interno do firewall. É ideal para
pequenas redes com tráfego baixo.



                                                                                                  28
Figura 3 - Arquitetura Dual-homed Host – Fonte: Autores

       Screened Host: Aqui temos a combinação de um Bastion Host (Hospedeiro bastião) atuando
como Gateway de Aplicação e um roteador com Screening router. Segundo afirma Stato (2009) o
Screening router só aceita conexões provindas do Bastion Host, e o mesmo por sua vez provê os
serviços necessários para a rede interna. Ou seja, o único ponto de acesso à rede interna passa pelo
Bastion Host que recebe apenas dados que já foram analisados pelo screening router. Este tipo de
arquitetura provê duas camadas de segurança: uma a nível de rede através do screening router e
outra a nivel de aplicação através do Bastion Host, Stato (2009) afirma que em termos de segurança,
ela é bem razoável.




                          Figura 4 - Arquitetura Screened Host – Fonte: Autores

                                                                                                  29
Screened Subnet Firewall: Também conhecida como DMZ (DeMilitarized Zone) adiciona
mais uma camada de segurança, implementando uma sub-rede entre a rede interna e a Internet.
Nesse tipo de arquitetura teremos dois roteadores atuando como screening router, um na saída para a
rede externa e outro na entrada da rede interna, entre eles teremos um Bastion Host (Gateway de
aplicação), ou seja, para se chegar a rede interna há a necessidade de se passar pelo roteador externo,
pelo Bastion Host e pelo roteador interno. Stato (2009) aponta que essa arquitetura é mais complexa
de implementar, pois necessita da configuração dos firewall tanto interno como externo, do Bastion
Host e ainda a comunicação entre eles.




                         Figura 5 - Arquitetura Screened Subnet – Fonte: Autores


2.12 IPCop

       O slogan do IPCop é ―The bad packets stop here!‖ o que significa: Os pacotes ruins param
por aqui! Essa é a principal proposta do IPCop, impedir que arquivos não autorizados, (sob o ponto
de vista da organização), entrem em sua rede. O IPCop é um firewall desenvolvido para redes SOHO
(Small Office/Home Office) e fornece as mesmas características de um firewall moderno, mas com
uma diferença, é um software livre, ou seja, temos a permissão de alterá-lo conforme nossas
necessidades, seguindo sempre as especificações GNU GPL.

                                                                                                    30
O livro dos autores Dempster e Eaton-Lee (2006), aborda com detalhes todo o
funcionamento do IPCop, instalação do sistema operacional e alguns módulos, este trabalho baseia-
se no conteúdo do livro para aplicar módulos. Abordaremos a aplicação dos módulos Urlfilter,
Layer7 e P2PBlocker nos quais não são citados no livro.
       A escolha do IPCop em nosso projeto levou em consideração suas características como a
facilidade de uso, sua intuitiva interface web e também a característica de centralizar em um único
ponto 4 redes. No IPCop a rede é separada em 4 cores: verde, vermelha, azul e laranja. A interface
verde representa a rede interna, a interface vermelha faz conexão com a rede externa (Internet), a
interface azul é designada para enlace wireless, e por último, a interface laranja conhecida também
por DMZ (DeMiliatized Zone).
       O IPcop possui duas formas de acesso remoto: ssh e https, sem contar o acesso direto ao
sistema operacional. Conseguimos fazer quase todas as instalações e configurações dos módulos
pela interface web (https), mas alguns módulos possuem peculiaridades, e necessitam ser instalados
e configurados utilizando a linha de comando do IPCop. Um exemplo é o Layer7 que iremos
abordar.



2.13 IPCop: Interfaces de Rede

2.13.1.1 Interface Verde

           A interface Verde representa a rede interna ao Firewall, segundo Dempster e Eaton-Lee
(2006) um firewall IPCop irá automaticamente permitir que todas as conexões sejam realizadas a
partir da interface Verde para todos os outros segmentos da rede. Essa interface verde poderá ser
ligada desde um pequeno HUB até vários swicthes ou até mesmo um roteador. A interface verde
deve possuir um endereço de rede privado, assim o IPCop por padrão exibe apenas um único
endereço IP realizando NAT. O uso de endereços públicos na interface verde seria inútil já que por
padrão o IPCop iria tratá-lo como se fosse um endereço privado. Conforme afirma Dempster e
Eaton-Lee (2006) usar o IPCop como roteamento firewall (ao invés de um firewall realizando NAT,
que é o configuração padrão) requer configurações mais avançadas e não pode ser realizado através
do GUI (Graphical User Interfaces – Interface gráfica do usuário).



                                                                                                31
2.13.1.2 Interface Vermelha

       Assim como a interface verde a interface vermelha estará sempre presente na topologia da
rede, segundo Dempster e Eaton-Lee (2006) a interface de rede vermelha representa a Internet ou um
segmento de rede não confiável.
       O princípio básico do firewall IPCOP é proteger todas as outras interfaces, verde, azul e
laranja de todo o tráfego ocorrido na interface vermelha, essa interface geralmente usará um
endereçamento público que deverá estar de acordo com o seu ISP.
       Conforme afirmação de Dempster e Eaton-Lee (2006) a interface vermelha é o único
segmento de rede em que o IPCop tem apoio para outro hardware de uma rede Ethernet Interface
Card. Esse segmento pode ser uma interface de rede Ethernet atribuída estaticamente ou com uso de
DHCP, pode ser um cabo USB, um modem ADSL ou mesmo uma conexão dial-up com um modem
analógico.


2.13.1.3 Interface Laranja

        A interface laranja é totalmente opcional na arquitetura do IPCop, ela é concebida como
uma rede DMZ (DeMiliatized Zone), o termo DMZ é aplicado na área militar quando há a existência
de um território onde a atividade militar não é permitida. Segundo Dempster e Eaton-Lee (2006) na
terminologia firewall, a DMZ assume um significado semelhante, como um segmento de rede entre a
rede interna de uma organização e uma rede externa tal como a Internet. Aqui a DMZ é protegida da
internet pelo firewall, ela tem exposição direta à internet, assim sendo há a necessidade de separá-la
da interface verde que está em uma zona mais protegida da rede. Segundo Dempster e Eaton-Lee
(2006) é nessa interface de rede não confiável que a organização coloca serviços destinados ao
mundo lá fora. Sendo assim, geralmente é onde ficarão os servidores Web ou de email, por exemplo.
Os clientes residentes na interface laranja não terão acesso a interface verde ou a interface azul, a
não ser que seja configurado um DMZ pinholes. Pinholes podem ser descritos como um canal de
comunicação seguro entre dois clientes presentes em diferentes interfaces da rede, a comunicação da
interface laranja com a vermelha é feita através de redirecionamento de portas




                                                                                                   32
2.13.1.4 Interface Azul

       Assim como a interface de rede Laranja a interface Azul é totalmente opcional, ela foi
adicionada a versão 1.4 do IPCop. Segundo Dempster e Eaton-Lee (2006) esta rede foi projetada
especificamente para ser um segmento de rede wireless. Clientes na interface Azul não alcançam a
interface Verde, isso apenas seria possível através de uma canal direto assim como é feito com a
interface laranja, ou através de uma VPN permitindo assim total acesso aos recursos presentes na
interface verde.


       A figura 6 (seis) mostra um exemplo da Topologia IPCop.




                             Figura 6 - Topologia IPCop – Fonte: Autores


No próximo capítulo abordaremos a instalação e configuração dos módulos no IPCop.




                                                                                             33
CAPITULO 3            Desenvolvimento

        Abordaremos nesse capítulo o desenvolvimento para chegarmos aos resultados esperados.
O bloqueio e controle do tráfego de aplicações como MSN Messenger, transferência de arquivos
pelo mesmo (MSN file transfer), o bloqueio de endereços URL (Uniforme Resource Locator –
Localizador Uniforme de Recursos) e aplicações P2P (Peer-to-perr – Ponto a ponto).
        Será demonstrado a facilidade de configuração e utilização da distribuição e seus
respectivos módulos adicionais. Afinal, empresários que adquirem esse tipo de solução, esperam que
a ferramenta seja útil, eficiente, barata e que o colaborador responsável por administrar a ferramenta
não tenha grandes dificuldades.


3.1 Configuração básica do IPCop

        Nesse ponto do trabalho, abordaremos apenas a configuração do IPCop após a instalação,
caso tenha interesse, no livro dos autores Dempster e Eaton-Lee(2006) o assunto é abordado com
conceitos novos da ferramenta, instalação e configuração da distribuição e vários módulos, com
exceção do l7blocker e p2pblock que estaremos abordando em nosso trabalho.
        O endereço utilizado em nosso desenvolvimento para acessar a interface web é o
https://192.168.0.1:445, lembrando que este endereço é usado em nossa interface verde por ser a
rede interna. Podemos destacar no primeiro acesso, a interface web, uma interface intuitiva e
simples. Vejamos a página principal na figura 7 (sete) abaixo.




                               Figura 7 - interface IPCop – Fonte: Autores
                                                                                                   34
Note que a interface nos mostra algumas informações, como o tempo de conexão do
servidor, o endereço ip usado na interface vermelha e um aviso ―There are updates available for your
system. Please go to the "Updates" section for more information‖, (Há atualizações disponíveis para
seu sistema. Por favor, vá para o "Atualizações" para obter mais informações). Essas atualizações
serão realizadas conforme avançarmos no trabalho. No primeiro acesso, o IPCop pedirá a senha de
validação do usuário Admin, como mostra a figura 8 (oito).




                               Figura 8 - Primeiro acesso - Fonte: Autores

        Após o acesso realizado, devemos citar que o IPCop dá suporte a vários idiomas, nesse
trabalho o idioma escolhido foi o português.
        Temos oito abas na parte superior da página, nas quais conforme avançarmos no trabalho
iremos explicar pelo que cada uma é responsável. Para mudar o idioma clique na aba System, em
seguida em GUI Settings, depois selecione o idioma que deseja que o IPCop exiba, clique no botão
―Save‖ para que o IPCop possa atribuir as mudanças.




                             Figura 9 - Mudando de idioma - Fonte: Autores
                                                                                                 35
Agora com o menus em português estamos prontos para iniciar a atualização do IPCop e
habilitar o acesso via ssh.
         Clique na recém traduzida aba, Sistema, em seguida clique na opção ―Actualizações‖,
estaremos acessando a seguinte página referenciada pela figura 10 (dez) a seguir.




                                 Figura 10 - IPCop Updates – Fonte: Autores


         Há duas formas de atualizar o IPCop, baixando o arquivo diretamente com o auxilio da
interface,      ou    baixando     o     arquivo      de     atualização      do   seguinte   endereço
http://sourceforge.net/projects/ipcop/files/ e posteriormente fazendo o envio do arquivo clicando no
botão ―Selecionar arquivo‖ evidenciado na figura 10 (dez).
             Em nosso procedimento de atualizar para a versão 1.4.21, nos deparamos com uma
situação peculiar. Ao tentar atualizar o IPCop, o seguinte erro era reportado: ―Esta não é uma
atualização autorizada‖, como na figura 11 a seguir.
         A Causa desse problema é o fato do horário não estar atualizado, sendo necessário acessar o
IPCop através da linha de comando (veremos em 3.4) e alterá-lo com o seguinte comando:



                              root@ipcop:~ # date
                         mmddhhmmyyyy
       Onde a sequência após o comando date representa mês, dia, horas, minutos e ano,
respectivamente.


                                                                                                   36
Figura 11 - IPCop Update Error – Fonte: Autores


        Após a modificação do horário e data de nosso IPCop, conseguimos atualizar para a versão
1.4.21 como evidenciado na figura 12 abaixo.




                                  Figura 12 - Update – Fonte: Autores


       Outra opção importantíssima para a configuração da ferramenta, é o suporte ao protocolo
SSH. Sem essa opção habilitada, dificilmente teremos a facilidade de acessar o IPCop para transferir
os arquivos necessários aos outros passos a seguir. Para habilitar o ssh, acesse o menu Sistema e
clique na opção SSH Access. Surgirá a página de configuração que proverá a opção do SSH Access
como na figura 13.

                                                                                                 37
Figura 13 - IPCop ssh – Fonte: Autores


        Nosso ambiente está atualizado e pronto para receber os pacotes necessários para
prosseguimento da configuração do IPCop.


3.2 Obtenção de pacotes e softwares adicionais

       Nesta etapa do trabalho reunimos sete arquivos que são indispensáveis para prosseguir à

próxima etapa. Os nomes dos softwares ou pacotes e a referente URL para download estão abaixo:

            1. Putty (Cliente SSH)
            http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
            2. Winscp (Cliente Ftp e Scp)
            http://winscp.net/eng/download.php
            3. Ipcop-1.4.21-Kernel 2.4.36 (Kernel do Ipcop com suporte ao layer 7)
            http://embcop.org/node/7
            4. URLfilter (Módulo para IPCop)
            http://www.urlfilter.net/
            5. P2pblock 1.4.21 (Módulo para IPCop)
            http://mh-lantech.css-hamburg.de/ipcop/download.php?view.206
            6. L7-Blocker 1.4.21 (Módulo para IPCop)
            http://mh-lantech.css-hamburg.de/ipcop/download.php?view.207
                                                                                                 38
7. L7-protocols (Definições de protocolos. Necessários na configuração do L7)
             http://sourceforge.net/projects/l7-filter/files/Protocol%20definitions/2009-05-28/l7-
    protocols-2009-05-28.tar.gz/download



3.3 O que é URLfilter ?

       O URLfilter é um módulo desenvolvido para o IPCop na intenção de estender sua capacidade

de bloquear domínios indesejados, URL´s e até mesmo arquivos. O Pacote é baseado no

redirecionador SquidGuard (http://www.squidguard.org), e a interface gráfica do URL filter permite

o acesso a todas as configurações necessárias.

3.4 O que é P2PBlock ?

        O P2PBlock é um módulo desenvolvido para o IPCop para controlar a utilização de
softwares P2P como: Kazaa, Emule, WinMX, Bittorrent, Ares, Edonkey, Gnutella, WarezClient,
AppleJuice e alguns outros.
        A interface desse módulo no IPCop, consiste em três colunas contendo respectivamente
nome da aplicação ou protocolo, colunas Block e Log. As duas colunas possuem somente caixas de
marcação (check box), veja figura 14 a seguir.




                                                                                                     39
Figura 14 - IPCop P2P Block – Fonte: Autores


3.5 O que é L7Block ?

         O módulo L7Blocker como o P2PBlock foram desenvolvidos por Markus Hoffman,
aumentando a qualidade do controle de tráfego com o IPCop.
         Desenvolvido para acabar com a ineficiência dos firewalls ao controlar o tráfego de
aplicações como Skype, Msn messenger, Jabber, World of War craft, Telnet, Doom, Counter Strike,
Battlefield e muitos outros.
         O L7Blocker tem um leque de opções desde os mais simples protocolos como telnet até
jogos mundialmente conhecidos. O L7blocker utiliza expressões regulares para identificar e
distinguir os protocolos das aplicações


3.6 Acesso SSH com o Putty

         Com o suporte ao SSH habilitado, devemos testar se nossa conexão está funcionando
corretamente. Para isso execute o Putty, responsável por disponibilizar o acesso remoto a sistemas


                                                                                               40
Linux através de sistemas Windows. Preencha as informações como na figura 15 a seguir,
lembrando que a porta utilizada será a 222.




                                   Figura 15 - Putty – Fonte: Autores




        O primeiro acesso com o Putty exigirá uma confirmação como na figura 16.




                             Figura 16 - Putty Securty Alert – Fonte: Autores



                                                                                   41
Na figura 17 temos a confirmação de que obtivemos sucesso em nossa conexão, no exato
momento que é solicitado ao usuário, a inserção de login e senha.




                                Figura 17 - Putty Login – Fonte: Autores


        Siga para o diretório raiz do sistema e crie uma pasta com o nome addons. Será nessa pasta
onde iremos realizar o upload dos pacotes, posteriormente ela poderá ser apagada. Verifique com o
comando pwd para saber em qual diretório do sistema você está, provavelmente estará no diretório
/root. Na linha de comando digite os seguintes comandos, após a cerquilha (#) como abaixo:


                                  root@ipcop:~ # cd /
                                  root@ipcop:~ # mkdir addons
                                  root@ipcop:~ # ls /


       Os comandos acima significam respectivamente mudança do diretório atual para o diretório

raiz do sistema, criação de um novo diretório e a listagem do diretório raiz do sistema para verificar

se o diretório addons foi criado corretamente.

3.7 Envio de arquivos com Winscp

        Com o funcionamento da conexão remota através de ssh, precisamos instalar o WinSCP que
nos ajudará a enviar os pacotes para o IPCop.
        Após sua instalação, execute-o e preencha as informações como na figura 18. Um detalhe a
ser notado é a utilização da porta 222 como utilizamos no Putty.




                                                                                                   42
Figura 18 – WinSCP Login – Fonte: Autores


        Na figura 19 temos o Winscp conectado no IPCop, ao lado esquerdo estão os arquivos
locais em nossa máquina Windows. Ao lado direito da figura, os arquivos contidos no IPCop.




                     Figura 19 - WinSCP Transferência de arquivos – Fonte: Autores


        Selecione os seguintes arquivos que estão em nossa máquina Windows local:
               Ipcop-1.4.21-kernel-2.4.36.tar.bz2
               Ipcop-urlfilter-1.9.3.tar.gz
               L7blocker_ipcop_1.4.21.tar.gz
               P2pblock_ipcop_1.4.21.tar.gz
                                                                                             43
Arraste-os para dentro do diretório addons, criado anteriormente no IPCop. O Resultado
pode ser visto na figura 20 a seguir.




                        Figura 20 - WinSCP Arquivos transferidos – Fonte: Autores


         O pacote l7-protocols-2009-05-28.tar.gz, contêm os protocolos que serão usados pelo
l7blocker. São escritos com expressões regulares e se não estiverem no diretório /etc/l7-protocols o
L7blocker não irá funcionar corretamente.
         Para corrigir essa falha, descompacte o arquivo em sua própria máquina Windows, acesse o
IPCop com o Putty e crie o diretório l7-protocols dentro do diretório /etc. Envie todos os arquivos
contidos dentro da pasta l7-protocols-2009-05-28 que estão em sua máquina local para dentro do
diretório l7-protocols no IPCop. Veja o resultado como na figura 21 a seguir.




                            Figura 21 - WinSCP L7-Protocolos – Fonte: Autores


                                                                                                 44
3.8 Descompactar pacotes

        Nesta etapa, descompactaremos os pacotes que estão compactados nos formatos tar.gz e
tar.bz2. Para isso acesse o IPCop remotamente através do Putty e digite os comandos a seguir.



                                       root@ipcop:~ # cd /
                                       root@ipcop:~ # ls
                                       root@ipcop:~ # cd addons
                                       root@ipcop:~ # ls

       O comando ls lista os arquivos presentes no diretório, nesse momento temos 4 (quatro)
arquivos:


                 Ipcop-1.4.21-kernel-2.4.36.tar.bz2
                 Ipcop-urlfilter-1.9.3.tar.gz
                 L7blocker_ipcop_1.4.21.tar.gz
                 P2pblock_ipcop_1.4.21.tar.gz
            O pacote mais importante nesse momento é o ipcop-1.4.21-kernel-2.4.36.tar.bz2, pois é o
kernel Linux com suporte ao l7-filter. Sem esse Kernel, não obteríamos sucesso na implementação
dos módulos l7blocker e p2pblock. Para descompactá-lo corretamente insira a seguinte linha de
comando:

                  root@ipcop:~ # tar xvfj ipcop-1.4.21-kernel-2.4.36.tar.bz2 –C /



        A criação de um arquivo dentro do diretório /var/run/ deve ser realizada para que as
alterações tenham efeito no IPCop. As linhas de comando a seguir criam o arquivo need-depmod-
`uname –r`, onde uname –r será substituído pela versão do kernel. O comando reboot realizará a
reinicialização da máquina.


                      root@ipcop:~ # touch /var/run/need-depmod-‗uname –
                      r‘
                      root@ipcop:~ # reboot                                                     45
Após a reinicialização, confira com o comando ―uname –ar‖ a versão atual do kernel. Com
o novo kernel 2.4.36, podemos terminar de descompactar os 3 pacotes restantes. Recomeçaremos
com o Url filter, acesse o diretório addons no diretório raiz e digite a seguinte linha de comando:

                    root@ipcop:/addons # tar xvfz ipcop-urlfilter-1.9.3.tar.gz



         O pacote referente ao P2pblock, contém somente dois arquivos e para a extração dos
mesmos o comando a seguir será utilizado:


                  root@ipcop:/addons # tar xvfz p2pblock_ipcop_1.4.21.tar.gz


         Como foi realizado com os módulos anteriores, a extração dos arquivos contidos no
l7blocker_ipcop_1.4.21.tar.gz ocorre da mesma forma. Veja na linha de comando.


                  root@ipcop:/addons # tar xvfz l7blocker_ipcop_1.4.21.tar.gz

3.9 Instalação do Url filter

         Os comandos a seguir deverão ser inseridos na linha de comando na ordem em que são
mostrados. Dentro do diretório addons digite:


                               root@ipcop:/addons # cd ipcop-urfilter
                               root@ipcop:/addons # ./install

       O Url filter foi instalado com sucesso no IPCop.

3.10 Instalação do P2PBlock

         O P2P Block também é instalado em poucos passos como o Url filter. Dentro do diretório
addons digite:
                                 root@ipcop:/addons # cd p2pblock
                                 root@ipcop:/addons # ./install


       O P2Pblock foi instalado com sucesso no IPCop.
                                                                                                      46
3.11 Instalação do L7Blocker

         Todos os módulos usados como podem notar, são fáceis de instalar. A única diferença para
instalar o L7Blocker é a adição do parâmetro –i no último comando da lista a seguir. Dentro do
diretório addons digite:

                               root@ipcop:/addons # cd l7blocker
                               root@ipcop:/addons # ./install -i


       O L7blocker foi instalado com sucesso no IPCop.

3.12 Configuração do P2PBlock

         Conforme ressaltamos anteriormente sobre a facilidade do uso dos módulos instalados,
iremos começar pelo mais fácil de configurar, o P2PBlock. Na aba Serviços haverá três novas
opções: Url Filter, Layer7 Blocker e P2PBlock, sendo assim clique na opção P2PBlock. Por padrão o
P2PBlock vem com todas as caixas de verificação desmarcadas, como na figura 22.




                               Figura 22 – P2PBlocker – Fonte: Autores

                                                                                              47
Na figura 23 podemos notar o eMule conectado com os servidores de transferência.




                            Figura 23 - eMule conectado - Fonte:Autores


        Para alcançar o resultado que obtivemos no bloqueio da aplicação Emule, nós marcaremos
as seguintes opções nas colunas Block e Log: Emule, Layer7 Edonkey, ipp2p Edonkey/Emule
exatamente como na figura 24.




                        Figura 24 – Bloqueio com P2PBlocker – Fonte: Autores


                                                                                           48
Para que as alterações funcionem, clique no botão ―apply settings‖. Outra página surgirá
confirmando as alterações.




                          Figura 25 - P2PBlocker apply settings – Fonte: Autores


       A seguir a figura 26 mostra a falha na tentativa de conexão do Emule com seus servidores
padrão.




                          Figura 26 - Emule conexão bloqueada - Fonte:Autores




                                                                                               49
Na próxima figura temos o log do bloqueio das redes do eMule:




                      Figura 27 – Log de bloqueio (Layer7 edonkey) - Fonte:Autores

3.13 Configuração do L7Blocker

         O L7Blocker requer um pouco mais de atenção, pois devemos criar grupos e regras e juntá-
los depois.
         Na figura 28 abaixo temos dois botões: create group e create rule, onde a primeira ação é
criar um grupo. Nessa página principal do L7blocker, a quantidade de informações aumentará
conforme os passos deste tópico.




                                   Figura 28 - L7Blocker – Fonte: Autores




                                                                                               50
Antes de iniciarmos a configuração do L7blocker, visualize na figura 29 que a aplicação
Windows Live Messenger está funcionando corretamente.




                              Figura 29 – MSN Messenger – Fonte: Autores


        Voltando o foco para a criação do grupo, clique no botão create group e preencha as
informações solicitadas como o exemplo da figura 30. Em nosso exemplo usamos Colaboradores
para o nome do grupo e os 4 respectivos endereços IP da figura 30 para serem membros do Grupo.
        Para adicionar o grupo, clique em add group.




                           Figura 30 - L7Blocker create group – Fonte: Autores


        Como já temos um grupo criado, devemos criar regras para controlar o tráfego da rede. Na
página onde havia o botão create group, há um botão chamado create rule. Clicando nele a página de
configuração da figura 31 irá ser mostrada.



                                                                                                 51
Figura 31 - L7Blocker create rules – Fonte: Autores


           Da mesma forma que criamos o grupo Colaboradores, iremos criar duas regras: bloqueio de
acesso ao aplicativo MSN Messenger e o bloqueio para transferência de arquivos pelo mesmo
aplicativo. Apesar que existe a opção de criar uma regra com mais de um protocolo, não iremos
demonstrar assim.
          No campo Rulename, colocamos MsnBlocker por questões da facilidade de identificação
para sabermos o que a regra faz. No Campo Rulemember podemos selecionar um ou mais protocolos
a serem bloqueados, mas em nosso caso optamos por escolher apenas o protocolo msnmessenger.
           Na segunda regra que criamos chamada de Block-MSN-FT, estaremos bloqueando a
transferência de arquivos que utiliza o protocolo MSN-filetransfer. Veja o exemplo na figura 32 à
seguir.




                          Figura 32 - L7Blocker MSN-filetransfer – Fonte: Autores


           O passo seguinte é juntar o grupo com a regra, mas também existe a opção de atribuir todas
as regras para toda sua rede interna, ou, somente para esse grupo.
           Novamente na página principal do L7blocker, clique no botão merge rule(s) and groups(s),
perceba que antes ele não existia. Preencha o nome desse agrupamento com algo sugestivo, por
exemplo BlockMsn.
                                                                                                  52
No campo Groups podemos selecionar o grupo ou simplesmente deixar sem selecionar
nenhuma, dessa forma a abrangência de nossas regras será valida para toda a rede interna. Como dito
anteriormente sobre escolher mais de um tipo de protocolo para criar as regras, também podemos
fazer isso com a junção de grupos e regras.
           O campo Rules deverá conter as duas regras que criamos anteriormente, MsnBloqueio e
Block-MSN-FT. Selecionamos para demonstrar a regra MsnBlocker e clicamos no botão Save para
que nosso IPCop passe a bloquear esse tipo de tráfego.




                         Figura 33 - L7Blocker Bloqueio de MSN – Fonte: Autores


       A próxima figura mostra que o IPCop já mostra as políticas existentes no momento, porém
não estão em funcionamento real, como aponta a mensagem em vermelho ―L7Blocker is not
running‖




                              Figura 34 - L7 is not running – Fonte: Autores

       Clique em Start para iniciar o L7Blocker, a confirmação pode ser vista na figura 35.




                                                                                                53
Figura 35 - L7 Running – Fonte: Autores

       A figura 36 mostra a falha na tentativa de conexão do Msn Messenger após a inicialização do
L7blocker. Porém se o usuário estiver conectado ao MSN messenger no momento que aplicarmos as
novas regras, ele não será desconectado. As alterações terão efeito somente no próximo acesso ao
Msn Messenger.




                          Figura 36 - Falha na conexão MSN - Fonte: Autores

     Na figura 37 mostramos o log do IPCop onde está evidenciado a tentativa de conexão do
MSN Messenger.




                       Figura 37 - Log bloqueio MSN Messenger - Fonte: Autores




                                                                                               54
3.14 Configuração do Urlfilter

         A configuração do urlfilter começa na aba Serviços na opção Proxy, como na figura 35 a
seguir. Por padrão as opções Enabled on, Transparent on Green e Url Filter enabled estarão
desmarcadas. Marque-as como na figura 38 e salve as alterações, clicando no botão ―guardar‖.




                                  Figura 38 - URLFilter – Fonte: Autores


         O modulo do urlfilter é acessado na aba serviços através da opção urlfilter. A página do
urlfilter possui diversas configurações, nas quais, abordaremos apenas as que utilizamos para
demonstrar seu uso eficaz. Na figura 39, temos onze categorias padrões, mas iremos atualizar o url
filter com a Shalla´s Blacklists (lista negra contendo diversos sites).




                          Figura 39 - URLFilter Block categories – Fonte: Autores


         Blacklists basicamente são listas de domínios e URLs que de alguma forma são prejudiciais
quando acessados por colaboradores mal informados. Quando um domínio ou url estiver em uma
blacklist não quer dizer que todos devem evitar acessar, mas para determinadas políticas de
seguranças nas empresas o acesso deve ser proibido.


                                                                                               55
Obtenha      o     pacote      do      Shalla´s     Blacklist      no      seguinte   endereço,
http://www.shallalist.de/Downloads/shallalist.tar.gz , em seguida procure na página de configuração
do url filter o Url filter maintenance como na figura 40.




                          Figura 40 - URLFilter Blacklist update – Fonte: Autores


         Selecione o arquivo shallalist.tar.gz e atualize a blacklist do seu url filter, clicando no botão
―Upload blacklist‖. Após a atualização, note que houve um aumento nas categorias, passando de
onze para setenta e sete categorias de bloqueio como mostra a figura 41 a seguir.




                             Figura 41 - URLFilter Categories – Fonte: Autores


                                                                                                       56
Marque algumas categorias de sua escolha, caso queira seguir o exemplo da figura 42, no
qual o nosso IPCop está bloqueando corretamente as categorias marcadas.




                           Figura 42 - URLFilter Categories – Fonte: Autores


        Há opções para configurar as páginas de bloqueio e dentre elas podemos direcionar o
usuário para outra página, exibir o ip do usuário, a URL bloqueada além de alterar a imagem de
fundo das páginas de bloqueio. Veja a figura 43.




                          Figura 43 - URLFilter configurações – Fonte: Autores




                                                                                            57
A seguir mostraremos um exemplo de bloqueio por expressão regular no urlfilter. A figura 44
mostra a caixa de texto ―Custon expression List‖ onde devem ser inseridas as expressões que serão
bloqueadas. No nosso exemplo usamos o nome do site de relacionamento ―Orkut‖. Note que a caixa
de opção ―enable custom expression list‖ deve estar selecionada.




                         Figura 44 - Urlfilter Expressão regular - Fonte: Autores


       Ao tentar, acessar a página oficial do orkut, http://www.orkut.com.br/ o IPCop irá bloquear a
página e exibir seu aviso, o mesmo ocorrerá caso o usuário tente pesquisar o nome ―Orkut‖ em sites
de busca.




                            Figura 45 - bloqueio Orkut.com - Fonte: Autores

        O urlfilter possui outras funcionalidades como whitelists, editor de blacklists, e outras
configurações, que deverão ser abordadas em um artigo futuramente.




                                                                                                 58
CONCLUSÃO

       Os resultados obtidos atingiram os objetivos iniciais de aplicar e analisar os resultados das

configurações de políticas de bloqueio em um ambiente de teste com a utilização da distribuição

linux IPCop. A utilização dos módulos adicionais: L7blocker, P2pBlock e Urlfilter foram eficientes

e cumpriram suas funções especificas como: controlar o acesso aos serviços do MSN messenger,

compartilhamento e download de arquivos através do Emule e por fim o acesso à sites que não eram

permitidos de acordo com as categorias listadas do Urlfilter. Esse controle ocorreu de forma simples

e direta sem intervenção de técnicas complicadas como foi proposto desde o início do trabalho. Os

trabalhos posteriores devem abordar outros serviços e módulos, e até mesmo o desenvolvimento de

uma distribuição linux IPCop embarcada em um appliance (dispositivo).

       Sugestões: Embarcar o IPCop dentro de um appliance.




                                                                                                 59
REFERÊNCIAS BIBLIOGRAFICAS

  CHESWICK, W.R., BELLOVIN, S.M. Firewalls and Internet Security. Addison-
     Wesley Publishing Company, 1997. 306p.
  DEMPSTER, Barrie; EATON-LEE, James. Configuring IPCop Firewalls Closing
     Borders with Open Source. 1ª Ed., Packt Publishing, 2006.
  FRISCH, Æ. Essential System Administration. O'Reilly & Associates, 1995. 758p.
  GHEORGHE, Lucian. Designing and Implementing Linux Firewalls and QoS using
     netfilter, iproute2, NAT, and L7-filter. 1ª Ed., Packt Publishing, 2006.
  GIL, A.C. Métodos e técnicas de pesquisa social. São Paulo: Atlas, 1999. 305 p.
  GIL, Antonio Carlos. Como Elaborar Projetos de Pesquisa. 4ª Ed. São Paulo: Atlas, 2002.

  KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet: Uma Abordagem
     top-down. 3ª Ed. São Paulo: Pearson Makron Books, 2006.

  MACMILLAN, Dictionary. Http://www.macmillandictionary.com/. Acessado em 14 de
     Novembro de 2010.

  MICHAELIS, Dicionário. Http://michaelis.uol.com.br/. Acessado em 14 de Novembro de 2010.

  MITNICK, Kevin D. A Arte de Enganar. 1ª Ed. São Paulo: Pearson, 2003.

  NUNES, Paulo. Conceito de Firewall.
     http://www.knoow.net/ciencinformtelec/informatica/firewall.htm. Acessado em 17 de Maio
     de 2010.

  RASH, Michael. Linux Firewalls : Attack detection and response with Iptables, PSAD, and
     FWSNORT. 1ª Ed., No Starch Press, 2007.

  SILVA, F.Q., FRANKLIN, D. Segurança de Informações e Acesso Seguro à
     Internet. DI - UFPE, 1997.
  STATO FILHO, André, Linux: Controle de Redes. Visual Books 2009.
  TANENBAUM, Andrew. Redes de Computadores e a Internet. 4ª Ed. São Paulo: Campus,
     2003.

  ZWICKY, Elizabeth D.; COOPER, Simon; CHAPMAN, D. Brent. Building Internet Firewalls.
     2ª Ed., O´reilly Media, Junho de 2000.

                                                                                            60

Weitere ähnliche Inhalte

Ähnlich wie Estudo do ip cop como firewall de aplicação

curso de Redes de computador aulas completas
curso de Redes de computador  aulas completascurso de Redes de computador  aulas completas
curso de Redes de computador aulas completasjonatanmedeirosgomes1
 
Postfix
PostfixPostfix
PostfixTiago
 
ANÁLISE E MELHORIAS EM REDE WIRELESS
ANÁLISE E MELHORIAS EM REDE WIRELESS ANÁLISE E MELHORIAS EM REDE WIRELESS
ANÁLISE E MELHORIAS EM REDE WIRELESS Ricardo Ferreira
 
Screen
ScreenScreen
ScreenTiago
 
Projeto final rafael pimenta - adauto junior 2
Projeto final   rafael pimenta - adauto junior 2Projeto final   rafael pimenta - adauto junior 2
Projeto final rafael pimenta - adauto junior 2Rafael Pimenta
 
TCC - Desenvolvimento de Aplicativo para Windows Phone
TCC - Desenvolvimento de Aplicativo para Windows PhoneTCC - Desenvolvimento de Aplicativo para Windows Phone
TCC - Desenvolvimento de Aplicativo para Windows PhoneCésar Augusto Pereira
 
Trabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoTrabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoDaniel Fernando Pigatto
 
Perifericos suprimentos cor_capa_ficha_isbn_20110128
Perifericos suprimentos cor_capa_ficha_isbn_20110128Perifericos suprimentos cor_capa_ficha_isbn_20110128
Perifericos suprimentos cor_capa_ficha_isbn_20110128JoaquinhoJuda
 
Selinux
SelinuxSelinux
SelinuxTiago
 
Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04MatheusRpz
 
Desenvolvimento de software Iha Mundu
Desenvolvimento de software Iha MunduDesenvolvimento de software Iha Mundu
Desenvolvimento de software Iha MunduMeno Silva
 
Desenvolvimento de software MENO SILVA VENILALE ANAN
Desenvolvimento de software MENO SILVA VENILALE ANANDesenvolvimento de software MENO SILVA VENILALE ANAN
Desenvolvimento de software MENO SILVA VENILALE ANANBua-Nurak Gimata
 
Desenvolvimento de software
Desenvolvimento de softwareDesenvolvimento de software
Desenvolvimento de softwareMeno Silva
 

Ähnlich wie Estudo do ip cop como firewall de aplicação (20)

curso de Redes de computador aulas completas
curso de Redes de computador  aulas completascurso de Redes de computador  aulas completas
curso de Redes de computador aulas completas
 
Postfix
PostfixPostfix
Postfix
 
ANÁLISE E MELHORIAS EM REDE WIRELESS
ANÁLISE E MELHORIAS EM REDE WIRELESS ANÁLISE E MELHORIAS EM REDE WIRELESS
ANÁLISE E MELHORIAS EM REDE WIRELESS
 
Screen
ScreenScreen
Screen
 
AuraMiddleware
AuraMiddlewareAuraMiddleware
AuraMiddleware
 
Projeto final rafael pimenta - adauto junior 2
Projeto final   rafael pimenta - adauto junior 2Projeto final   rafael pimenta - adauto junior 2
Projeto final rafael pimenta - adauto junior 2
 
Servidor de Help Desk Ocomon
Servidor de Help Desk OcomonServidor de Help Desk Ocomon
Servidor de Help Desk Ocomon
 
Xdmcp
XdmcpXdmcp
Xdmcp
 
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUXARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
 
TCC - Desenvolvimento de Aplicativo para Windows Phone
TCC - Desenvolvimento de Aplicativo para Windows PhoneTCC - Desenvolvimento de Aplicativo para Windows Phone
TCC - Desenvolvimento de Aplicativo para Windows Phone
 
Trabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoTrabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de Graduação
 
Perifericos suprimentos cor_capa_ficha_isbn_20110128
Perifericos suprimentos cor_capa_ficha_isbn_20110128Perifericos suprimentos cor_capa_ficha_isbn_20110128
Perifericos suprimentos cor_capa_ficha_isbn_20110128
 
Selinux
SelinuxSelinux
Selinux
 
Pim iv
Pim ivPim iv
Pim iv
 
 
TCC Camilo Anauate_39022_9rds
TCC Camilo Anauate_39022_9rdsTCC Camilo Anauate_39022_9rds
TCC Camilo Anauate_39022_9rds
 
Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04
 
Desenvolvimento de software Iha Mundu
Desenvolvimento de software Iha MunduDesenvolvimento de software Iha Mundu
Desenvolvimento de software Iha Mundu
 
Desenvolvimento de software MENO SILVA VENILALE ANAN
Desenvolvimento de software MENO SILVA VENILALE ANANDesenvolvimento de software MENO SILVA VENILALE ANAN
Desenvolvimento de software MENO SILVA VENILALE ANAN
 
Desenvolvimento de software
Desenvolvimento de softwareDesenvolvimento de software
Desenvolvimento de software
 

Estudo do ip cop como firewall de aplicação

  • 1. CENTRO UNIVERSITÁRIO DA FUNDAÇÃO EDUCACIONAL DE BARRETOS UNIFEB ESTUDO DO IPCOP COMO FIREWALL DE APLICAÇÃO DOUGLAS MARRA DA COSTA RAFAEL APARECIDO DE LIMA Orientador Prof. Fábio Fernando da Silva BARRETOS 2010
  • 2. TRABALHO DE CONCLUSÃO DE CURSO Estudo do IPCop como firewall de aplicação Douglas Marra da Costa Rafael Aparecido de Lima Trabalho de Conclusão de Curso apresentado à UNIFEB – Centro Universitário da Fundação Educacional de Barretos, sob a orientação do Prof. Fábio Fernando da Silva para obtenção do título de Bacharel em Sistemas de Informação. Barretos 2010
  • 3. Costa, Douglas Marra, Lima, Rafael Aparecido Estudo do IPCop como firewall de aplicação. Douglas Marra da Costa e Rafael Aparecido de Lima. Barretos: UNIFEB, 2010. Número de páginas f. 63, 29,7 cm Trabalho de Conclusão de Curso de Sistemas de Informação – Centro Universitário da Fundação Educacional de Barretos, Barretos, 2010. Bibliografia: f. 61 1. IPCop 2. Firewall 3. Segurança
  • 4. Trabalho de Conclusão de Curso elaborado por: Douglas Marra da Costa Rafael Aparecido de Lima Aprovado pela Banca Examinadora, aceito pela UNIFEB – Centro Universitário da Fundação Educacional de Barretos e homologado como requisito parcial à obtenção do título de Bacharel em Sistemas de Informação. Nota atribuída pela Banca Examinadora:_________ Data:_____/_____/_____ Membros da Banca Examinadora: Nome:________________________________ Assinatura:____________________________ Nome:________________________________ Assinatura:____________________________ Nome:________________________________Assinatura: ____________________________
  • 5. DEDICATÓRIA Dedico esse trabalho a meu Pai, Adilson e minha mãe Gilcinei, por terem apoiado todas minhas decisões e escolhas, certas ou erradas. Obrigado por acreditarem nesse filho que os ama tanto. Dedico à minha namorada Isadora pela compreensão, dedicação e apoio desde o início do curso de Sistemas de informação, foram muito importantes. Douglas Marra da Costa Dedico esse trabalho a minha mãe Ana meu Pai Paulo, meus irmãos e todos meus amigos, colegas e professores. Rafael Aparecido de Lima Dedicamos a todos os nossos amigos que nos acompanharam nessa jornada de quatro anos. Não esqueceremos de todos os momentos que passamos juntos. Douglas e Rafael
  • 6. AGRADECIMENTOS Nossos sinceros agradecimentos: Ao professores Fábio Fernando da Silva pela orientação e incentivo durante a realização deste trabalho, e ao professor Kleber Sartório pela coordenação geral dos Trabalhos de conclusão de curso da 5° turma de Sistemas de Informação da UNIFEB. E a todos os amigos do curso e professores em geral que contribuíram direta ou indiretamente para a realização deste trabalho. 4
  • 7. RESUMO A globalização trouxe grandes inovações tecnológicas e o amadurecimento da informática fez com que computadores, antes ilhas isoladas, pudessem se comunicar através de redes mundiais. Muitos benefícios e problemas vieram com essa evolução tecnológica, e a seguinte questão surgiu: Como manter a segurança em uma rede privada, enquanto utilizamos a maior rede mundial de computadores, a Internet? É uma questão complexa e para solucionar problemas complexos, devemos dividi-los em partes. Esse trabalho mostra como solucionar os desafios que as empresas encontram para controlar o tráfego desnecessário da rede, gerado por aplicações como MSN Messenger e outros comunicadores instantâneos, Emule e tantos outros softwares P2P (peer-to-peer). O IPCop será a ferramenta utilizada, no qual demonstraremos a instalação e configuração dos módulos específicos para controle de tráfego das aplicações citadas. Palavras Chave: Comunicadores instantâneos, Firewall, IPCop. 5
  • 8. ABSTRACT The globalization has brought significant technological innovations and the maturation of computing has made computers before, isolated islands, could communicate through global networks. Many benefits and problems that come with technological developments and the following question arose: How keep the security on a private network, while we use the world´s largest network of computers, the Internet? It‘s a complex question and to solve complex problems, we should divide it into parts. This work show how to solve the challenges that companies find to control the unnecessary network traffic generated by applications like Msn messenger and others IM Client‘s, and many other software Emule P2P (peer-to-peer). The IPCop will be the tool used, which we demonstrate the installation and configuration of specific addons for traffic control applications cited. Keywords: Firewall, Instantaneous Messenger ,IPCop. 6
  • 9. SUMÁRIO INTRODUCÃO .................................................................................................................................. 11 CAPITULO 1 – OBJETIVOS DESTE TRABALHO .................................................................... 13 1.1 Objetivos .......................................................................................................................... 13 1.2 Metodologia do Trabalho ................................................................................................. 13 CAPITULO 2 REFERENCIAL TEÓRICO ................................................................................... 14 2.1 Protocolos......................................................................................................................... 14 2.2 Modelo OSI ...................................................................................................................... 14 2.3 Modelo TCP/IP ................................................................................................................ 17 2.4 O TCP .............................................................................................................................. 20 2.5 O UDP .............................................................................................................................. 21 2.6 O IP .................................................................................................................................. 21 2.7 O ICMP ............................................................................................................................ 21 2.8 Firewall ............................................................................................................................ 22 2.9 Termos Utilizados ............................................................................................................ 24 2.10 Tipos de Firewall ............................................................................................................. 26 2.11 Arquiteturas de Firewall................................................................................................... 28 2.12 IPCop ............................................................................................................................... 30 2.13 IPCop: Interfaces de Rede................................................................................................ 31 2.13.1.1 Interface Verde................................................................................................... 31 2.13.1.2 Interface Vermelha............................................................................................. 32 2.13.1.3 Interface Laranja ................................................................................................ 32 2.13.1.4 Interface Azul..................................................................................................... 33 CAPITULO 3 Desenvolvimento .................................................................................................... 34 3.1 Configuração básica do IPCop ......................................................................................... 34 3.2 Obtenção de pacotes e softwares adicionais .................................................................... 38 3.3 O que é URLfilter ? .......................................................................................................... 39 3.4 O que é P2PBlock ? ......................................................................................................... 39 3.5 O que é L7Block ? ........................................................................................................... 40 3.6 Acesso SSH com o Putty ................................................................................................. 40 3.7 Envio de arquivos com Winscp ....................................................................................... 42 3.8 Descompactar pacotes ...................................................................................................... 45 3.9 Instalação do Url filter ..................................................................................................... 46 3.10 Instalação do P2PBlock ................................................................................................... 46 3.11 Instalação do L7Blocker .................................................................................................. 47 3.12 Configuração do P2PBlock .............................................................................................. 47 3.13 Configuração do L7Blocker ............................................................................................. 50 3.14 Configuração do Urlfilter ................................................................................................. 55 CONCLUSÃO .................................................................................................................................... 59 REFERÊNCIAS BIBLIOGRAFICAS ................................................................................................ 60 7
  • 10. LISTA DE FIGURAS Figura 1 – Firewall .............................................................................................................................. 23 Figura 2 - Arquitetura Screening router .............................................................................................. 28 Figura 3 - Arquitetura Dual-homed Host ............................................................................................ 29 Figura 4 - Arquitetura Screened Host ................................................................................................. 29 Figura 5 - Arquitetura Screened Subnet .............................................................................................. 30 Figura 6 - Topologia IPCop ................................................................................................................ 33 Figura 7 - interface IPCop................................................................................................................... 34 Figura 8 - Primeiro acesso .................................................................................................................. 35 Figura 9 - Mudando de idioma............................................................................................................ 35 Figura 10 - IPCop Updates ................................................................................................................. 36 Figura 11 - IPCop Update Error.......................................................................................................... 37 Figura 12 - Update .............................................................................................................................. 37 Figura 13 - IPCop ssh ......................................................................................................................... 38 Figura 14 - IPCop P2P Block.............................................................................................................. 40 Figura 15 - Putty ................................................................................................................................. 41 Figura 16 - Putty Securty Alert ........................................................................................................... 41 Figura 17 - Putty Login ....................................................................................................................... 42 Figura 18 – WinSCP Login ............................................................................................................... 43 Figura 19 - WinSCP Transferência de arquivos ................................................................................. 43 Figura 20 - WinSCP Arquivos transferidos ........................................................................................ 44 Figura 21 - WinSCP L7-Protocolos .................................................................................................... 44 Figura 22 – P2PBlocker ...................................................................................................................... 47 Figura 23 - eMule conectado .............................................................................................................. 48 Figura 24 – Bloqueio com P2PBlocker .............................................................................................. 48 Figura 25 - P2PBlocker apply settings ................................................................................................ 49 Figura 26 - Emule conexão bloqueada ................................................................................................ 49 Figura 27 – Log de bloqueio (Layer7 edonkey) ................................................................................. 50 Figura 28 - L7Blocker ......................................................................................................................... 50 Figura 29 – MSN Messenger .............................................................................................................. 51 Figura 30 - L7Blocker create group .................................................................................................... 51 Figura 31 - L7Blocker create rules ..................................................................................................... 52 Figura 32 - L7Blocker MSN-filetransfer ............................................................................................ 52 Figura 33 - L7Blocker Bloqueio de MSN s ........................................................................................ 53 Figura 34 - L7 is not running .............................................................................................................. 53 Figura 35 - L7 Running....................................................................................................................... 54 Figura 36 - Falha na conexão MSN .................................................................................................... 54 Figura 37 - Log bloqueio MSN Messenger ........................................................................................ 54 Figura 38 - URLFilter – fonte: Autores .............................................................................................. 55 Figura 39 - URLFilter Block categories ............................................................................................. 55 Figura 40 - URLFilter Blacklist update .............................................................................................. 56 Figura 41 - URLFilter Categories ....................................................................................................... 56 Figura 42 - URLFilter Categories ....................................................................................................... 57 8
  • 11. Figura 43 - URLFilter configurações .................................................................................................. 57 Figura 44 - Urlfilter Expressão regular ............................................................................................... 58 Figura 45 - bloqueio Orkut.com.......................................................................................................... 58 9
  • 12. LISTA DE TABELAS Tabela 1 - Modelo OSI – ................................................................................................................... 15 Tabela 2 - Modelo TCP/IP – ............................................................................................................... 19 Tabela 3 - Comparativo Modelo OSI e TCP/IP – ............................................................................... 20 10
  • 13. INTRODUCÃO A globalização ocorre em todos os aspectos do nosso cotidiano, não sendo diferente no mundo computacional. Tanenbaum (2003) apontou que apesar da indústria de informática ainda ser jovem, foi simplesmente espetacular o progresso que os computadores conheceram em tão pouco tempo. Todo esse progresso tecnológico nos deu a liberdade de buscar e compartilhar conhecimento dentro de uma rede mundial, de acessar informações em servidores espalhados pelo mundo, de ligar redes privadas a outras conforme nossas necessidades. Porém como o mundo, a Internet não é segura. Com o surgimento de novos produtos e serviços de TI (Tecnologia da Informação), novos desafios e riscos também surgiram. Políticas de segurança da informação tiveram que ser revistas e muitas empresas encontraram obstáculos para controlar a disseminação da informação através de seus colaboradores. Esses colaboradores devem ser orientados quanto ao bom uso de recursos da rede e de políticas de acesso à internet para fins pessoais, emails, compartilhamento de arquivos e outros recursos. Como diz Mitnick (2003), ―o elo mais fraco da segurança da informação são as pessoas‖. Laudon (2004) definiu a informação como um conjunto de dados representados de uma forma útil e significativa para as pessoas. A informação é poder, sendo necessário manter uma forma de controle sobre ela. O aumento do fluxo de informações entre empresas, organizações e governos fez com que a percepção para o controle da informação, tornasse essencial para a excelência do gerenciamento das mesmas. Podemos notar que muitos usuários são obcecados por relacionamentos instantâneos com outras pessoas, internas ou externas a organização. Estes mesmos usuários, sempre estão em busca de burlar a segurança (mesmo inconscientemente) criada para impedir esse tipo de utilização da rede corporativa, fazendo com que o rendimento, a produtividade e a segurança dos dados do colaborador diminuam, e, por conseguinte a segurança da organização como um todo. Por muitas vezes o usuário nem tem idéia do mal que pode estar fazendo. A divulgação de informações confidenciais de determinada empresa sobre seus clientes ou novos produtos em desenvolvimento podem causar prejuízos imensuráveis a mesma. A forma mais correta de proteger uma rede privada seria com o isolamento físico da estrutura, assim nenhum indivíduo externo conseguiria acesso sem ter contato com a estrutura física da organização. Porém com o crescimento da rede mundial de computadores, e a necessidade de conexões entre pontos distantes, esse isolamento tornou-se praticamente impossível. 11
  • 14. Nesse cenário, fez-se necessário algo que pudesse prover uma análise e controle sobre tudo que entrasse e saísse da rede. Ferramentas como essas são chamadas de firewalls, um conceito de dispositivo presente na borda da rede por onde todos os dados que entram e saem da mesma, deverão ser analisados, a fim de manter a rede interna segura de ameaças externas. Cada pacote é tratado de acordo com as regras do firewall, resultando em pacotes permitidos ou rejeitados. Um firewall é concebido por software, hardware ou ambos e sua maior função é o controle de tráfego indesejado em uma rede interna. No mercado há firewalls de todos os tipos e preços, mas quando uma empresa pretende comprar um produto ou serviço, ela analisa vários aspectos como custo/benefício, manutenção e treinamentos para os colaboradores responsáveis para administrar o produto. Esse trabalho aborda o IPCop, uma distribuição Linux que possui ferramentas de um firewall moderno, customizável e de fácil utilização. Ideal para empresas com estruturas de redes de pequeno e médio porte, além de ser gratuito. O objetivo principal é documentar os procedimentos de configurações do IPCop para controle e bloqueio de comunicadores instantâneos e softwares P2P (peer-to-peer), como: MSN Messenger, Skype, Bittorrent, Emule, Kazaa, Ares além de jogos e outros. Qualquer administrador de redes ou outra pessoa com um mínimo de treinamento poderá utilizar a ferramenta para criar filtros de controle de tráfego. 12
  • 15. CAPITULO 1 – OBJETIVOS DESTE TRABALHO 1.1 Objetivos Este trabalho tem como objetivo aplicar e analisar o resultado da configuração de políticas de bloqueio em um ambiente de teste, utilizando uma distribuição linux GNU GPL (General Public License - Licença Pública Geral) com ferramentas específicas para firewall, conhecida como IPCop. 1.2 Metodologia do Trabalho A metodologia utilizada neste trabalho foi a de pesquisa experimental, envolvendo instalação e configuração de módulos (addons) na distribuição Linux IPCOP 1.4.21, objetivando prover uma solução customizada de um firewall SOHO (Small Office/HomeOffice). Conforme Gil (1999), esta modalidade de pesquisa tem a finalidade básica de desenvolver, esclarecer e modificar conceitos e idéias para a formulação de abordagens posteriores. Dessa forma esse trabalho visa dar aos pesquisadores e profissionais da área, maior suporte para que sejam elaboradas políticas de bloqueio realistas e consistentes em um ambiente organizacional. Durante o desenvolvimento do trabalho foram seguidas as seguintes etapas:  Escolha dos softwares a serem utilizados e testados.  Levantamento e análise da documentação dos softwares envolvidos.  Instalação, customização e configuração.  Testes das políticas de segurança.  Análise dos resultados obtidos. 13
  • 16. CAPITULO 2 REFERENCIAL TEÓRICO 2.1 Protocolos 2.2 Modelo OSI Para podermos abordar o tema firewall, há a necessidade de aprofundarmos melhor os conceitos básicos do funcionamento de uma rede de computadores, para isso iremos abordar de forma básica os conceitos dos modelos de referência OSI e TCP/IP, e depois protocolos de comunicação como TCP e de encapsulamento como o IP. Segundo afirma Gheorghe (2006) em 1984, a ISO (International Organization for Standardization) lançou o modelo de referência OSI (Interconexão de Sistemas Abertos) que é um conjunto bem definido de especificações que se tornaram o primeiro passo em direção a padronização internacional dos protocolos empregados nas diversas camadas. A criação do modelo OSI veio com o intuito de garantir que os mais diversos tipos de redes existentes no mundo seguissem um único padrão. O modelo seria a garantia de uma maior compatibilidade na comunicação dessas redes. Durante a construção desse padrão, o conceito de comunicação dentro de uma rede foi dividido em sete camadas, cada camada presente no modelo oferece suporte à camada acima dela, passando as informações necessárias para que haja uma continuação do processo de comunicação. Essas informações são passadas através de um processo chamado encapsulamento. Gheorghe (2006) afirma que as informações contidas em uma camada geralmente têm cabeçalhos e rodapés e dados encapsulados de uma camada superior. Durante a transmissão de um dado de uma camada para outra, a camada emissora depositará suas informações nesse encapsulamento, e o passará à próxima camada, o processo continua até a real transmissão dos dados pela camada física. O processo é inverso no caso de recebimento de dados. 14
  • 17. A seguir temos a representação do Modelo OSI: Modelo OSI Aplicação Apresentação Sessão Transporte Rede Enlace de dados Física Tabela 1 - Modelo OSI – Fonte: Autores Como Tanembaum (2003) citou o modelo OSI não pode ser considerado uma arquitetura de rede, pois o mesmo não especifica quais os protocolos e serviços exatos que devem ser usados em cada camada. A seguir uma breve explicação sobre cada camada do Modelo OSI:  Camada Física Conforme afirmação de Gheorge (2006) quando pensamos na camada física devemos pensar em ―cabos e conectores‖, é a camada física que controla toda a parte mecânica e elétrica da comunicação.  Camada de Enlace de dados A camada de enlace é a responsável pelo controle de fluxo de bits entre os transmissores da rede. Segundo Tanenbaum (2003) sua principal funcionalidade é a de criar um canal de comunicação livre de erros entre os dispositivos da rede, orientando-se pelo número MAC (Media Access Control); do mesmo. É aqui que a topologia da rede é descoberta.  Camada de rede Tanenbaum (2003) aponta que uma questão fundamental em um projeto de redes é definir como os pacotes serão roteados da origem até o destino. É na camada de rede que as rotas e o 15
  • 18. controle do fluxo dos dados são estabelecidos. Gheorhe (2006) cita que quando pensamos na camada de redes devemos pensar em ―rotas‖.  Camada de transporte Os protocolos presentes na camada de transporte são responsáveis por prover um controle na velocidade da transmissão dos dados, esse controle é chamado de controle de fluxo. Segundo Tanembaum (2003) todo esse controle deve ser dado de forma que as camadas superiores fiquem isoladas das inevitáveis mudanças de tecnologia de hardware.  Camada de Sessão De acordo com Tanembaum (2003), a camada de sessão permite que os usuários de diferentes máquinas estabeleçam sessões entre eles; ela é a camada responsável por iniciar, gerenciar e terminar a conexão entre hospedeiros (hosts) de uma rede.  Camada de Apresentação Duas redes distintas podem se comunicar usando tipos de dados diferentes, nessa comunicação existe a necessidade de algo que traduza os protocolos e dados utilizados na comunicação. Tanenbaum(2003) aponta que a camada de apresentação gerencia essas estruturas de dados abstratos e permite a definição e o intercâmbio de estruturas de dados de nível mais alto (por exemplo, registros bancários). Basicamente ela converte o dado recebido da camada de aplicação e converte esse dado em um formato comum para a transmissão do mesmo.  Camada de Aplicação Tanenbaum (2003) aponta que a camada de aplicação contém uma série de protocolos comumente necessários para os usuários, o HTTP (Hyper Text Transfer Protocol), por exemplo, que constitui a base para a World Wide Web. Essa é a camada mais ―próxima‖ do usuário, a camada de aplicação fornece serviços a ele na entrega dos dados, ela cria uma interface entre o protocolo de 16
  • 19. comunicação e o aplicativo que requisitou algum tipo de serviço. Basicamente, a camada de aplicação é a responsável por fazer a interação dos softwares usados e o usuário. 2.3 Modelo TCP/IP No auge da guerra fria, fim da década de 50, o sistema de comunicação do Departamento de defesa dos EUA passava todo pela rede pública de telefonia, considerada extremamente vulnerável. As centrais de comutação eram conectadas de forma hierárquica, e essa era sua grande vulnerabilidade, já que se alguma dessas centrais parasse isso fragmentaria o sistema em várias ilhas isoladas. Na década de 60 o departamento de defesa firmou contrato com a RAND corporation, a fim de encontrar uma solução. Um funcionário da RAND, Paul Baran criou um projeto onde apresentava uma nova topologia e a idéia do uso de comutação de pacotes em todo o sistema, onde o departamento de defesa gostou do projeto, e pediu para a AT&T detentora do monopólio de telecomunicação na época para desenvolver um projeto baseado nas idéias de Baran. Porém a AT&T descartou o projeto, que segundo Tanenbaum (2003) a maior e mais rica corporação do mundo não podia permitir que um jovem pretensioso lhe ensinasse a criar um sistema telefônico. E assim o sistema de Baran foi desacreditado. Em 1957, a então União soviética saiu na frente dos EUA na corrida espacial, lançando o primeiro satélite artificial no espaço. Quando foi procurar um culpado o Presidente Eisenhower descobriu que havia uma disputa interna entre o Exército, a Marinha e a Força Aérea pelo orçamento de pesquisa do Pentágono. Sua atitude foi criar a ARPA, ou Advanced Research Projects Agency (Agencia de pesquisa de projetos avançados) que passou a custear projetos promissores. Em 1967 o diretor da ARPA Larry Roberts, voltou sua atenção para as redes de computadores. Em contato com diversos pesquisadores Larry conheceu Wesly Clarck, que sugeriu a criação de uma sub-rede comutada por pacotes. Mesmo reticente Roberts comprou a idéia e a apresentou em um simpósio em Gatlinburg, Tennessee, no final de 1967. Para sua surpresa, Roberts encontrou outro documento na conferência que apresentava um sistema semelhante que já havia sido implantado sob a orientação de Donald Davies no Laboratório de física nacional da Inglaterra. Documento esse que havia sido baseado no trabalho descartado de Baran, e que mostrava que a 17
  • 20. comutação de pacotes era viável. Segundo Tanenbuam (2003) Roberts saiu da conferência determinado a construir o que mais tarde ficou conhecido como ARPANET. O principio da ARPANET consistia em minicomputadores chamados IMPs (Interface Message Processors — Processadores de Mensagens de Interface) conectados por linhas de transmissão de 56 kbps. Tanenbaum (2003) aponta que para garantir sua confiabilidade, a sub-rede tinha de ser uma sub-rede de datagramas, de modo que, se algumas linhas e alguns IMPs fossem destruídos, as mensagens pudessem ser roteadas automaticamente por caminhos alternativos. Em dezembro de 1969 entrou no ar uma rede experimental com quatro nós (UCLA, UCSB, SRI e University of Utah) que foram escolhidos por já terem um grande numero de IMPs ligados a ARPANET e por serem redes diferentes e incompatíveis, o que aumentava o desafio. Em três anos a ARPANET já se estendia por todo território norte americano. Tanenbaum (2003) afirma que essa experiência serviu para demonstrar que os protocolos da ARPANET não eram adequados para execução em várias redes. O que levou a mais pesquisas sobre protocolos, culminando com a invenção dos protocolos e do modelo TCP/IP. Para estimular o uso desses protocolos a ARPA ofereceu diversos contratos à Universidade da Califórnia, Berkeley, para integrá-los ao seu sistema UNIX. Segundo Tanenbaum (2003) durante esse período os pesquisadores da Califórnia desenvolveram muitos programas e aplicativos para a interligação de redes. Durante a década de 80, muitas novas redes foram ligadas a ARPANET, esse crescimento tornou mais dispendioso a localização de computadores presentes na rede, o que deu origem ao DNS (Domain Naming System), que segundo Tanenbuam (2003) tinha o objetivo de organizar as máquinas em domínios, e mapear nomes de hosts em endereços IP. Tanenbaum (2003) aponta que o número de redes, máquinas e usuários conectados à ARPANET cresceu rapidamente depois que o TCP/IP se tornou o único protocolo oficial, em 1º de janeiro de 1983. Conforme afirma Dempster e Eaton-lee (2006), o TCP/IP é um conjunto de protocolos originalmente desenvolvido em camadas para uso na ARPANET, juntamente com outras normas sobre as quais o TCP/IP é implementado, como a 802.3 ou Ethernet. O modelo TCP/IP ganhou uma rápida notoriedade devido também ao fato de ser uma arquitetura de rede aberta, e assim como o modelo OSI o modelo TCP/IP foi concebido em camadas. Era necessário uma arquitetura flexível, capaz de se adaptar a aplicações com requisitos divergentes como, por exemplo, a transferência de arquivos e a transmissão de dados de voz em tempo real (TANENBAUM, 2003). 18
  • 21. A seguir uma representação do Modelo TCP/IP: Modelo TCP/IP Aplicação Transporte Inter-redes Host Rede Tabela 2 - Modelo TCP/IP – Fonte: Autores  Camada Host Rede Os Protocolos da camada Host Rede mapeiam endereços IP para endereços de hardware e encapsulam pacotes IP em quadros (GHEORGHE, 2006). Sua principal tarefa é transformar os datagramas IP em quadros de bits que serão enviados ao hospedeiro de destino.  A camada Inter-redes Como aponta Tanenbaum (2003) pode-se dizer que essa camada tem funções muito parecidas com a camada de redes do modelo OSI, aqui é feito o controle do fluxo, de erros, e o roteamento para a entrega de pacotes.  A camada de Transporte Ela desempenha o papel fundamental de fornecer serviços de comunicação diretamente aos processos de aplicação que rodam em hospedeiros diferentes (KUROSE; ROSS, 2006). Tanenbaum (2003) aponta que a principal finalidade dessa camada, é manter uma conversação entre os hospedeiros de destino e origem, assim como no modelo OSI. 19
  • 22. A camada de Aplicação É aqui que residem protocolos como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), SSH (Secure Shell), DNS (Domain Name System), todos eles servem para tornar essa camada mais ―próxima‖ do usuário, é ela que faz a primeira ligação entre o que o usuário deseja e o todo o resto do trabalho invisível a ele. A seguir um comparativo entre os modelos OSI e TCP/IP: Modelo OSI Modelo TCP/IP Aplicação Apresentação Aplicação Sessão Transporte Transporte Rede Inter-redes Enlace de dados Host Rede Física Tabela 3 - Comparativo Modelo OSI e TCP/IP – Fonte: Autores 2.4 O TCP O TCP (Transmission Control Protocol) é um protocolo presente na camada de transporte do modelo OSI e do modelo TCP/IP, ele tem como principal função promover uma comunicação segura e de baixo custo entre os hospedeiros. Tanembaum (2003) afirma que o TCP foi projetado especificamente para oferecer um fluxo de bytes fim a fim confiável em uma inter-rede não confiável. Ele é um protocolo orientado a conexão, o que lhe permite dar garantias de entrega dos pacotes de comunicação, ele utiliza-se do protocolo IP para a entrega dos dados, e que segundo Stato (2009) as características do TCP são:  Comunicação Fim-a-Fim;  Multiplexação;  Controle de Fluxo;  Confiabilidade. 20
  • 23. 2.5 O UDP O protocolo UDP (User Datagram Protocol) é um protocolo presente na camada de transporte dos modelos OSI e TCP/IP, ele ao contrario do TCP não é orientado a conexão, os dados não carregam referências de reordenação ou recuperação, e nos soquetes (sockets) apenas o número do hospedeiro de destino é inserido. De acordo com Kurose e Ross (2006), socket é a interface entre a camada de aplicação e a de transporte dentro de uma máquina. Segundo afirma Stato (2009) caso haja necessidade de recuperação de dados, normalmente é implementada na camada de aplicação. A falta de necessidade de confirmação para que haja a comunicação torna esse protocolo útil para aplicações de tempo real. 2.6 O IP O protocolo IP (Internet Protocol – Procolo de Internet) se encontra na camada de redes, sendo um protocolo de comunicação sem garantia de entrega, ele é um dos protocolos mais importantes da internet, elaborando o pacote de dados a ser transmitido mais conhecido como datagrama. Conforme Tanenbaum (2003) aponta, na Internet, cada hospedeiro e cada roteador tem um endereço IP que codifica seu número de rede e seu número de hospedeiro. A combinação é exclusiva: em princípio, duas máquinas na Internet nunca têm o mesmo endereço IP. 2.7 O ICMP O Protcolo ICMP (Internet Control Message Protocol) é um protocolo que reside dentro de um datagrama IP, sua tarefa é ajudar o IP na administração e controle do fluxo do mesmo, auxilinado-o e gerando relatórios de erros e trocando informações de estado e controle. Kurose e Ross (2006) afirmam que o ICMP é usado por hospedeiros e roteadores para comunicar informações de camada de rede entre sí. Segundo Tanenbaum (2003) quando um erro ou algo inesperado ocorre, é o ICMP quem tem a responsabilidade de informar isso aos envolvidos na comunicação. 21
  • 24. 2.8 Firewall Muitas empresas mantêm grandes quantidades de informações confidenciais guardadas em servidores pelo mundo, segredos comerciais, planos de desenvolvimento de produtos, estratégias de marketing, análises financeiras, entre outros. A divulgação dessas informações para um concorrente poderia causar impactos negativos para a organização. Conforme McCumber, (1991 apud KUROSE, ROSS, 2006) a confidencialidade, autenticidade, integridade e não-repudiação de mensagem vêm sendo considerados componentes fundamentais da comunicação segura há bastante tempo. Para tentar alcançar a segurança destes três componentes citados acima, firewalls são utilizados nas estruturas das redes. Os firewalls tornaram-se componentes comuns em redes, desde pequenas redes residenciais até as pertencentes às maiores empresas do mundo (KUROSE, ROSS, 2006). Podem ser implementados através de um roteador, um PC (personal computer) com software especial, um sistema com esta capacidade ou um conjunto de hospedeiros, todos configurados especificamente para proteger um site ou uma sub-rede de protocolos e serviços não confiáveis (SILVA, FRANKLIN, 1997). Atualmente o termo firewall é amplamente difundido na área de tecnologia da informação, porém o mesmo surgiu na construção civil, como paredes de proteção contra o fogo, projetados para ficarem entre casas e edifícios. Em segurança da informação, segundo Zwicky, Cooper e Chapman (2000), na prática, um firewall é mais parecido com um fosso de um castelo medieval do que uma parede em um edifício moderno. O firewall designa uma medida de segurança implementada com o objetivo de limitar ou impedir o acesso de terceiros a uma determinada rede ligada à Internet (NUNES, 2007). De acordo com Kurose e Ross (2006) em uma rede de computadores, quando o tráfego entra e saí de uma rede e passa por inspeção de segurança, é registrado, descartado, ou transmitido, esse dispositivo é denominado como firewall. Basicamente um firewall é usado para proteger e assegurar que o tráfego da rede está sendo transmitido e recebido por caminhos seguros, impedindo assim a interceptação dos pacotes de dados por indivíduos sem autorização. 22
  • 25. É como um barreira que impõe limites e controla todo o tráfego de dados entre um ou mais computadores e uma rede externa, onde essa rede externa pode ser por exemplo a Internet, ou uma rede vizinha dentro de um prédio. Conforme aponta Cheswick e Bellovin (1997) um Firewall é composto por uma coleção de componentes localizados entre duas redes que coletivamente possuem as seguintes caracteristicas:  Todo tráfego de dentro para fora e de fora para dentro deve passar pelo Firewall;  Somente o tráfego autorizado, de acordo com alguma política de segurança local, poderá passar;  Supõe-se que o firewall propriamente dito é imune de invasões. Figura 1 – Firewall – Fonte: Autores Os Firewalls são componentes comuns em pequenas e grandes empresas nos dias atuais e normalmente são implementados no gateway, nas interconexões de rede, ou seja, onde o tráfego é constante, isso garante que todo o tráfego da rede passará pelo firewall, como aponta Loanidis (2000 23
  • 26. apud KUROSE; ROSS, 2006) localizar o firewall em um único ponto de acesso à rede facilita a administração e a imposição de uma política de segurança de acesso. Conforme aponta Stato (2006) podemos ter dois tipos de políticas de Firewall:  Default Permit (Permitir por padrão)  Default Deny (Negar por padrão) Na política Default permit (Permitir por padrão) é criado um conjunto de condições, especificando quais são os protocolos e hosts que deverão ser bloqueados pelo Firewall, o que não se encaixar nessas regras terão o acesso à rede permitida. Já na Política Default deny (Negar por padrão) são definidas no Firewall regras para os protocolos e hosts que devem ter acesso livre a rede, qualquer protocolo ou host que não esteja definido será bloqueado. Essas políticas podem ser aplicadas sobre toda a rede ou somente sobre alguns protocolos ou serviços. Um exemplo são protocolos criptografados como o https. Usado em transmissões seguras como páginas de e-mail ou serviços on-line, por ser um protocolo criptografado o firewall não consegue analisar seus pacotes. Isso pode ser um problema, o eMule por exemplo software P2P usado como exemplo nesse trabalho carrega em sí uma opção chamada ―Protocol Obfuscation‖ que usa https para criptografar o tráfego do mesmo. Nesse caso deve ser aplicada uma política de default deny sobre esses protocolos criptografados e uma white list deve ser criada para as exceções, ou seja uma lista dos sites que segundo as políticas da empresa, os colaboradores podem ter acesso. 2.9 Termos Utilizados Alguns termos são corriqueiros quando o assunto é firewall, alguns são bastante conhecidos e outros são confundidos. As definições a seguir são para o contexto de firewalls em geral, de acordo com a obra de Zwicky, Cooper e Chapman (2000) são elas: ● Firewall: um componente ou conjunto de componentes que restringem o acesso entre uma rede protegida e a internet, ou entre outros conjuntos de redes. ● Host ou Hospedeiro: um sistema de computador conectado a uma rede. ● Bastion Host: um sistema de computador que deve ser altamente seguro, pois é vulnerável a ataques, geralmente porque é exposto à internet e é o ponto principal de contato para os usuários das redes internas. Segundo Ranum (1995 apud Zwicky et al. 2000),―bastions são 24
  • 27. àreas críticas de defesa, geralmente apresentando paredes fortes, salas para tropas extras, e o ocasional útil repositório de óleo quente para desencorajar os atacantes.‖ ● Dual-homed host: em geral, um sistema de computador que possuí duas interfaces de rede. ● Network Address Translation (NAT): é um processo pelo qual um roteador pode realizar mudanças no campo endereço dos pacotes que passam por ele. Permitindo assim que os hospedeiros de uma rede interna fiquem ocultos e garantindo que vários hospedeiros com IP´s não válidos possam acessar a internet. Realmente não é uma técnica de segurança, embora possa fornecer uma pequena quantidade de segurança adicional e geralmente é executado no mesmo roteador que faz parte do firewall. ● Pacotes (Packets): a unidade fundamental de comunicação entre hospedeiros e redes. ● Proxy: De acordo com o dicionário Michaelis (http://michaelis.uol.com.br/), a palavra proxy em sua terceira definição significa substituto, representante. O proxy Recebe solicitações do cliente e faz as verificações a fim de conferir se o mesmo tem permissão de acesso a um determinado serviço, em caso de confirmação, o proxy então fará a conexão com o servidor real. ● Filtro de pacotes (Packet Filtering): É a ação de um dispositivo necessário para controlar seletivamente o fluxo de dados de uma rede para outra. Os filtros de pacotes permitem bloquear pacotes utilizando um conjunto de regras através de determinado endereço ip, porta ou tipo de pacote. Essa filtragem de pacotes pode ocorrer em um roteador ou em algum hospedeiro individual. Às vezes, conhecidos como screening ou triagem de pacotes. ● Rede de perimetro (Perimeter Network): Uma rede inserida entre uma rede protegida e uma rede externa, a fim de proporcionar uma camada adicional de segurança. Uma rede de perímetro é às vezes chamada de DMZ, que significa De-Militarized Zone (nomeado após a zona de separação da Coréia do Norte e Coréia do Sul). ● Virtual Private Network (VPN): Uma rede que permite conectar duas redes através de uma rede pública, sem que isso seja óbvio para os hospedeiros das redes internas. Em geral, VPNs utilizam criptografia para proteger os pacotes que passam através da rede pública. Soluções de VPN são populares porque muitas vezes é mais barato para conectar duas redes através de rede públicas do que através de redes privadas (como as conexões tradicionais de linhas alugadas). 25
  • 28. 2.10 Tipos de Firewall Diferentes situações requerem diferentes tipos de abordagem, e trabalhar com firewalls não é diferente, pois diferentes tipos de ameaças requerem diferentes formas de defesa. Abaixo, citaremos alguns tipos de firewall como: filtro de pacotes, servidores proxy / gateways de aplicação e gateways de circuito. Filtro de pacotes (Packet Filters): Uma organização normalmente irá precisar de um roteador que a conecte com seu provedor ISP (Internet service provider – Provedor de acesso à Internet), assim seu provedor poderá lhe fornecer uma conexão com a Internet Pública. Segundo Kurose e Ross (2006) todo o tráfego que entra ou sai da rede interna passa por esse roteador, e é nesse roteador que ocorre a filtragem de pacotes. Um filtro de pacotes permite a um administrador de redes estabelecer regras que serão aplicadas sobre os pacotes. Assim é através da análise dos cabeçalhos de pacotes IP/TCP/UDP, números de porta, bits de reconhecimento, que o firewall deve decidir se o pacote continuará seu caminho, ou será descartado. A Política de filtragem de pacotes pode seguir vários tipos de combinações, a fim de chegar a uma melhor configuração de filtragem de acordo com o tipo de ameaça que se quer ter sob controle. Segundo Kurose e Ross (2006) as decisões de filtragem são normalmente baseadas em: endereço de origem, endereço de destino, portas TCP, UDP, de origem, de destino, tipo de mensagem ICMP, datagramas de inicialização de conexão usando bits TCP SYN ou ACK. Segundo Frisch (1995), sistemas packet filtering devem apresentar as seguintes características:  Filtragem baseada nos endereços fonte e destino, nas portas fonte e destino, no protocolo, nos flags e/ou no tipo de mensagem;  Filtragem realizada quando o pacote está chegando, quando o pacote está saindo ou ambos;  Habilidade de desabilitar reprogramação a partir da rede, ou qualquer outra localização que não o console. Servidor Proxy / Gateway de Aplicação: Como vimos a filtragem de pacotes permite um controle sobre os pacotes que entram em saem da rede fazendo uma análise sob os cabeçalhos de pacotes IP/TCP/UDP, números de porta, bits de reconhecimento. Porém se houver a necessidade da corporação atribuir acesso à rede baseado em identidades de usuários? Kurose e Ross (2006) 26
  • 29. apontam que informações sobre a identidade de usuários internos não estão incluídas nos cabeçalhos IP/TCP/UDP; elas estão nos dados da camada de aplicação. Gateways de camada de aplicação fazem mais que analisar cabeçalhos de datagramas eles tomam decisões mediante dados presentes na camada de aplicação do Modelo OSI. Um Gateway de aplicação é um servidor especifico de aplicação através do qual todos os dados da aplicação (que entram e saem) devem passar (KUROSE; ROSS, 2006). Os Servidores proxy estão entre o usuário da rede interna e os serviços de internet, criando assim uma camada entre a rede interna e a internet (STATON, 2009), eles recebem as solicitações dos usuários para o serviço da internet, verificam se estas solicitações são aceitas no conjunto de regras estabelecidas e em seguida passam ou não a solicitação ao serviço solicitado. Os Servidores proxy possuem dois componentes: Servidor Proxy e Cliente Proxy no qual o servidor é executado no dispositivo firewall, enquanto o cliente poderá ser um software que dará maior suporte ao servidor, como um browser, um software SSH (Secure shell – Shell seguro) entre outros que se comunicam com o proxy server e este por sua vez com o servidor real. Gateway de circuitos: Esse tipo de firewall é similar a um Servidor proxy e atua na camada de transporte do modelo OSI ou podemos dizer na camada Transporte do modelo TCP/IP. Stato (2009) aponta que Circuit-Level Gateways cria um circuito entre o cliente e o servidor e não interpreta o protocolo de aplicação. Ele atua monitorando o handshaking (aperto de mão – processo onde duas máquinas se reconhecem e confirmam estarem prontas para iniciar uma comunicação) entre pacotes, objetivando determinar se a sessão é legitima. 27
  • 30. 2.11 Arquiteturas de Firewall A arquitetura de Firewall, nada mais é que a forma em que eles serão dispostos dentro da rede que visam proteger. Citaremos aqui algumas das mais utilizadas. Screening Router : Essa arquitetura utiliza um roteador para proteger uma rede interna, suas funcionalidades são descritas na seção Filtro de pacotes. É a arquitetura mais falha quando tratamos de firewall, uma falha no roteador comprometeria toda a rede, esse tipo de arquitetura geralmente atua em conjunto com outra. Figura 2 - Arquitetura Screening router – Fonte: Autores Dual-Homed Host : Nesse tipo de arquitetura toda a segurança da rede depende de um único computador que atua como um roteador entre as duas redes, isso teoricamente, pois na verdade o computador em questão não oferece nenhum tipo de serviço de roteamento de pacotes. Segundo Stato (2009) uma arquitetura deste tipo é montada sobre um computador com duas interfaces de rede, onde uma está conectada à internet e a outra à rede interna. Nesse tipo de arquitetura a rede interna consegue conexão com a rede externa (Internet) através do dual-homed host porém a rede externa não terá comunicação com o sistema interno do firewall. É ideal para pequenas redes com tráfego baixo. 28
  • 31. Figura 3 - Arquitetura Dual-homed Host – Fonte: Autores Screened Host: Aqui temos a combinação de um Bastion Host (Hospedeiro bastião) atuando como Gateway de Aplicação e um roteador com Screening router. Segundo afirma Stato (2009) o Screening router só aceita conexões provindas do Bastion Host, e o mesmo por sua vez provê os serviços necessários para a rede interna. Ou seja, o único ponto de acesso à rede interna passa pelo Bastion Host que recebe apenas dados que já foram analisados pelo screening router. Este tipo de arquitetura provê duas camadas de segurança: uma a nível de rede através do screening router e outra a nivel de aplicação através do Bastion Host, Stato (2009) afirma que em termos de segurança, ela é bem razoável. Figura 4 - Arquitetura Screened Host – Fonte: Autores 29
  • 32. Screened Subnet Firewall: Também conhecida como DMZ (DeMilitarized Zone) adiciona mais uma camada de segurança, implementando uma sub-rede entre a rede interna e a Internet. Nesse tipo de arquitetura teremos dois roteadores atuando como screening router, um na saída para a rede externa e outro na entrada da rede interna, entre eles teremos um Bastion Host (Gateway de aplicação), ou seja, para se chegar a rede interna há a necessidade de se passar pelo roteador externo, pelo Bastion Host e pelo roteador interno. Stato (2009) aponta que essa arquitetura é mais complexa de implementar, pois necessita da configuração dos firewall tanto interno como externo, do Bastion Host e ainda a comunicação entre eles. Figura 5 - Arquitetura Screened Subnet – Fonte: Autores 2.12 IPCop O slogan do IPCop é ―The bad packets stop here!‖ o que significa: Os pacotes ruins param por aqui! Essa é a principal proposta do IPCop, impedir que arquivos não autorizados, (sob o ponto de vista da organização), entrem em sua rede. O IPCop é um firewall desenvolvido para redes SOHO (Small Office/Home Office) e fornece as mesmas características de um firewall moderno, mas com uma diferença, é um software livre, ou seja, temos a permissão de alterá-lo conforme nossas necessidades, seguindo sempre as especificações GNU GPL. 30
  • 33. O livro dos autores Dempster e Eaton-Lee (2006), aborda com detalhes todo o funcionamento do IPCop, instalação do sistema operacional e alguns módulos, este trabalho baseia- se no conteúdo do livro para aplicar módulos. Abordaremos a aplicação dos módulos Urlfilter, Layer7 e P2PBlocker nos quais não são citados no livro. A escolha do IPCop em nosso projeto levou em consideração suas características como a facilidade de uso, sua intuitiva interface web e também a característica de centralizar em um único ponto 4 redes. No IPCop a rede é separada em 4 cores: verde, vermelha, azul e laranja. A interface verde representa a rede interna, a interface vermelha faz conexão com a rede externa (Internet), a interface azul é designada para enlace wireless, e por último, a interface laranja conhecida também por DMZ (DeMiliatized Zone). O IPcop possui duas formas de acesso remoto: ssh e https, sem contar o acesso direto ao sistema operacional. Conseguimos fazer quase todas as instalações e configurações dos módulos pela interface web (https), mas alguns módulos possuem peculiaridades, e necessitam ser instalados e configurados utilizando a linha de comando do IPCop. Um exemplo é o Layer7 que iremos abordar. 2.13 IPCop: Interfaces de Rede 2.13.1.1 Interface Verde A interface Verde representa a rede interna ao Firewall, segundo Dempster e Eaton-Lee (2006) um firewall IPCop irá automaticamente permitir que todas as conexões sejam realizadas a partir da interface Verde para todos os outros segmentos da rede. Essa interface verde poderá ser ligada desde um pequeno HUB até vários swicthes ou até mesmo um roteador. A interface verde deve possuir um endereço de rede privado, assim o IPCop por padrão exibe apenas um único endereço IP realizando NAT. O uso de endereços públicos na interface verde seria inútil já que por padrão o IPCop iria tratá-lo como se fosse um endereço privado. Conforme afirma Dempster e Eaton-Lee (2006) usar o IPCop como roteamento firewall (ao invés de um firewall realizando NAT, que é o configuração padrão) requer configurações mais avançadas e não pode ser realizado através do GUI (Graphical User Interfaces – Interface gráfica do usuário). 31
  • 34. 2.13.1.2 Interface Vermelha Assim como a interface verde a interface vermelha estará sempre presente na topologia da rede, segundo Dempster e Eaton-Lee (2006) a interface de rede vermelha representa a Internet ou um segmento de rede não confiável. O princípio básico do firewall IPCOP é proteger todas as outras interfaces, verde, azul e laranja de todo o tráfego ocorrido na interface vermelha, essa interface geralmente usará um endereçamento público que deverá estar de acordo com o seu ISP. Conforme afirmação de Dempster e Eaton-Lee (2006) a interface vermelha é o único segmento de rede em que o IPCop tem apoio para outro hardware de uma rede Ethernet Interface Card. Esse segmento pode ser uma interface de rede Ethernet atribuída estaticamente ou com uso de DHCP, pode ser um cabo USB, um modem ADSL ou mesmo uma conexão dial-up com um modem analógico. 2.13.1.3 Interface Laranja A interface laranja é totalmente opcional na arquitetura do IPCop, ela é concebida como uma rede DMZ (DeMiliatized Zone), o termo DMZ é aplicado na área militar quando há a existência de um território onde a atividade militar não é permitida. Segundo Dempster e Eaton-Lee (2006) na terminologia firewall, a DMZ assume um significado semelhante, como um segmento de rede entre a rede interna de uma organização e uma rede externa tal como a Internet. Aqui a DMZ é protegida da internet pelo firewall, ela tem exposição direta à internet, assim sendo há a necessidade de separá-la da interface verde que está em uma zona mais protegida da rede. Segundo Dempster e Eaton-Lee (2006) é nessa interface de rede não confiável que a organização coloca serviços destinados ao mundo lá fora. Sendo assim, geralmente é onde ficarão os servidores Web ou de email, por exemplo. Os clientes residentes na interface laranja não terão acesso a interface verde ou a interface azul, a não ser que seja configurado um DMZ pinholes. Pinholes podem ser descritos como um canal de comunicação seguro entre dois clientes presentes em diferentes interfaces da rede, a comunicação da interface laranja com a vermelha é feita através de redirecionamento de portas 32
  • 35. 2.13.1.4 Interface Azul Assim como a interface de rede Laranja a interface Azul é totalmente opcional, ela foi adicionada a versão 1.4 do IPCop. Segundo Dempster e Eaton-Lee (2006) esta rede foi projetada especificamente para ser um segmento de rede wireless. Clientes na interface Azul não alcançam a interface Verde, isso apenas seria possível através de uma canal direto assim como é feito com a interface laranja, ou através de uma VPN permitindo assim total acesso aos recursos presentes na interface verde. A figura 6 (seis) mostra um exemplo da Topologia IPCop. Figura 6 - Topologia IPCop – Fonte: Autores No próximo capítulo abordaremos a instalação e configuração dos módulos no IPCop. 33
  • 36. CAPITULO 3 Desenvolvimento Abordaremos nesse capítulo o desenvolvimento para chegarmos aos resultados esperados. O bloqueio e controle do tráfego de aplicações como MSN Messenger, transferência de arquivos pelo mesmo (MSN file transfer), o bloqueio de endereços URL (Uniforme Resource Locator – Localizador Uniforme de Recursos) e aplicações P2P (Peer-to-perr – Ponto a ponto). Será demonstrado a facilidade de configuração e utilização da distribuição e seus respectivos módulos adicionais. Afinal, empresários que adquirem esse tipo de solução, esperam que a ferramenta seja útil, eficiente, barata e que o colaborador responsável por administrar a ferramenta não tenha grandes dificuldades. 3.1 Configuração básica do IPCop Nesse ponto do trabalho, abordaremos apenas a configuração do IPCop após a instalação, caso tenha interesse, no livro dos autores Dempster e Eaton-Lee(2006) o assunto é abordado com conceitos novos da ferramenta, instalação e configuração da distribuição e vários módulos, com exceção do l7blocker e p2pblock que estaremos abordando em nosso trabalho. O endereço utilizado em nosso desenvolvimento para acessar a interface web é o https://192.168.0.1:445, lembrando que este endereço é usado em nossa interface verde por ser a rede interna. Podemos destacar no primeiro acesso, a interface web, uma interface intuitiva e simples. Vejamos a página principal na figura 7 (sete) abaixo. Figura 7 - interface IPCop – Fonte: Autores 34
  • 37. Note que a interface nos mostra algumas informações, como o tempo de conexão do servidor, o endereço ip usado na interface vermelha e um aviso ―There are updates available for your system. Please go to the "Updates" section for more information‖, (Há atualizações disponíveis para seu sistema. Por favor, vá para o "Atualizações" para obter mais informações). Essas atualizações serão realizadas conforme avançarmos no trabalho. No primeiro acesso, o IPCop pedirá a senha de validação do usuário Admin, como mostra a figura 8 (oito). Figura 8 - Primeiro acesso - Fonte: Autores Após o acesso realizado, devemos citar que o IPCop dá suporte a vários idiomas, nesse trabalho o idioma escolhido foi o português. Temos oito abas na parte superior da página, nas quais conforme avançarmos no trabalho iremos explicar pelo que cada uma é responsável. Para mudar o idioma clique na aba System, em seguida em GUI Settings, depois selecione o idioma que deseja que o IPCop exiba, clique no botão ―Save‖ para que o IPCop possa atribuir as mudanças. Figura 9 - Mudando de idioma - Fonte: Autores 35
  • 38. Agora com o menus em português estamos prontos para iniciar a atualização do IPCop e habilitar o acesso via ssh. Clique na recém traduzida aba, Sistema, em seguida clique na opção ―Actualizações‖, estaremos acessando a seguinte página referenciada pela figura 10 (dez) a seguir. Figura 10 - IPCop Updates – Fonte: Autores Há duas formas de atualizar o IPCop, baixando o arquivo diretamente com o auxilio da interface, ou baixando o arquivo de atualização do seguinte endereço http://sourceforge.net/projects/ipcop/files/ e posteriormente fazendo o envio do arquivo clicando no botão ―Selecionar arquivo‖ evidenciado na figura 10 (dez). Em nosso procedimento de atualizar para a versão 1.4.21, nos deparamos com uma situação peculiar. Ao tentar atualizar o IPCop, o seguinte erro era reportado: ―Esta não é uma atualização autorizada‖, como na figura 11 a seguir. A Causa desse problema é o fato do horário não estar atualizado, sendo necessário acessar o IPCop através da linha de comando (veremos em 3.4) e alterá-lo com o seguinte comando: root@ipcop:~ # date mmddhhmmyyyy Onde a sequência após o comando date representa mês, dia, horas, minutos e ano, respectivamente. 36
  • 39. Figura 11 - IPCop Update Error – Fonte: Autores Após a modificação do horário e data de nosso IPCop, conseguimos atualizar para a versão 1.4.21 como evidenciado na figura 12 abaixo. Figura 12 - Update – Fonte: Autores Outra opção importantíssima para a configuração da ferramenta, é o suporte ao protocolo SSH. Sem essa opção habilitada, dificilmente teremos a facilidade de acessar o IPCop para transferir os arquivos necessários aos outros passos a seguir. Para habilitar o ssh, acesse o menu Sistema e clique na opção SSH Access. Surgirá a página de configuração que proverá a opção do SSH Access como na figura 13. 37
  • 40. Figura 13 - IPCop ssh – Fonte: Autores Nosso ambiente está atualizado e pronto para receber os pacotes necessários para prosseguimento da configuração do IPCop. 3.2 Obtenção de pacotes e softwares adicionais Nesta etapa do trabalho reunimos sete arquivos que são indispensáveis para prosseguir à próxima etapa. Os nomes dos softwares ou pacotes e a referente URL para download estão abaixo: 1. Putty (Cliente SSH) http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 2. Winscp (Cliente Ftp e Scp) http://winscp.net/eng/download.php 3. Ipcop-1.4.21-Kernel 2.4.36 (Kernel do Ipcop com suporte ao layer 7) http://embcop.org/node/7 4. URLfilter (Módulo para IPCop) http://www.urlfilter.net/ 5. P2pblock 1.4.21 (Módulo para IPCop) http://mh-lantech.css-hamburg.de/ipcop/download.php?view.206 6. L7-Blocker 1.4.21 (Módulo para IPCop) http://mh-lantech.css-hamburg.de/ipcop/download.php?view.207 38
  • 41. 7. L7-protocols (Definições de protocolos. Necessários na configuração do L7) http://sourceforge.net/projects/l7-filter/files/Protocol%20definitions/2009-05-28/l7- protocols-2009-05-28.tar.gz/download 3.3 O que é URLfilter ? O URLfilter é um módulo desenvolvido para o IPCop na intenção de estender sua capacidade de bloquear domínios indesejados, URL´s e até mesmo arquivos. O Pacote é baseado no redirecionador SquidGuard (http://www.squidguard.org), e a interface gráfica do URL filter permite o acesso a todas as configurações necessárias. 3.4 O que é P2PBlock ? O P2PBlock é um módulo desenvolvido para o IPCop para controlar a utilização de softwares P2P como: Kazaa, Emule, WinMX, Bittorrent, Ares, Edonkey, Gnutella, WarezClient, AppleJuice e alguns outros. A interface desse módulo no IPCop, consiste em três colunas contendo respectivamente nome da aplicação ou protocolo, colunas Block e Log. As duas colunas possuem somente caixas de marcação (check box), veja figura 14 a seguir. 39
  • 42. Figura 14 - IPCop P2P Block – Fonte: Autores 3.5 O que é L7Block ? O módulo L7Blocker como o P2PBlock foram desenvolvidos por Markus Hoffman, aumentando a qualidade do controle de tráfego com o IPCop. Desenvolvido para acabar com a ineficiência dos firewalls ao controlar o tráfego de aplicações como Skype, Msn messenger, Jabber, World of War craft, Telnet, Doom, Counter Strike, Battlefield e muitos outros. O L7Blocker tem um leque de opções desde os mais simples protocolos como telnet até jogos mundialmente conhecidos. O L7blocker utiliza expressões regulares para identificar e distinguir os protocolos das aplicações 3.6 Acesso SSH com o Putty Com o suporte ao SSH habilitado, devemos testar se nossa conexão está funcionando corretamente. Para isso execute o Putty, responsável por disponibilizar o acesso remoto a sistemas 40
  • 43. Linux através de sistemas Windows. Preencha as informações como na figura 15 a seguir, lembrando que a porta utilizada será a 222. Figura 15 - Putty – Fonte: Autores O primeiro acesso com o Putty exigirá uma confirmação como na figura 16. Figura 16 - Putty Securty Alert – Fonte: Autores 41
  • 44. Na figura 17 temos a confirmação de que obtivemos sucesso em nossa conexão, no exato momento que é solicitado ao usuário, a inserção de login e senha. Figura 17 - Putty Login – Fonte: Autores Siga para o diretório raiz do sistema e crie uma pasta com o nome addons. Será nessa pasta onde iremos realizar o upload dos pacotes, posteriormente ela poderá ser apagada. Verifique com o comando pwd para saber em qual diretório do sistema você está, provavelmente estará no diretório /root. Na linha de comando digite os seguintes comandos, após a cerquilha (#) como abaixo: root@ipcop:~ # cd / root@ipcop:~ # mkdir addons root@ipcop:~ # ls / Os comandos acima significam respectivamente mudança do diretório atual para o diretório raiz do sistema, criação de um novo diretório e a listagem do diretório raiz do sistema para verificar se o diretório addons foi criado corretamente. 3.7 Envio de arquivos com Winscp Com o funcionamento da conexão remota através de ssh, precisamos instalar o WinSCP que nos ajudará a enviar os pacotes para o IPCop. Após sua instalação, execute-o e preencha as informações como na figura 18. Um detalhe a ser notado é a utilização da porta 222 como utilizamos no Putty. 42
  • 45. Figura 18 – WinSCP Login – Fonte: Autores Na figura 19 temos o Winscp conectado no IPCop, ao lado esquerdo estão os arquivos locais em nossa máquina Windows. Ao lado direito da figura, os arquivos contidos no IPCop. Figura 19 - WinSCP Transferência de arquivos – Fonte: Autores Selecione os seguintes arquivos que estão em nossa máquina Windows local:  Ipcop-1.4.21-kernel-2.4.36.tar.bz2  Ipcop-urlfilter-1.9.3.tar.gz  L7blocker_ipcop_1.4.21.tar.gz  P2pblock_ipcop_1.4.21.tar.gz 43
  • 46. Arraste-os para dentro do diretório addons, criado anteriormente no IPCop. O Resultado pode ser visto na figura 20 a seguir. Figura 20 - WinSCP Arquivos transferidos – Fonte: Autores O pacote l7-protocols-2009-05-28.tar.gz, contêm os protocolos que serão usados pelo l7blocker. São escritos com expressões regulares e se não estiverem no diretório /etc/l7-protocols o L7blocker não irá funcionar corretamente. Para corrigir essa falha, descompacte o arquivo em sua própria máquina Windows, acesse o IPCop com o Putty e crie o diretório l7-protocols dentro do diretório /etc. Envie todos os arquivos contidos dentro da pasta l7-protocols-2009-05-28 que estão em sua máquina local para dentro do diretório l7-protocols no IPCop. Veja o resultado como na figura 21 a seguir. Figura 21 - WinSCP L7-Protocolos – Fonte: Autores 44
  • 47. 3.8 Descompactar pacotes Nesta etapa, descompactaremos os pacotes que estão compactados nos formatos tar.gz e tar.bz2. Para isso acesse o IPCop remotamente através do Putty e digite os comandos a seguir. root@ipcop:~ # cd / root@ipcop:~ # ls root@ipcop:~ # cd addons root@ipcop:~ # ls O comando ls lista os arquivos presentes no diretório, nesse momento temos 4 (quatro) arquivos:  Ipcop-1.4.21-kernel-2.4.36.tar.bz2  Ipcop-urlfilter-1.9.3.tar.gz  L7blocker_ipcop_1.4.21.tar.gz  P2pblock_ipcop_1.4.21.tar.gz O pacote mais importante nesse momento é o ipcop-1.4.21-kernel-2.4.36.tar.bz2, pois é o kernel Linux com suporte ao l7-filter. Sem esse Kernel, não obteríamos sucesso na implementação dos módulos l7blocker e p2pblock. Para descompactá-lo corretamente insira a seguinte linha de comando: root@ipcop:~ # tar xvfj ipcop-1.4.21-kernel-2.4.36.tar.bz2 –C / A criação de um arquivo dentro do diretório /var/run/ deve ser realizada para que as alterações tenham efeito no IPCop. As linhas de comando a seguir criam o arquivo need-depmod- `uname –r`, onde uname –r será substituído pela versão do kernel. O comando reboot realizará a reinicialização da máquina. root@ipcop:~ # touch /var/run/need-depmod-‗uname – r‘ root@ipcop:~ # reboot 45
  • 48. Após a reinicialização, confira com o comando ―uname –ar‖ a versão atual do kernel. Com o novo kernel 2.4.36, podemos terminar de descompactar os 3 pacotes restantes. Recomeçaremos com o Url filter, acesse o diretório addons no diretório raiz e digite a seguinte linha de comando: root@ipcop:/addons # tar xvfz ipcop-urlfilter-1.9.3.tar.gz O pacote referente ao P2pblock, contém somente dois arquivos e para a extração dos mesmos o comando a seguir será utilizado: root@ipcop:/addons # tar xvfz p2pblock_ipcop_1.4.21.tar.gz Como foi realizado com os módulos anteriores, a extração dos arquivos contidos no l7blocker_ipcop_1.4.21.tar.gz ocorre da mesma forma. Veja na linha de comando. root@ipcop:/addons # tar xvfz l7blocker_ipcop_1.4.21.tar.gz 3.9 Instalação do Url filter Os comandos a seguir deverão ser inseridos na linha de comando na ordem em que são mostrados. Dentro do diretório addons digite: root@ipcop:/addons # cd ipcop-urfilter root@ipcop:/addons # ./install O Url filter foi instalado com sucesso no IPCop. 3.10 Instalação do P2PBlock O P2P Block também é instalado em poucos passos como o Url filter. Dentro do diretório addons digite: root@ipcop:/addons # cd p2pblock root@ipcop:/addons # ./install O P2Pblock foi instalado com sucesso no IPCop. 46
  • 49. 3.11 Instalação do L7Blocker Todos os módulos usados como podem notar, são fáceis de instalar. A única diferença para instalar o L7Blocker é a adição do parâmetro –i no último comando da lista a seguir. Dentro do diretório addons digite: root@ipcop:/addons # cd l7blocker root@ipcop:/addons # ./install -i O L7blocker foi instalado com sucesso no IPCop. 3.12 Configuração do P2PBlock Conforme ressaltamos anteriormente sobre a facilidade do uso dos módulos instalados, iremos começar pelo mais fácil de configurar, o P2PBlock. Na aba Serviços haverá três novas opções: Url Filter, Layer7 Blocker e P2PBlock, sendo assim clique na opção P2PBlock. Por padrão o P2PBlock vem com todas as caixas de verificação desmarcadas, como na figura 22. Figura 22 – P2PBlocker – Fonte: Autores 47
  • 50. Na figura 23 podemos notar o eMule conectado com os servidores de transferência. Figura 23 - eMule conectado - Fonte:Autores Para alcançar o resultado que obtivemos no bloqueio da aplicação Emule, nós marcaremos as seguintes opções nas colunas Block e Log: Emule, Layer7 Edonkey, ipp2p Edonkey/Emule exatamente como na figura 24. Figura 24 – Bloqueio com P2PBlocker – Fonte: Autores 48
  • 51. Para que as alterações funcionem, clique no botão ―apply settings‖. Outra página surgirá confirmando as alterações. Figura 25 - P2PBlocker apply settings – Fonte: Autores A seguir a figura 26 mostra a falha na tentativa de conexão do Emule com seus servidores padrão. Figura 26 - Emule conexão bloqueada - Fonte:Autores 49
  • 52. Na próxima figura temos o log do bloqueio das redes do eMule: Figura 27 – Log de bloqueio (Layer7 edonkey) - Fonte:Autores 3.13 Configuração do L7Blocker O L7Blocker requer um pouco mais de atenção, pois devemos criar grupos e regras e juntá- los depois. Na figura 28 abaixo temos dois botões: create group e create rule, onde a primeira ação é criar um grupo. Nessa página principal do L7blocker, a quantidade de informações aumentará conforme os passos deste tópico. Figura 28 - L7Blocker – Fonte: Autores 50
  • 53. Antes de iniciarmos a configuração do L7blocker, visualize na figura 29 que a aplicação Windows Live Messenger está funcionando corretamente. Figura 29 – MSN Messenger – Fonte: Autores Voltando o foco para a criação do grupo, clique no botão create group e preencha as informações solicitadas como o exemplo da figura 30. Em nosso exemplo usamos Colaboradores para o nome do grupo e os 4 respectivos endereços IP da figura 30 para serem membros do Grupo. Para adicionar o grupo, clique em add group. Figura 30 - L7Blocker create group – Fonte: Autores Como já temos um grupo criado, devemos criar regras para controlar o tráfego da rede. Na página onde havia o botão create group, há um botão chamado create rule. Clicando nele a página de configuração da figura 31 irá ser mostrada. 51
  • 54. Figura 31 - L7Blocker create rules – Fonte: Autores Da mesma forma que criamos o grupo Colaboradores, iremos criar duas regras: bloqueio de acesso ao aplicativo MSN Messenger e o bloqueio para transferência de arquivos pelo mesmo aplicativo. Apesar que existe a opção de criar uma regra com mais de um protocolo, não iremos demonstrar assim. No campo Rulename, colocamos MsnBlocker por questões da facilidade de identificação para sabermos o que a regra faz. No Campo Rulemember podemos selecionar um ou mais protocolos a serem bloqueados, mas em nosso caso optamos por escolher apenas o protocolo msnmessenger. Na segunda regra que criamos chamada de Block-MSN-FT, estaremos bloqueando a transferência de arquivos que utiliza o protocolo MSN-filetransfer. Veja o exemplo na figura 32 à seguir. Figura 32 - L7Blocker MSN-filetransfer – Fonte: Autores O passo seguinte é juntar o grupo com a regra, mas também existe a opção de atribuir todas as regras para toda sua rede interna, ou, somente para esse grupo. Novamente na página principal do L7blocker, clique no botão merge rule(s) and groups(s), perceba que antes ele não existia. Preencha o nome desse agrupamento com algo sugestivo, por exemplo BlockMsn. 52
  • 55. No campo Groups podemos selecionar o grupo ou simplesmente deixar sem selecionar nenhuma, dessa forma a abrangência de nossas regras será valida para toda a rede interna. Como dito anteriormente sobre escolher mais de um tipo de protocolo para criar as regras, também podemos fazer isso com a junção de grupos e regras. O campo Rules deverá conter as duas regras que criamos anteriormente, MsnBloqueio e Block-MSN-FT. Selecionamos para demonstrar a regra MsnBlocker e clicamos no botão Save para que nosso IPCop passe a bloquear esse tipo de tráfego. Figura 33 - L7Blocker Bloqueio de MSN – Fonte: Autores A próxima figura mostra que o IPCop já mostra as políticas existentes no momento, porém não estão em funcionamento real, como aponta a mensagem em vermelho ―L7Blocker is not running‖ Figura 34 - L7 is not running – Fonte: Autores Clique em Start para iniciar o L7Blocker, a confirmação pode ser vista na figura 35. 53
  • 56. Figura 35 - L7 Running – Fonte: Autores A figura 36 mostra a falha na tentativa de conexão do Msn Messenger após a inicialização do L7blocker. Porém se o usuário estiver conectado ao MSN messenger no momento que aplicarmos as novas regras, ele não será desconectado. As alterações terão efeito somente no próximo acesso ao Msn Messenger. Figura 36 - Falha na conexão MSN - Fonte: Autores Na figura 37 mostramos o log do IPCop onde está evidenciado a tentativa de conexão do MSN Messenger. Figura 37 - Log bloqueio MSN Messenger - Fonte: Autores 54
  • 57. 3.14 Configuração do Urlfilter A configuração do urlfilter começa na aba Serviços na opção Proxy, como na figura 35 a seguir. Por padrão as opções Enabled on, Transparent on Green e Url Filter enabled estarão desmarcadas. Marque-as como na figura 38 e salve as alterações, clicando no botão ―guardar‖. Figura 38 - URLFilter – Fonte: Autores O modulo do urlfilter é acessado na aba serviços através da opção urlfilter. A página do urlfilter possui diversas configurações, nas quais, abordaremos apenas as que utilizamos para demonstrar seu uso eficaz. Na figura 39, temos onze categorias padrões, mas iremos atualizar o url filter com a Shalla´s Blacklists (lista negra contendo diversos sites). Figura 39 - URLFilter Block categories – Fonte: Autores Blacklists basicamente são listas de domínios e URLs que de alguma forma são prejudiciais quando acessados por colaboradores mal informados. Quando um domínio ou url estiver em uma blacklist não quer dizer que todos devem evitar acessar, mas para determinadas políticas de seguranças nas empresas o acesso deve ser proibido. 55
  • 58. Obtenha o pacote do Shalla´s Blacklist no seguinte endereço, http://www.shallalist.de/Downloads/shallalist.tar.gz , em seguida procure na página de configuração do url filter o Url filter maintenance como na figura 40. Figura 40 - URLFilter Blacklist update – Fonte: Autores Selecione o arquivo shallalist.tar.gz e atualize a blacklist do seu url filter, clicando no botão ―Upload blacklist‖. Após a atualização, note que houve um aumento nas categorias, passando de onze para setenta e sete categorias de bloqueio como mostra a figura 41 a seguir. Figura 41 - URLFilter Categories – Fonte: Autores 56
  • 59. Marque algumas categorias de sua escolha, caso queira seguir o exemplo da figura 42, no qual o nosso IPCop está bloqueando corretamente as categorias marcadas. Figura 42 - URLFilter Categories – Fonte: Autores Há opções para configurar as páginas de bloqueio e dentre elas podemos direcionar o usuário para outra página, exibir o ip do usuário, a URL bloqueada além de alterar a imagem de fundo das páginas de bloqueio. Veja a figura 43. Figura 43 - URLFilter configurações – Fonte: Autores 57
  • 60. A seguir mostraremos um exemplo de bloqueio por expressão regular no urlfilter. A figura 44 mostra a caixa de texto ―Custon expression List‖ onde devem ser inseridas as expressões que serão bloqueadas. No nosso exemplo usamos o nome do site de relacionamento ―Orkut‖. Note que a caixa de opção ―enable custom expression list‖ deve estar selecionada. Figura 44 - Urlfilter Expressão regular - Fonte: Autores Ao tentar, acessar a página oficial do orkut, http://www.orkut.com.br/ o IPCop irá bloquear a página e exibir seu aviso, o mesmo ocorrerá caso o usuário tente pesquisar o nome ―Orkut‖ em sites de busca. Figura 45 - bloqueio Orkut.com - Fonte: Autores O urlfilter possui outras funcionalidades como whitelists, editor de blacklists, e outras configurações, que deverão ser abordadas em um artigo futuramente. 58
  • 61. CONCLUSÃO Os resultados obtidos atingiram os objetivos iniciais de aplicar e analisar os resultados das configurações de políticas de bloqueio em um ambiente de teste com a utilização da distribuição linux IPCop. A utilização dos módulos adicionais: L7blocker, P2pBlock e Urlfilter foram eficientes e cumpriram suas funções especificas como: controlar o acesso aos serviços do MSN messenger, compartilhamento e download de arquivos através do Emule e por fim o acesso à sites que não eram permitidos de acordo com as categorias listadas do Urlfilter. Esse controle ocorreu de forma simples e direta sem intervenção de técnicas complicadas como foi proposto desde o início do trabalho. Os trabalhos posteriores devem abordar outros serviços e módulos, e até mesmo o desenvolvimento de uma distribuição linux IPCop embarcada em um appliance (dispositivo). Sugestões: Embarcar o IPCop dentro de um appliance. 59
  • 62. REFERÊNCIAS BIBLIOGRAFICAS CHESWICK, W.R., BELLOVIN, S.M. Firewalls and Internet Security. Addison- Wesley Publishing Company, 1997. 306p. DEMPSTER, Barrie; EATON-LEE, James. Configuring IPCop Firewalls Closing Borders with Open Source. 1ª Ed., Packt Publishing, 2006. FRISCH, Æ. Essential System Administration. O'Reilly & Associates, 1995. 758p. GHEORGHE, Lucian. Designing and Implementing Linux Firewalls and QoS using netfilter, iproute2, NAT, and L7-filter. 1ª Ed., Packt Publishing, 2006. GIL, A.C. Métodos e técnicas de pesquisa social. São Paulo: Atlas, 1999. 305 p. GIL, Antonio Carlos. Como Elaborar Projetos de Pesquisa. 4ª Ed. São Paulo: Atlas, 2002. KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet: Uma Abordagem top-down. 3ª Ed. São Paulo: Pearson Makron Books, 2006. MACMILLAN, Dictionary. Http://www.macmillandictionary.com/. Acessado em 14 de Novembro de 2010. MICHAELIS, Dicionário. Http://michaelis.uol.com.br/. Acessado em 14 de Novembro de 2010. MITNICK, Kevin D. A Arte de Enganar. 1ª Ed. São Paulo: Pearson, 2003. NUNES, Paulo. Conceito de Firewall. http://www.knoow.net/ciencinformtelec/informatica/firewall.htm. Acessado em 17 de Maio de 2010. RASH, Michael. Linux Firewalls : Attack detection and response with Iptables, PSAD, and FWSNORT. 1ª Ed., No Starch Press, 2007. SILVA, F.Q., FRANKLIN, D. Segurança de Informações e Acesso Seguro à Internet. DI - UFPE, 1997. STATO FILHO, André, Linux: Controle de Redes. Visual Books 2009. TANENBAUM, Andrew. Redes de Computadores e a Internet. 4ª Ed. São Paulo: Campus, 2003. ZWICKY, Elizabeth D.; COOPER, Simon; CHAPMAN, D. Brent. Building Internet Firewalls. 2ª Ed., O´reilly Media, Junho de 2000. 60