gerenciamento de regras de firewall iptables em ambiente linux

Upload: william-daher-prado

Post on 14-Apr-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    1/59

    UNIO EDUCACIONAL MINAS GERAIS S/C LTDAFACULDADE DE CINCIAS APLICADAS DE MINASAutorizada pela Portaria no 577/2000 MEC, de 03/05/2000BACHARELADO EM SISTEMAS DE INFORMAO

    GERENCIAMENTO DE REGRAS DE FIREWALL IPTABLES

    EM AMBIENTE LINUX

    CLAUDYSON JONATHAS ESQUIVEL

    Uberlndia

    2006

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    2/59

    ii

    CLAUDYSON JONATHAS ESQUIVEL

    GERENCIAMENTO DE REGRAS DE FIREWALL IPTABLES

    EM AMBIENTE LINUX

    Trabalho de Final de curso submetido

    UNIMINAS como parte dos requisitos para

    a obteno do grau de Bacharel em

    Sistemas de Informao.

    Orientador:Prof. Msc. Slvio Bacal Jnior

    Co-orientador:Esp. Flamaryon Guerim Gomes Borges

    Uberlndia

    2006

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    3/59

    iii

    CLAUDYSON JONATHAS ESQUIVEL

    GERENCIAMENTO DE REGRAS DE FIREWALL IPTABLES

    EM AMBIENTE LINUX

    Trabalho de Final de curso submetido

    UNIMINAS como parte dos requisitos para

    a obteno do grau de Bacharel em

    Sistemas de Informao.

    OrientadorProf. Msc. Slvio Bacal Jnior

    Co-orientadorEsp. Flamaryon Guerim Gomes Borges

    Banca Examinadora:

    Uberlndia, 21 de Dezembro de 2006.

    !"#$

    %!&%'!

    Uberlndia2006

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    4/59

    iv

    AGRADECIMENTOS

    Agradeo a Deus, a minha famlia pelo apoio e compreenso, aos meus amigosque estiveram presentes durante essa jornada. Obrigado a todos que fizeram parte

    dessa conquista.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    5/59

    v

    RESUMO

    A segurana da informao tem sido um dos principais objetos de

    preocupao das grandes corporaes. O Firewall do ambiente Linux, denominadoIPTABLES, um dos recursos mais utilizados por administradores de redes e sistemas

    computacionais para garantir a proteo e o filtro dos dados trafegados via rede entre

    os computadores. Entretanto, a criao e configurao de regras para este tipo de

    Firewall ainda uma tarefa que exige de tais profissionais um esforo e conhecimento

    avanados. Alm de apresentar os conceitos relacionados a esta tecnologia, este

    trabalho pretende facilitar a criao e manuteno das regras com a construo de

    uma ferramenta grfica de interface amigvel e de fcil utilizao. Ao final,

    apresentado um estudo de caso onde ser demonstrada a utilizao da ferramenta.

    Palavras-chave: segurana, Firewall, IPTABLES, Linux.

    ESQUIVEL, C.J. Gerenciamento de regras de Firewall IPTABLES em ambiente

    Linux. 2006. Trabalho de Concluso do Curso de Bacharelado em Sistemas de

    Informao, UNIMINAS, 2006.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    6/59

    vi

    ABSTRACT

    The information security has been the main concerned object of big

    corporations. The Firewallof Linux environment, called IPTABLES, is one of the mostused resources used by network administrators and system administrators to guarantee

    the protection and data traffic filter by network between computers. However the

    creation and configuration of rules for this type of Firewallis still a task that requires of

    these professionals an effort and advanced knowledge. Besides of showing the

    concepts related to this technology, this work intends to facilitate the creation and

    maintance of rules with a graphic tool building with friendly interface of easy utilization.

    At the end, is shown a case study where will be shown the utilization of this tool.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    7/59

    vii

    LISTA DE FIGURAS

    Figura 01. Datagrama IP______________________________________________________ 9Figura 02. Conexo TCP 3-WAY-HANDSHAKE__________________________________ 12Figura 03. Tabela filter do IPTABLES _________________________________________ 15Figura 04. Diagrama de caso de uso Usurios.____________________________________ 19Figura 05. Interface de Gerenciamento de Usurios. _______________________________ 20Figura 06. Interface de Login de Usurios. ______________________________________ 21Figura 07. Diagrama de caso de uso de Interfaces. ________________________________ 22Figura 08. Interface de Gerenciamento de Interfaces. ______________________________ 22Figura 09. Diagrama de caso de uso de Configurao. _____________________________ 23Figura 10. Interface de Gerenciamento de Configuraes. __________________________ 24Figura 11. Diagrama de caso de uso de Regras.___________________________________ 25

    Figura 12. Interface de Gerenciamento de Regras. ________________________________ 25Figura 13. Diagrama de Entidade-Relacionamento.________________________________ 29Figura 14. Modelo de navegabilidade __________________________________________ 30Figura 15. Topologia da rede exemplo__________________________________________ 32Figura 16.Login do FWC - Estudo de Caso. _____________________________________ 33Figura 17. Gerenciamento de Usurios - Estudo de Caso.___________________________ 34Figura 18. Login do FWC - Estudo de Caso. _____________________________________ 34Figura 19. Gerenciamento de Configuraes - Estudo de Caso. ______________________ 35Figura 19. Gerenciamento de Interfaces - Rede Interna.____________________________ 36Figura 20. Gerenciamento de Interfaces Rede Externa. ___________________________ 36Figura 21. Gerenciamento de Regras deINPUT. __________________________________ 37Figura 22. Gerenciamento de Regras de OUTPUT. ________________________________ 38Figura 23. Gerenciamento de Regras de FORWARD. ______________________________ 38Figura 24. Gerenciamento de Regras deNAT. ____________________________________ 39Figura 25. Exportar Regras. __________________________________________________ 39Figura 26. Aplicar Configuraes On-Line.______________________________________ 40

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    8/59

    viii

    LISTA DE TABELAS

    Tabela 01 Diviso do IP em classes ......................................................................11

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    9/59

    ix

    LISTA DE ABREVIATURAS E SMBOLOS

    FWC Firewall Constructor

    NAT - Network Address Translation

    UML - Unified Modeling Language

    FBI - Federal Bureau of Investigation

    DOS Denied of Service

    DDOS - Distributed Denied of Service

    HTTP - Hypertext Transfer Protocol

    HTTPS Secure HyperText Transfer Protocol

    TCP/IP - (Transfer Control Protocol / Internet Protocol).

    NETBIOS - Network Basic Input/Output System

    PING - Packet Internet Groper

    ARP - Address Resolution Protocol

    ICMP - Internet Control Message Protocol

    IGMP- Internet Group Management Protocol

    UDP - User Datagram Protocol

    SSH - Secure Shell

    RFC - Request for Comments

    MAC - Media Access Control

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    10/59

    x

    SUMRIO

    1 INTRODUO..................................................................................................................11.1 Cenrio Atual ............................................................................................................11.2 Identificao do Problema ......................................................................................11.3 Objetivos do Trabalho .............................................................................................21.4 Justificativa para a Pesquisa .................................................................................21.5 Organizao do Trabalho .......................................................................................2

    2 CONCEITOS RELACIONADOS......................................................................................32.1 A Segurana em Redes..........................................................................................32.2 O que Proteger.........................................................................................................4

    2.2.1 Medindo as Perdas..............................................................................................42.3 Tipos de Invasores ..................................................................................................5

    2.3.1 Pessoal interno....................................................................................................5

    2.3.2 Hackers...............................................................................................................52.3.3 Terroristas...........................................................................................................62.3.4 Servios de Inteligncia Estrangeiros.................................................................62.3.5 Hactivistas ..........................................................................................................6

    2.4 Protocolos de Comunicao ..................................................................................72.4.1 TCP/IP ................................................................................................................72.4.2 Endereamento IP.............................................................................................102.4.3 Sub-redes ..........................................................................................................11

    2.5 Tipos de Ataques ...................................................................................................112.5.1 SYN-FLOODING ............................................................................................12

    2.6 Tipos de Proteo..................................................................................................13

    2.7 Firewall: Classificao...........................................................................................132.7.1 Tipos de Firewall .............................................................................................142.8 O FirewallIPTABLES............................................................................................14

    2.8.1 O funcionamento de um Firewall IPTABLES.................................................152.8.2 Principais comandos do IPTABLES ................................................................162.8.3 A configurao de um Firewall IPTABLES....................................................17

    3 ESPECIFICAO DO SISTEMA ..................................................................................183.1 Viso Geral do Sistema ........................................................................................183.2 Descrio dos Usurios ........................................................................................183.3 Definio de Escopo .............................................................................................18

    3.3.1 Requisitos Funcionais.......................................................................................19

    3.3.2 Modelo de Casos de Uso ..................................................................................193.3.3 Requisitos No Funcionais ...............................................................................283.3.4 No Requisitos..................................................................................................28

    3.4 Modelagem de Dados ...........................................................................................284 Fluxo de Utilizao da Ferramenta...................................................................................30

    4.1 Estudo de Caso do FWC ......................................................................................324.1.1 Configurao ....................................................................................................324.1.2 Passos para criao das regras. .........................................................................334.1.3 Login do administrador.....................................................................................334.1.4 Criao de usurio ............................................................................................334.1.5 Login do novo usurio ......................................................................................344.1.6 Criao de Configurao ..................................................................................354.1.7 Criao de Interfaces ........................................................................................354.1.8 Criao de regras ..............................................................................................37

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    11/59

    xi

    4.1.9 Exportar Regras ................................................................................................394.1.10 APLICAR CONFIGURAO ON-LINE: .................................................................40

    5 CONCLUSO..................................................................................................................416 REFERNCIAS BIBLIOGRFICAS .............................................................................42

    7 ANEXOS..........................................................................................................................437.1 ANEXO A ................................................................................................................437.2 ANEXO B ................................................................................................................44

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    12/59

    1 INTRODUO

    1.1 Cenrio Atual

    Nas ltimas dcadas crescente a preocupao, principalmente das

    empresas, com a segurana das informaes, exigindo uma grande evoluo das

    tecnologias de proteo de dados trafegados pelas redes de computadores.

    Freqentemente so noticiados ataques a empresas de diferentes portes, causando,

    alm de prejuzos financeiros, queda da reputao destas.

    Um dos principais mecanismos de segurana existentes para minimizar

    os riscos de ataques o Firewall, um programa que detm autonomia concedida peloprprio sistema para pr-determinar e disciplinar todo o tipo de trfego existente entre o

    mesmo e outros host/redes.

    Em meados de 80, sob encomenda da AT&T, o primeiro Firewall do

    mundo foi desenvolvido com o intuito de filtrar todos os pacotes que sassem e

    entrassem na rede corporativa, de modo a manipul-los de acordo com as

    especificaes das regras previamente definidas. A seleo de tais pacotes em um

    Firewall realizada atravs de comandos que definem as regras para entrada e sada

    dos dados pela rede.

    Mesmo diante da evoluo dos meios tecnolgicos, hoje um Firewall

    continua a possuir e empregar os mesmos conceitos, apenas com alguns

    aprimoramentos e implementaes de novas funcionalidades.

    1.2 Identificao do Problema

    No Linux, as funes de Firewallso agregadas prpria arquitetura doKernel, que o ncleo do sistema operacional. Enquanto a maioria dos produtos

    Firewall pode ser definida como um subsistema, o Linux possui a capacidade de

    transformar o Firewallno prprio sistema. O mdulo do Kernelno Linux responsvel

    por realizar a funo de um Firewall chamado IPTABLES.

    A configurao de um Firewall IPTABLES realizada por uma srie de

    comandos que so interpretados pelo Kerneldo sistema operacional. Tais comandos

    podem ser executados via scripts(arquivos-texto) ou serem inseridos diretamente noshell.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    13/59

    2

    Entretanto, esse cenrio torna difcil a compreenso das regras e exige

    maior conhecimento do administrador do sistema. Existem algumas ferramentas que

    possibilitam configuraes em algumas distribuies do Linux, mas so restritas e no

    oferecem muitos recursos.

    1.3 Objetivos do Trabalho

    Este trabalho tem por objetivo o desenvolvimento de uma ferramenta que

    possibilite a administrao das regras do FirewallIPTABLES de maneira rpida, segura

    e atravs de uma interface amigvel.

    Para tal, pretende-se realizar um estudo sobre o Firewall IPTABLES,estudando a sua configurao em ambiente Linux de modo a criar um banco de dados

    com as regras, facilitando a configurao do ambiente que se deseja proteger.

    Alm disso, pretende-se demonstrar a eficcia da ferramenta utilizando-a

    em um ambiente real, para configurar o FirewallIPTABLES.

    1.4 Justificativa para a Pesquisa

    O grande nmero de regras necessrias para a configurao de um

    Firewall IPTABLES dificulta a compreenso e administrao do sistema. A principal

    justificativa para a realizao deste trabalho que a insero de tais regras no Firewall

    IPTABLES hoje realizada manualmente no promptde comando ou com agrupamento

    em arquivos-texto de difcil compreenso. Este trabalho ir contribuir com a construo

    de uma ferramenta que facilite essa configurao.

    1.5 Organizao do Trabalho

    O Captulo 2 apresenta os principais conceitos relacionados a este

    trabalho: Firewall, IPTABLES, ataques, invases e protocolos.

    No Captulo 3 apresentada a especificao dos requisitos do sistema

    proposto, utilizando diagramas da UML (Unified Modeling Language).

    No Captulo 4 so apresentados o esquema de utilizao da ferramenta e

    um estudo de caso.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    14/59

    3

    Por fim, o Captulo 5 expe mostra as concluses obtidas no trabalho, as

    limitaes do estudo realizado e sugestes de trabalhos futuros.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    15/59

    3

    2 CONCEITOS RELACIONADOS

    2.1 A Segurana em Redes

    A necessidade de segurana um fato que vem transcendendo o limite

    da produtividade e da funcionalidade. Enquanto a velocidade e a eficincia em todos

    os processos de negcios significam uma vantagem competitiva, a falta de segurana

    nos meios que habilitam a velocidade e a eficincia pode resultar em grandes prejuzos

    e falta de oportunidades de negcios. (NAKAMURA ; GEUS, 2003, p.9).

    O mundo da segurana marcado pela evoluo contnua, no qual

    novos ataques tm como resposta novas formas de proteo que levam ao

    desenvolvimento de novas tcnicas de ataques e assim sucessivamente. Esse mesmo

    comportamento pode ser observado no mundo da informao, onde tambm se deve

    ter em mente que a segurana deve ser contnua e evolutiva. (NAKAMURA ; GEUS,

    2003, p.9).

    Os seguintes fatores justificam a preocupao com a segurana

    contnua: a natureza dos ataques, as novas vulnerabilidades das novas tecnologias, a

    criao de novas formas de ataques, o aumento da conectividade, a complexidade da

    defesa, o aumento dos crimes digitais e os grandes prejuzos ocasionados pela falta de

    segurana. (NAKAMURA ; GEUS, 2003, p.10).

    O ambiente corporativo um ambiente que integra diversos sistemas de

    diferentes organizaes. A rede a tecnologia utilizada para realizar essa integrao,

    permitindo conexes entre todos os seus elementos. A confiabilidade, integridade e

    disponibilidade da rede so essenciais para o prprio negcio da organizao,

    justificando a preocupao com a segurana das informaes.Para segurana da informao devem ser considerados, alm do aspecto

    tecnolgico, os aspectos humanos, processuais, jurdicos e de negcios da

    organizao. No aspecto tecnolgico, a segurana de redes parte essencial. Com o

    crescimento do comrcio eletrnico, a segurana de redes passou a ser mais do que a

    proteo contra ataques, maus funcionrios ou vrus, representando hoje um elemento

    habilitador dos negcios da organizao.

    Entretanto, ainda hoje a segurana tratada de maneira superficial porgrande parte das organizaes. No recebendo a devida importncia e sem a definio

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    16/59

    4

    de uma boa estratgia de segurana, so utilizadas tcnicas parciais ou incompletas

    que podem aumentar a vulnerabilidade da organizao. (NAKAMURA; GEUS, 2003,

    p.10).

    2.2 O que Proteger

    Segundo ZWICKY (apud PALU, 2005, p.18) h basicamente trs itens

    que devem ser protegidos por uma organizao:

    Dados: a informao propriamente dita, mantida nos computadores. Em

    relao aos dados, deve-se preocupar com o sigilo, integridade e

    disponibilidade; Recursos: so os computadores que formam a rede da organizao;

    Reputao: considerado o fator principal ao implantar segurana, j que uma

    invaso pode ocasionar grandes prejuzos relacionados reputao da

    corporao.

    2.2.1 Medindo as Perdas

    Os tipos de perdas que as empresas podem experimentar por causa de

    lapsos na segurana dos computadores podem ser contabilizados das seguintes

    maneiras: (BURNETT,STEVE, 2002, p.266).

    Dados ou segredos: Perda de nmeros de carto de crdito do usurio,

    comprometimento de relatrios financeiros e acesso no-autorizado s

    informaes.

    Perda de reputao: s vezes uma avaliao negativa do analista pode causarum impacto to grande quanto prpria invaso. Isso pode ser uma das

    principais razes pela qual as empresas raramente informam invases e roubo

    de dados.

    Perdas financeiras: Alm dos roubos financeiros diretos, a perda de dados e a

    perda de reputao resultaro em perdas financeiras.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    17/59

    5

    2.3 Tipos de Invasores

    Todos os dias, invasores indesejveis realizam entradas no-autorizadas

    em sistemas de computador e redes. Esses indivduos podem estar classificados emgrupos:(BURNETT, STEVE, 2002, p.271).

    2.3.1 Pessoal interno

    A maioria das empresas quer acreditar que seus funcionrios so

    confiveis e nunca violaram a segurana corporativa. Entretanto, na realidade alguns

    funcionrios no so o que eles aparentam ser. As pessoas que cometem crimes de

    segurana contra seus empregados so motivadas por diversas razes. O pessoal

    interno descontente a principal fonte de crimes informatizados em vrias empresas.

    A pesquisa feita pelo FBI e pelo Computer Security Institute em 2000

    informa que 71% dos entrevistados detectaram acessos no-autorizados aos sistemas

    pelo pessoal interno.

    2.3.2 Hackers

    Conforme NAKAMURA (2003, p.51), O termo hacker utilizado

    genericamente para identificar quem realiza um ataque em um sistema computacional.

    Entretanto, h uma classificao especfica com base no perfil, na experincia e no tipo

    de ataque que realizado:

    Script Kids: iniciantes, inexperientes e novatos que conseguem ferramentas que

    podem ser encontradas prontas na internet;

    Cyberpunks:dedicam-se s invases de sistemas por divertimento e desafio.

    Geralmente encontram vulnerabilidades em servios, sistemas ou protocolos,

    prestando assim, um favor s organizaes ao publicar as vulnerabilidades

    encontradas;

    Insiders: empregados insatisfeitos. So os maiores responsveis pelos

    incidentes de segurana mais graves nas organizaes;

    Coders: hackers que resolveram compartilhar seus conhecimentos em livros,

    palestras ou seminrios;

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    18/59

    6

    White hat: profissionais contratados com o objetivo de descobrir as

    vulnerabilidades dos sistemas e aplicar as correes necessrias. So

    conhecidos como hackersdo bem;

    Black hat: utilizam conhecimentos para invadir sistemas ou roubar informaes

    secretas das organizaes. Conhecidos como crackers;

    Gray hat: hackersque vivem no limite entre o white hate o black hat. Quando

    contratados para atuarem como white hat nem sempre cumprem bem o seu

    papel, causando danos organizao.

    2.3.3 Terroristas

    Os grupos terroristas utilizam uma tecnologia de informao e a internet

    para formular planos, levantar fundos, difundir propagandas e comunicar-se de

    maneira segura. Alm disso, eles so conhecidos por se empenhar em ataques

    contras sites da WEB de governos estrangeiros e contras servidores de e-mail.

    2.3.4 Servios de Inteligncia Estrangeiros

    Os servios de inteligncia estrangeiros se adaptaram para utilizar as

    ferramentas cibernticas como parte do seu aparato de espionagem. Esses servios

    cada vez mais vem as invases de computador como ferramenta til para adquirir

    informaes sigilosas de governos e do setor privado.

    2.3.5 Hactivistas

    So ataques com motivos polticos contra pginas da WEB publicamente

    acessveis ou contra servidores de e-mail e invadem sites da WEB e adulteram suas

    pginas com mensagens polticas. Embora esses ataques geralmente no adulterem

    os sistemas operacionais ou redes, eles danificam os servios e negam o acesso

    pblico a sites da WEB que contm informaes valiosas.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    19/59

    7

    2.4 Protocolos de Comunicao

    Para que possa haver troca de informaes entre os pontos de uma rede

    necessrio que um protocolo de comunicao de dados esteja estabelecido paracoordenar o envio e recebimento dos dados. O protocolo agrupa as informaes em

    um pacote de dados lgico que possui um cabealho e um corpo. Os cabealhos

    contem informaes como origem, destino, tamanho e tipo de pacote. O corpo do

    pacote contm os dados que se deseja transmitir atravs da rede.

    O protocolo mais utilizado o TCP/IP (Transfer Control Protocol/ InternetProtocol).

    2.4.1 TCP/IP

    O TCP/IP uma famlia de protocolos para comunicao em redes que

    surgiu em 1975. Tem especificaes pblicas e genricas, permitindo serem

    implementados por diversos fabricantes. O TCP/IP utiliza um modelo de quatro

    camadas para a comunicao, so elas:

    2.4.1.1 Camada de Aplicao

    Esta quarta camada do modelo responsvel pelos aplicativos TCP/IP.

    H dois tipos de aplicativos nessa camada: aplicativos baseados em soquete e

    aplicativos do sistema bsico de sada e entrada de rede conhecidos como NETBIOS.

    Os aplicativos baseados em soquete existem em todos os clientes que

    utilizam o TCP/IP. Trs elementos so exigidos para os aplicativos baseados emsoquete: um endereo IP, uma porta e um tipo de servio. Cada cliente TCP/IP ter um

    endereo nico de 65.536 pontos de entrada, chamadas portas.

    Os aplicativos NETBIOS so comumente vistos em sistemas

    operacionais da Microsoft. O NETBIOS um transporte de camada de sesso que

    fornece uma comunicao virtual aos aplicativos em diferentes clientes. Isso significa

    que os aplicativos parecem ser capazes de se comunicar com base unicamente em

    nomes de computador.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    20/59

    8

    2.4.1.2 Camada de Transporte

    Esta a terceira camada do modelo TCP/IP. O propsito da camada de

    transporte conectar ou no conectar. Dois protocolos so utilizados nessa camadas,so eles: Tranmission Control Protocol(TCP) e User Datagram Protocol(UDP). O TCP

    uma comunicao orientada a conexo, quando um aplicativo utiliza o TCP um

    handshakede trs vias estabelecido e assegura que os pacotes so entregues livres

    de erros. O UDP uma comunicao sem conexo, quando um aplicativo utiliza UDP

    no estabelece um handshake de trs vias e no oferece a garantia de entrega de

    pacote, porm a comunicao mais rpida na transmisso que o TCP.

    2.4.1.3 Camada de Inter-rede

    A segunda camada do modelo TCP/IP a camada de inter-rede. Essa

    camada responsvel pelo endereamento, roteamento de rede e fragmentao do

    pacote. Vrios protocolos operam na camada de inter-rede, mas os mais comuns so:

    2.4.1.4 Internet Control Message Protocol (ICMP)

    Utilizado freqentemente com o utilitrio Packet Internet Groper (PING)

    que na maioria das vezes til para solucionar problemas de conectividade. Uma

    utilizao mais avanada do ICMP a solicitao do roteador. Os clientes podem

    utilizar o protocolo de descoberta de roteador do ICMP para localizar roteadores em

    uma rede.

    2.4.1.5 AddressResolution Protocol (ARP)

    utilizado para determinar endereos IP em endereos MAC, ou seja,

    determinando o endereo fsico da estao. Uma vez que o endereo de MAC conhecido, o pacote pode ser enviado para o cliente diretamente ao cliente receptor se

    os clientes estiverem no mesmo segmento. Se os clientes estiverem em segmentosdiferentes, o pacote enviado ao roteador.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    21/59

    9

    2.4.1.6 Internet Group Management Protocol (IGMP)

    utilizado para identificar membros em um grupo que receberam

    pacotes de dados multicast. O IGMP tem vrias utilizaes em uma rede, mas algunsdos mais comuns incluem: videoconferncia, bate-papo na internet e atualizaes

    dinmicas de roteador.

    2.4.1.7 Internet Protocol (IP)

    Conforme SCRIMGER, LASALLE, PARIHAR, GUPTA (2002, p.26), um

    protocolo sem conexo que fornece seleo de endereamento e rota. As informaes

    do cabealho adicionadas ao pacote de dados contm os endereos os endereos de

    origem e destino e a seleo das rotas feita com base nesses endereos.

    O IP o protocolo responsvel por fazer a troca de pacotes de um modo

    mais simples. Atua na camada de inter-rede provendo as funes necessrias de

    roteamento dos dados entre as vrias redes interconectadas. O cabealho do

    protocolo IP pode ser observado na Figura 1:

    Figura 01. Datagrama IP

    A seguir, a descrio de cada um dos campos do datagrama IP:

    version indica a verso do protocolo em uso, atualmente a verso 4;

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    22/59

    10

    IHL Internet Header Lenght: informa o comprimento do cabecalho IP em

    unidades de 32bits;

    type of service tipo de servio: indica a qualidade de servio requerida pelo

    datagrama;

    total length comprimento total: informa o comprimento total do datagrama em

    bytes, incluindo o cabealho do IP;

    identifier identificador: nmero nico com propsito de orientar a

    recomposio dos datagramas fragmentados;

    flags indica os atributos relativos fragmentao dos datagramas;

    fragment offset indica o deslocamento de blocos no datagrama;

    time to live tempo de vida: indica o tempo em segundos no qual um

    datagrama permanece vlido antes de ser descartado;

    protocol protocolo: indica o protocolo da camada superior para o qual os

    dados contidos no datagrama devem ser passados;

    header checksum checagem de cabealho: indica a integridade do cabecalho

    IP em nvel de bit;

    source address endereo de origem: indica o endereo de origem do host;

    destination address endereo de destino: indica o endereo de destino do

    host;

    options opes: indica configuraes relacionadas a opes de controle;

    data dados: indica o dados a serem trafegados.

    2.4.1.8 Camada de Interface de Rede

    A primeira camada do modelo TCP/IP responsvel pelo acesso rede.

    A camada da interface de rede se comunica diretamente com a rede. Ela a ligao

    entre a topologia de rede e a camada de inter-rede.

    2.4.2 Endereamento IP

    O endereo IP um nmero composto de 32 bits. Estes bits estodivididos em 4 conjuntos de 8 bits cada. A cada host atribudo um endereo IP nico.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    23/59

    11

    Uma primeira parte desses bits usada para identificar a rede qual o host est

    conectado e a parte restante usada para identificar o hostna rede.

    Os endereos IPs foram divididos em cinco classes. A Tabela 01 traz

    essa diviso:

    Tabela 01 Diviso do IP em classesEndereo de Rede Classe RFC

    0 A 191810 B 3330

    110 C 33301110 Multicast 31711111 Reservado 1700

    Existem trs faixas de endereos reservados para as redes privadas.

    Seguem abaixo os endereos que tambm so conhecidos como IPs no vlidos:

    Classe A: de 10.0.0.0 a 10.255.255.255;

    Classe B: de 172.16.0.0 a 172.31.0.0;

    Classe C: de 192.168.0.0 a 192.168.255.255;

    2.4.3 Sub-redes

    As sub-redes so redes sem classe e podem ser criadas baseadas na

    informao do endereo de broadcast diferentes. Estes endereos so delimitados

    pelas mscaras de difuso de rede ou mscaras de rede. A mscara de rede define

    quantos bits so utilizados para o endereo de rede e quantos bits so utilizados para

    especificar o endereo de hostsdentro dessa sub-rede.

    2.5 Tipos de Ataques

    Embora existam diversos tipos de ataques com caractersticas

    conhecidas, o tipo de ataque mais difcil de conter o DoS (Denied of Service) ou

    DDoS (Distributed Denied of Service), comumente conhecido como negao de

    servio. Sua maior eficincia encontra-se na inundao excessiva de informaes ou

    pacotes direcionados a uma porta de servio Internet que esteja aberta para o mundo,

    como o servio http ou https. Mesmo com um ambiente protegido por Firewall, o

    atacante pode direcionar o trfego para a porta 80 ou 443, podendo comprometendo a

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    24/59

    12

    banda disponvel e, principalmente, os recursos de hardware do Firewalle do servidor

    WEB.

    Os ataques aos sistemas podem ser executados explorando deficincias

    na concepo, implementao, configurao ou gerenciamento dos servios e

    sistemas. A seguir ser demonstrado o funcionamento de um ataque conhecido como

    SYN FLOODING:

    2.5.1 SYN-FLOODING

    Figura 02. Conexo TCP 3-WAY-HANDSHAKE

    Segundo SANTOS(2006) uma sesso TCP definida pela sua mquina

    de estado conforme a Figura 02. Considere um servidor no estado LISTEN em uma

    determinada porta TCP. Quando um cliente faz uma requisio com um SYN o

    servidor aps confirmar se a flag realmente SYN, passa para o estado SYN-RCVD e

    envia um outro segmento com um ACK+SYN de confirmao, e espera determinado

    tempo para receber um outro segmento de ACK do cliente.

    Caso um servidor no receba o ltimo ACK do cliente, ele permanecerno estado SYN-RCVD por algum tempo, enchendo assim a tabela TCB e preenchendo

    os recursos do servidor. Quando o segmento ACK do cliente no chega, esta conexo

    ento, chamada de half-connection. Milhares de half-connectioncaracterizam ento o

    SYN flooding.

    Existem diversas formas de proteger de um ataque Syn-Flood, sendo

    que uma tcnica denominada Syn-cookies extensamente recomendada por diversos

    especialistas. Para habilitar a proteo atravs do Syn-cookiesno linux necessrio

    editar o arquivo /proc/sys/net/ipv4/tcp_syncookiese inserir o nmero 1.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    25/59

    13

    2.6 Tipos de Proteo

    Uma organizao pode se proteger utilizando diferentes tcnicas e

    mecanismos. O primeiro passo a definio de uma poltica de segurana, base paratodas as questes relacionadas proteo da informao. Outro mecanismo

    importante a definio de um plano de contingncia, prevendo atividades que

    devero ser realizadas em momentos crticos, como por exemplo, quando um ataque

    for detectado. Uma tcnica muito utilizada para garantir a proteo das informaes a

    criptografia, que torna os dados e mensagens no interpretveis enquanto esto sendo

    enviados. A criao de um controle de acesso, garantindo que o acesso a um recurso

    ser limitado somente para usurios autorizados tambm de fundamentalimportncia para a proteo das informaes da organizao. H ainda outro

    mecanismo de proteo muito utilizado pelas organizaes, que ser o foco deste

    trabalho e ser tratado mais adiante: o Firewall.

    2.7 Firewall: Classificao

    Firewall um ponto entre duas ou mais redes, que pode ser um

    componente ou um conjunto de componentes, por onde passa todo o trfego,

    permitindo que o controle, a autenticao e os registros de todo o trfego sejam

    realizados. Um Firewallpode ser formado por um conjunto de software, hardware e

    poltica de segurana. Eledetm autonomia concedida pelo prprio sistema para pr-

    determinar e disciplinar todo o tipo de trfego existente entre o mesmo e outros

    host/redes.

    Em meados de 80, sob encomenda da AT&T, o primeiro Firewall do

    mundo foi desenvolvido com o intuito de filtrar todos os pacotes que sassem e

    entrassem na rede corporativa, de modo a manipul-los de acordo com as

    especificaes das regras previamente definidas. Mesmo diante da evoluo dos

    meios tecnolgicos, hoje um Firewall continua a possuir e empregar os mesmos

    conceitos, apenas com alguns aprimoramentos e implementaes de novas

    funcionalidades.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    26/59

    14

    2.7.1 Tipos de Firewall

    Os Firewallspodem ser classificados da seguinte forma:

    Firewallde filtro de pacotes: o tipo mais simples em sua arquitetura. Baseia-seapenas em campos bsicos do cabealho dos protocolos. um tipo rpido,

    adequado para grandes volumes de dados. No faz uma filtragem muito

    eficiente, pois no armazena uma tabela de estados.

    Firewall de inspeo com estado: baseia-se em regras um pouco mais

    complexas que o Firewallde filtro de pacotes, pois pode tratar todo e qualquer

    campo do cabealho dos protocolos. Mantm uma tabela de estados podendo

    controlar pacotes nos dois sentidos. mais complexo e, portanto, mais lento. Firewallde aplicao: no permite que nenhum pacote passe diretamente entre

    as redes a ele conectadas. Todos os pacotes so enviados a um processo de

    proxy que determina quando se deve ou no estabelecer a conexo, e fica, por

    todo o tempo, intermediando a comunicao. Devido s limitaes de

    flexibilidade e de performance, raramente utilizado sem a composio com os

    outros tipos de Firewall. mais lento que os tipos descritos anteriormente.

    Firewall pessoal: controla e registra as portas ou aplicativos habilitados aentrarem ou sarem de um sistema local. muito simples e sempre em forma

    de um software a ser instalado no sistema operacional.

    2.8 O FirewallIPTABLES

    Segundo NETO (2004), o FirewallIPTABLES do linux do tipo inspeo

    com estado. No Linux, as funes de Firewallso agregadas prpria arquitetura do

    Kernel, que o ncleo do sistema operacional. Enquanto a maioria dos produtos

    Firewall pode ser definida como um subsistema, o Linux possui a capacidade de

    transformar o Firewall no prprio. O mdulo do Kernel no Linux responsvel por

    realizar a funo de um Firewall chamado IPTABLES.

    O IPTABLES comeou a ser desenvolvido em meados de 1999 e faz

    parte do kernel 2.4 do Linux. Ele funciona com base no endereo/porta de

    origem/destino do pacote, prioridade, e outras informaes contidas no cabealho IP.

    O Firewall IPTABLES um sistema que tenta resolver os problemas

    ocasionados pela complexidade da criao e implementao das regras de filtragem.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    27/59

    15

    Em sistemas que utilizam o IPTABLES, o kernel inicializado com trs listas de regras-

    padro, que so tambm chamadas de chainsou cadeias. Estas so:

    INPUT: define os pacotes de entrada na rede;

    OUTPUT: define os pacotes de sada da rede;

    FORWARD: define os pacotes a serem encaminhados.

    O IPTABLES possui tabelas que armazenam as cadeias. So elas:

    tabela filter: filtragem padro contendo as trs chains (Input, Output e

    Forward);

    tabela nat: usada para traduo de endereos possuindo outras chains

    como Prerouting, Output e Postrouting;

    tabela mangle: usada para alteraes especiais como, por exemplo,

    modificar algum tipo de servio.

    2.8.1 O funcionamento de um FirewallIPTABLES

    Segundo NAKAMURA e GEUS (2003), cada cadeia (INPUT, OUTPUT e

    FORWARD) possui seu prprio conjunto de regras de filtragem. Quando o pacote

    atinge uma das cadeias examinado pelas regras dessa cadeia. Se a cadeia tiver uma

    regra que define que o pacote deve ser descartado, ele ser descartado nesse ponto.

    Caso a cadeia tenha uma regra que aceite o pacote, ele continua percorrendo o

    caminho at chegar prxima cadeia ou ao destino final. A figura 03, a seguir, ilustra o

    funcionamento da tabela filterdo IPTABLES:

    Figura 03. Tabela filter do IPTABLES

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    28/59

    16

    O modo de funcionamento do IPTABLES pode ser ento resumido da

    seguinte maneira:

    Quando um pacote recebido pela placa de rede, o kernelprimeiramente

    verifica qual o seu destino;

    Se o destino for o prprio equipamento, o pacote passado para a cadeira

    INPUT. Se ele passar pelas regras dessa cadeia, ele ser repassado para o

    processo de destino local, que est esperando pelo pacote.

    Se o kernel no tiver o forwarding habilitado ou se no souber como

    encaminhar esse pacote, este ser descartado. Se o forwarding estiver

    habilitado para outra interface de rede, o pacote ir para a cadeira

    FORWARD. Se o pacote passar pelas regras dessa cadeia, ele ser aceito e

    repassado adiante. Normalmente, essa a cadeia utilizada quando o Linux

    funciona como um Firewall.

    Um programa sendo executado no equipamento pode enviar pacotes rede,

    que so enviados cadeia OUTPUT. Se esses pacotes forem aceitos pelas

    regras existentes nessa cadeia, sero enviados por meio da interface.

    2.8.2 Principais comandos do IPTABLES

    Existem alguns comandos que so empregados para a sua construo

    das regras de um firewalIPTABLES. As regras so formadas de polticas, comandos e

    parmetros.

    Polticas IPTABLES:

    accept: aceita o pacote recebido;

    drop: nega pacote e no o retorna de volta;

    reject: nega o pacote e retorna um aviso de erro ao emissor;

    Comandos utilizados pelo IPTABLES:

    -A : adiciona ou atualiza uma regra no fim;

    -I : apenas adiciona uma nova regra no incio;

    -D : exclui uma regra especfica;

    -P : define a regra padro;

    -L : lista todas as regras armazenadas;

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    29/59

    17

    -F : exclui todas as regras armazenadas;

    -R : substitui uma regra armazenada;

    -C : efetua uma checagem das regras bsicas;

    -N : cria uma regra com nome especfico;

    -X : exclui uma regra com nome especfico.

    Parmetros padres:

    -p : define qual o protocolo deve ser tratado (TCP, UDP e ICMP);

    -s ou -d : define o endereo de origem ou de destino em que a regra ir atuar;

    i : define a interface de rede por onde os pacotes so recebidos e enviados;

    -j : define a direo de uma ao baseada em regras similares.

    Exemplo de regra:

    # aceita conexo SSH (22/tcp) a partir do IP do Administrador remoto.

    $IPTABLES -A INPUT -p tcp -s 192.168.1.6 --dport 22 -j ACCEPT

    2.8.3 A configurao de um FirewallIPTABLES

    A complexidade das regras de filtragem cresce cada vez mais na medida

    em que servios e aplicaes so adicionados no ambiente corporativo. Dessa forma,

    o gerenciamento se torna um fator importante para que erros na criao e

    implementao de regras sejam minimizados. Alm do fator complexidade, existe

    ainda o fator desempenho, que tambm prejudicado quando h um grande nmero

    de regras.

    A configurao de um Firewall IPTABLES realizada por uma srie de

    comandos (regras) que so interpretados pelo Kernel do sistema operacional. Tais

    comandos podem ser executados via scripts (arquivos-texto) ou serem inseridos

    diretamente no shell (ncleo do sistema).

    O grande problema que a interface utilizada pela maioria dos

    administradores torna difcil a compreenso das regras e exige treinamento rigoroso

    dos usurios para interagir com ela. A insero e manuteno das regras de filtragem

    em linhas de comando dificultam o trabalho do administrador da rede, ocasionando

    falhas que podem aumentar a vulnerabilidade do sistema e ameaar a segurana da

    rede e da organizao.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    30/59

    18

    Neste trabalho, espera-se resolver o problema descrito, desenvolvendo

    uma ferramenta com interface grfica que permita ao administrador da rede manipular

    as regras de maneira amigvel. A utilizao de uma interface grfica para criao e

    gerenciamento das regras permitir uma melhor interao entre o administrador e a

    ferramenta de segurana IPTABLES, facilitando a gerncia do Firewall eminimizando

    os riscos de falhas de segurana.

    3 ESPECIFICAO DO SISTEMA

    Este captulo apresenta a especificao do sistema a ser construdo

    para resolver os problemas descritos anteriormente, relacionados configurao do

    FirewallIPTABLES.

    3.1 Viso Geral do Sistema

    O FWC Firewall Constructor tem como objetivo facilitar a

    configurao dos Firewalls IPTABLES do sistema operacional Linux. O sistema

    permitir que seus usurios gerenciem vrios servidores, cadastrando ouescolhendo as regras para configurao do Firewall em um ambiente grfico e

    amigvel.

    3.2 Descrio dos Usurios

    O FWC tem como foco os usurios que atuam como administradores

    de redes em empresas que se preocupam com a segurana das informaes que

    trafegam na rede. Para utiliz-lo necessrio que o usurio tenha conhecimento em

    redes de computadores, protocolos de comunicao, administrao de servidores

    Linux e conceitos de segurana da informao.

    3.3 Definio de Escopo

    As sees a seguir definem o escopo do FWC, descrevendo seus requisitos

    funcionais, no funcionais e os no requisitos, deixando bem claro o que no farparte do escopo desta primeira verso do programa.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    31/59

    19

    3.3.1 Requisitos Funcionais

    [RF001]. O sistema deve permitir cadastro e manuteno de usurios.

    [RF002]. O sistema deve possuir um controle de acesso, exigindo logine senhados usurios.

    [RF003]. O sistema deve permitir cadastro e manuteno de interfaces e portas

    correspondentes.

    [RF004]. O sistema deve possibilitar o gerenciamento de configurao sistema.

    [RF005]. O sistema deve permitir o cadastro e manuteno de regras

    IPTABLES.

    [RF006]. O sistema deve permitir que as regras criadas sejam exportadas emarquivos texto para serem aplicadas no servidor Linux correspondente.

    [RF007]. O sistema deve permitir que as regras sejam aplicadas on-lineatravs

    de uma conexo SSH com o servidor.

    3.3.2 Modelo de Casos de UsoOs diagramas a seguir retratam as funcionalidades do sistema FWC, que

    foram organizadas em quatro pacotes: gerenciamento de usurios, gerenciamento

    de configurao, gerenciamento de interface e gerenciamento de regras.

    Pacote 01: Gerenciamento de Usurios

    Figura 04. Diagrama de caso de uso Usurios.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    32/59

    20

    Caso de Uso 01: Criar Usurios

    Objetivo: Criar um novo usurio de acesso ao sistema

    Ator: Administrador

    Prioridade: Essencial

    Interface associada:

    Figura 05. Interface de Gerenciamento de Usurios.

    Pr-condies: Usurio com perfil de administrador.

    Resultados: Usurio cadastrado no sistema.

    Fluxo de eventos Principal:

    Criar Usurios

    1) Administrador solicita criao de novo Usurio

    2) Administrador preenche informaes solicitadas

    3) Administrador solicita gravao dos dados

    4) Sistema valida dados

    5) Sistema grava informaes

    Fluxos Secundrios:

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    33/59

    21

    Usurio existente

    4.1) Sistema exibe mensagem de erro Usurio j cadastrado

    4.2) Voltar para o passo 2 do fluxo principal

    Caso de Uso 02: Efetuar login

    Objetivo: Logar no sistema

    Ator: Usurio

    Prioridade: Essencial

    Interface associada:

    Figura 06. Interface de Login de Usurios.

    Pr-condies: Usurio cadastrado.

    Resultados: Usurio Logado no sistema.

    Fluxo de eventos Principal:

    Efetuar Login

    1) Usurio solicita entrada no sistema2) Usurio preenche informaes solicitadas

    3) Sistema valida dados

    4) Sistema permite entrada no sistema

    Fluxos Secundrios:

    Usurio existente

    3.1) Sistema exibe mensagem de erro Credenciais invlidas3.2) Voltar para o passo 2 do fluxo principal

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    34/59

    22

    Senha incorreta

    3.3) Sistema exibe mensagem de erro Credenciais invlidas

    3.4) Voltar para o passo 2 do fluxo principal

    Pacote 02: Gerenciamento de interfaces

    Figura 07. Diagrama de caso de uso de Interfaces.

    Caso de Uso 03: Criar Interfaces

    Objetivo: Cadastrar informaes das interfaces.

    Ator: Administrador

    Prioridade: Essencial

    Interface associada:

    Figura 08. Interface de Gerenciamento de Interfaces.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    35/59

    23

    Pr-condies: Usurio cadastrado, Configurao do sistema cadastrada.

    Resultados: Interface cadastrada e associada a uma configurao de um usurio.

    Fluxo de eventos Principal:

    Criar Interface

    1) Administrador solicita criao de nova Interface

    2) Administrador preenche informaes solicitadas

    3) Administrador solicita gravao dos dados

    4) Sistema valida dados

    5) Sistema grava informaes

    Fluxos Secundrios:Servidor existente

    5.1) Sistema exibe mensagem de erro Interface j cadastrada

    5.2) Voltar para o passo 3 do fluxo principal

    Alias existente

    5.3) Sistema exibe mensagem de erro Alias j cadastrada

    5.4) Voltar para o passo 3 do fluxo principal

    Pacote 03: Gerenciamento de Configuraes

    Figura 09. Diagrama de caso de uso de Configurao.

    Caso de Uso 04: Criar Configurao

    Objetivo: Criar uma configurao do sistema.

    Ator: Administrador

    Prioridade: Essencial

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    36/59

    24

    Interface associada:

    Figura 10. Interface de Gerenciamento de Configuraes.

    Pr-condies: Usurio cadastrado.

    Resultados: Configurao do sistema cadastrada.

    Fluxo de eventos Principal:

    Criar Configurao

    1) Administrador solicita criao de nova Configurao

    2) Administrador preenche informaes solicitadas

    3) Administrador solicita gravao dos dados

    4) Sistema valida dados

    5) Sistema grava informaes

    Fluxos Secundrios:

    Configurao existente

    4.1) Sistema exibe mensagem de erro Configurao j cadastrada

    4.2) Voltar para o passo 1 do fluxo principal

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    37/59

    25

    Pacote 04: Gerenciamento de Regras

    Figura 11. Diagrama de caso de uso de Regras.

    Caso de Uso 05: Criar Regras

    Objetivo: Cadastrar regras.

    Ator: Administrador

    Prioridade: EssencialInterface associada:

    Figura 12. Interface de Gerenciamento de Regras.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    38/59

    26

    Pr-condies: Usurio cadastrado, Interfaces configuradas e configurao

    selecionada.

    Resultados: Regra cadastrada em uma configurao.

    Fluxo de eventos Principal:

    Criar Regras

    1) Administrador seleciona uma configurao

    2) Administrador seleciona uma chain

    3) Administrador solicita criao de nova regra

    4) Administrador preenche informaes solicitadas

    5) Administrador solicita gravao dos dados

    6) Sistema valida dados7) Sistema grava informaes

    Fluxos Secundrios:

    Regras Existentes

    6.1) Exibir mensagem: "a regras j existem"

    6.2) Volta para o passo 4 do fluxo principal

    Caso de Uso 06: Exportar RegrasObjetivo: Permitir que o usurio exporte as regras para um arquivo texto.

    Ator: Usurio

    Prioridade: Importante

    Pr-condies: Configurao selecionada

    Resultados: Arquivo de regras

    Fluxo de eventos Principal:

    Exportar regras1) Administrador seleciona uma configurao

    2) Administrador solicita gerao de arquivo

    3) Administrador preenche informaes solicitadas

    4) Sistema valida configurao selecionada

    5) Sistema gera arquivo de regras

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    39/59

    27

    Fluxos Secundrios:

    Configurao no selecionada

    4.1) Exibir mensagem: " necessrio selecionar uma configurao"

    4.2) Volta para o passo 1 do fluxo principal

    Regras inexistentes

    4.3) Exibir mensagem: "Regras invlidas"

    4.4) Volta para o passo 1 do fluxo principal

    Erro ao gerar o arquivo

    4.5) Exibir mensagem: "Erro ao gerar o arquivo"

    4.6) Volta para o passo 3 do fluxo principal

    Caso de Uso 07: Aplicar Configurao On-line

    Objetivo: Permite que o usurio aplique as configuraes on-line em um servidor.

    Ator: Usurio

    Prioridade: Desejvel

    Pr-condies: Configurao selecionada, arquivo de regras gerado.

    Resultados: Configurao aplicada no servidor

    Fluxo de eventos Principal:Aplicar configurao

    1) Executar caso de uso Exportar Regras

    2) Administrador preenche informaes solicitadas

    3) Sistema valida informaes

    4) Sistema aplica regras no servidor

    Fluxos Secundrios:Informaes incorretas

    3.1) Exibir mensagem: "informaes incorretas

    3.2) Volta para o passo 2 do fluxo principal

    Servidor no responde

    3.3) Exibir mensagem: "Servidor no responde"

    3.4) Volta para o passo 2 do fluxo principal

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    40/59

    28

    3.3.3 Requisitos No Funcionais

    Usabilidade:

    [NF001]. O sistema deve apresentar uma interface grfica amigvel ao usurio.Segurana:

    [NF002]. O sistema deve permitir o acesso apenas de usurios cadastrados.

    [NF003]. O sistema dever possuir uma conexo SSH com o servidor que est

    sendo configurado.

    Hardware e Software:

    [NF004]. O sistema deve utilizar o banco de dados MySQL verso 5.0.

    [NF005]. O sistema deve ser construdo na tecnologia Delphi.[NF006]. O sistema deve ser construdo para funcionar no sistema operacional

    Windows 98 ou superior.

    [NF007]. O sistema deve funcionar para ambientes com hardware superior a

    Pentium III, 500MHz e memria de 256MB.

    3.3.4 No Requisitos[NR001]. O sistema no permitir o gerenciamento de Firewallscom verses de

    IPTABLES inferiores a 2.4 ou outros tipos de Firewalls.

    [NR002]. O sistema no ser construdo para funcionar no sistema operacional

    Linux.

    3.4 Modelagem de Dados

    A Figura 13 retrata o relacionamento das entidades da base de dados doFWC. Os scripts de criao da base de dados do FWC esto no Anexo B.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    41/59

    29

    Figura 13. Diagrama de Entidade-Relacionamento.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    42/59

    30

    4 Fluxo de Utilizao da Ferramenta

    Para utilizar o FWC necessrio seguir alguns passos, que podem ser

    vistos na Figura 14.

    Figura 14. Modelo de navegabilidade

    Antes da utilizao da ferramenta pelos usurios, necessrio que o

    administrador cadastre e configure algumas informaes no sistema (usurios,

    protocolos, portas e hosts). Para cadastro de usurios, o administrador deve informar:

    Login, Senha, Nome Completo e IP Remoto. As opes de alterar e excluir usurios

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    43/59

    31

    esto disponveis na mesma tela do aplicativo. Entretanto, no permitida a excluso

    de um usurio que tenha alguma configurao associada.

    Aps os cadastros bsicos realizados pelo administrador, pode-se iniciar

    o fluxo de atividades do usurio FWC. O objetivo principal a criao de configurao

    e a aplicao de regras. As atividades iniciam com o loginno aplicativo. Em seguida,

    necessrio criar uma configurao para o usurio. Nesta configurao, deve ser

    informado se a configurao suporta NAT (Network Adress Translation).

    O passo seguinte a configurao da interface de rede. Para tal, o

    usurio deve informar:

    Nome da interface de rede;

    Alias (INT - interna, EXT - Externa, DMZ Zona Desmilitarizada ou VPN Rede Privada);

    Endereo IP;

    Rede;

    e Broadcastda rede.

    Em seguida, o usurio dever selecionar a configurao criada e iniciar a

    elaborao das regras. Para cadastro de regras, esto disponveis:

    a. Escolha do tipo de chain(INPUT, OUTPUT, FOWARD da tabela Filter,e NAT, da tabela NAT);

    b. Escolha do protocolo;

    c. Escolha do Hoste porta de origem;

    d. Escolha do Hoste porta destino;

    e. Escolha da ao;

    f. Escolha da interface.

    O usurio pode criar quantas regras forem necessrias. Ao final, paraque as regras sejam aplicadas, aps selecionar a configurao correspondente, pode

    solicitar a exportao das regras para arquivo ou a aplicao diretamente no servidor.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    44/59

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    45/59

    33

    Todos os usurios tm acesso livre internet.

    4.1.2 Passos para criao das regras.

    A seguir sero demonstrados os passos para criao das regras atravsda ferramenta FWC:

    4.1.3 Logindo administrador

    A Figura 16 demonstra a tela de logindo FWC. Ser feito o logincom um

    usurio administrador para criao de outra conta de usurio sem perfil de

    administrador.

    Figura 16. Logindo FWC - Estudo de Caso.

    4.1.4 Criao de usurio

    A Figura 17 demonstra a criao do um novo usurio, que posteriormente

    ser utilizado para o gerenciamento de regras. O administrador ir cadastrar os dados

    do novo usurio que sero solicitados.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    46/59

    34

    Figura 17. Gerenciamento de Usurios - Estudo de Caso.

    4.1.5 Logindo novo usurio

    A Figura 18 exibe a tela de login, que ser utilizado pelo usurio criado

    anteriormente para a criao das regras.

    Figura 18. Logindo FWC - Estudo de Caso.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    47/59

    35

    4.1.6 Criao de Configurao

    A Figura 19 demonstra a criao uma configurao para o novo usurio.

    Essas configuraes so referentes ao servidor de Firewall.

    Figura 19. Gerenciamento de Configuraes - Estudo de Caso.

    4.1.7 Criao de Interfaces

    As figuras 19 e 20 demonstram a criao de interfaces de rede do

    servidor Firewall vinculadas configurao Firewall. Essas interfaces seroconfiguradas de acordo com a topologia exemplificada anteriormente.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    48/59

    36

    Figura 19. Gerenciamento de Interfaces - Rede Interna.

    Figura 20. Gerenciamento de Interfaces Rede Externa.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    49/59

    37

    4.1.8 Criao de regras

    As figuras a seguir demonstram a criao de regras de Firewall:

    4.1.8.1 Regras de INPUT

    As regras a seguir so utilizadas para permitir conexes destinadas as

    interfaces lo loopback, eth0 rede interna, e tambm permitindo conexes

    destinadas a interface eth1- rede externa somente conexes para a porta 80.

    Figura 21. Gerenciamento de Regras de INPUT.

    4.1.8.2 Regras de OUTPUT

    As regras a seguir exibidas atravs da Figura 22 so utilizadas para permitir

    a sada de pacotes oriundas do prprio Firewalle que sairo atravs das interfaces

    de rede eth0 e eth1.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    50/59

    38

    Figura 22. Gerenciamento de Regras de OUTPUT.

    4.1.8.3 Regras de FORWARD

    As regras exibidas na Figura 23 a seguir so utilizadas para permitir oredirecionamento de conexes oriundas da rede interna.

    Figura 23. Gerenciamento de Regras de FORWARD.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    51/59

    39

    4.1.8.4 Regras de NAT

    As regras exibidas na Figura 24 a seguir so utilizadas para permitir as

    conexes com destino rede local e para fazer o mascaramento na sada dos

    dados.

    Figura 24. Gerenciamento de Regras de NAT.

    4.1.9 Exportar Regras

    A Figura 25 a seguir mostra que as configuraes sero exportadas e

    logo sero aplicadas no servidor. Os scripts gerados esto no ANEXO A.

    Figura 25. Exportar Regras.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    52/59

    40

    4.1.10 Aplicar Configurao On-Line:

    A Figura 26 a seguir mostra como realizada a conexo com o

    servidor de Firewall, onde sero informados os dados referentes a conexo.

    Tambm possibilita a escolha da regra ao qual ser enviada por meio da conexo

    SSH e utilizao do shell do Firewall.

    Figura 26. Aplicar Configuraes On-Line.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    53/59

    41

    5 CONCLUSO

    No ambiente Linux, o FirewallIPTABLES hoje um dos principais meios

    de se garantir a segurana dos dados trafegados em uma rede de computadores. O

    IPTABLES funciona selecionando ou filtrando os pacotes de dados de acordo com

    regras e configuraes previamente estabelecidas e aplicadas.

    A criao e configurao das regras de um Firewall IPTABLES uma

    tarefa trabalhosa, realizada, em sua maioria, em ambiente texto, com linhas de

    comando, exigindo uma ateno adicional dos administradores de rede. O objetivo

    deste trabalho foi apresentar uma alternativa para facilitar esta tarefa de criao e

    configurao de regras, atravs de uma ferramenta com interface grfica amigvel

    para os administradores de redes.

    Como foi demonstrado no captulo 4 deste trabalho, todo o processo de

    criao e configurao das regras de um Firewall IPTABLES de uma rede de uma

    empresa de mdio porte pode ser realizado atravs da interface grfica do FWC. Com

    a ferramenta proposta, o administrador pode utilizar os recursos da interface (clicar e

    selecionar) para criar configuraes, interfaces e regras de maneira mais gil e segura

    do que o permitido em ambiente com linhas de comando. Alm disso, a funcionalidade

    de exportar as regras criadas para um arquivo texto substitui a necessidade de criaoe manuteno de scripts para aplicao das regras, j que estas ficam armazenadas

    no banco de dados e, sempre que necessrio, podero ser editadas e exportadas

    novamente.

    At o momento, o FWC suporta apenas a criao de regras para

    IPTABLES, em ambientes com no mximo 4 (quatro) redes. Como trabalho futuro,

    pretende-se expandir o FWC para que atenda a outros tipos de Firewalle seja capaz

    de configurar ambientes com um nmero maior de rede, facilitando ainda mais otrabalho de configurao de regras e contribuindo para o aumento no nvel de

    segurana das redes corporativas.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    54/59

    42

    6 REFERNCIAS BIBLIOGRFICAS

    SILVA, A. M.; PINHEIRO, M.S.F.; FREITAS, N.E.F. Guia para Normalizao de

    Trabalhos Tcnico-Cientficos: projetos de pesquisa, monografias, dissertaes eteses. 5. ed. Uberlndia:EDUFU, 2004.

    NAKAMURA, E. T. ;GEUS, P. C. Segurana de Redes em Ambientes

    Cooperativos. 2. ed. So Paulo: Futura, 2003.

    NETO, U.; Dominando Linux Firewall IPTABLES. Rio de Janeiro: Cincia

    Moderna, 2004.

    Burnett, S.; Paine, S. Criptografia e Segurana: O Guia Oficial RSA. Rio de

    Janeiro:Elsevier, 2002. SCRIMGER, R.; LASALLE, P.; PARIHAR, M.; GUPTA, M.; TCP/IP a Bblia. Rio de

    Janeiro: Campus, 2002.

    ZWICKY, ELIZABETH D.; Construindo Firewalls para a Internet. 2 ed. Rio de

    Janeiro, Editora Campus,2001.

    MOTA, J. E.; Firewall com IPTABLES: Disponvel em:

    . Acesso em: 20 set. 2006.

    SiLVA, G. M.; Firewall IPTABLES: Disponvel em:. Acesso em: 10

    out. 2006.

    SANTOS, A.; Tpicos avanados em TCP: Disponvel em: . Acesso em: 10 out. 2006.

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    55/59

    43

    7 ANEXOS

    7.1 ANEXOA

    Segue abaixo o script de exemplo para criao de regras IPTABLES no Linux.

    ####### CONFIGURACAO FIREWALL #########

    #Criado por: usuario

    ####### ATIVACAO DE MODULOS ########

    echo "1" > /proc/sys/net/ipv4/ip_forward

    echo "1" > /proc/sys/net/ipv4/tcp_syncookies

    ####### CONFIG ########

    #Nome do Servidor=Firewall#Descricao do Servidor= Servidor Firewall

    #kernel=2.6

    #path=/sbin/iptables

    #confdir=/usr/local/fwc

    #proxytransp=

    ####### Limpando Regras ########

    iptables -F

    iptables -X

    iptables -t nat -F

    iptables -t nat -X

    ####### DEFINICAO DE POLICIAMENTO #########Tabela filter

    iptables -t filter -P INPUT DROP

    iptables -t filter -P OUTPUT DROP

    iptables -t filter -P FORWARD DROP

    #Tabela nat

    iptables -t nat -P PREROUTING DROP

    iptables -t nat -P OUTPUT DROP

    iptables -t nat -P POSTROUTING DROP

    ####### INTERFACE eth0 #########

    INT_IFACE=eth0

    INT_IP=192.168.1.1

    INT_NET=192.168.1.0/24

    INT_BRO=192.168.1.255

    ####### INTERFACE eth1 #########

    EXT_IFACE=eth1

    EXT_IP=200.225.xxx.xxx

    EXT_NET=200.225.xxx.xxx/30

    EXT_BRO=200.225.xxx.255

    ####### INTERFACE eth2 #########

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    56/59

    44

    ####### INTERFACE eth3 #########

    ####### REGRAS INPUT #########

    iptables -t FILTER -A INPUT -p tcp -i lo -j ACCEPT # Aceita Trfego vindo

    do loopback

    iptables -t FILTER -A INPUT -p tcp -i eth0 -j ACCEPT # Aceita trfego vindo

    da rede interna

    iptables -t FILTER -A INPUT -p tcp -i eth1 --dport 80 -j ACCEPT # Aceita

    conexo na porta 80

    ####### REGRAS OUTPUT #########

    iptables -t FILTER -A OUTPUT -p tcp -o eth1 -j ACCEPT #

    iptables -t FILTER -A OUTPUT -p tcp -o eth0 -j ACCEPT #

    ####### REGRAS FORWARD #########

    iptables -t FILTER -A FORWARD -p tcp -o eth1 -s 192.168.1.0/24 -j ACCEPT #

    ####### REGRAS nat #########

    iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.1.0/24 -j ACCEPT #

    iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.1.0/24 -j

    MASQUERADE #

    7.2 ANEXOB

    Segue abaixo o script de criao da base de dados da aplicao.

    CREATE DATABASE /*!32312 IF NOT EXISTS*/ fwc;

    USE fwc;

    CREATE TABLE `acoes` (

    `idacoes` int(10) unsigned NOT NULL auto_increment,

    `tipo` varchar(45) NOT NULL,

    PRIMARY KEY (`idacoes`)

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    CREATE TABLE `chains` (

    `idchains` int(10) unsigned NOT NULL auto_increment,`nome` varchar(45) NOT NULL,

    PRIMARY KEY (`idchains`)

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    CREATE TABLE `config` (

    `idconfig` int(10) unsigned NOT NULL auto_increment,

    `nome` varchar(45) NOT NULL,

    `descricao` varchar(45) default NULL,

    `path_iptables` varchar(45) NOT NULL,

    `confdir` varchar(45) default NULL,

    `FKnatidnat` int(10) unsigned NOT NULL,

    `kernel` varchar(20) NOT NULL default '',

    `usarproxy` tinyint(1) NOT NULL default '0',

    `proxytransip` varchar(30) NOT NULL default '',

    PRIMARY KEY (`idconfig`,`nome`),

    KEY `FKnat` (`FKnatidnat`),

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    57/59

    45

    CONSTRAINT `FKnat` FOREIGN KEY (`FKnatidnat`) REFERENCES `nat` (`idnat`)

    ON DELETE NO ACTION ON UPDATE NO ACTION

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    CREATE TABLE `hosts` (

    `idhosts` int(10) unsigned NOT NULL auto_increment,`nome` varchar(45) NOT NULL default '',

    `nomereal` varchar(45) NOT NULL default '',

    `ip` varchar(45) NOT NULL default '',

    `Fkhostsidhosts` int(10) unsigned NOT NULL default '0',

    PRIMARY KEY (`idhosts`),

    KEY `FKhostsidhosts` (`idhosts`,`nome`),

    KEY `FK_hosts` (`Fkhostsidhosts`),

    CONSTRAINT `FK_hosts` FOREIGN KEY (`Fkhostsidhosts`) REFERENCES `config`

    (`idconfig`) ON DELETE CASCADE ON UPDATE NO ACTION

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    CREATE TABLE `interfaces` (

    `idinterfaces` int(10) unsigned NOT NULL auto_increment,`alias` varchar(25) NOT NULL default '',

    `nome` varchar(25) NOT NULL default '',

    `ip` varchar(25) NOT NULL default '',

    `rede` varchar(25) NOT NULL default '',

    `broadcast` varchar(25) NOT NULL default '',

    `FKidconfig` int(10) unsigned NOT NULL,

    PRIMARY KEY (`idinterfaces`,`nome`),

    KEY `FKconfig` (`FKidconfig`),

    CONSTRAINT `FKconfigintefaces` FOREIGN KEY (`FKidconfig`) REFERENCES

    `config` (`idconfig`) ON DELETE CASCADE ON UPDATE NO ACTION

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    CREATE TABLE `nat` (`idnat` int(10) unsigned NOT NULL,

    `tipo` varchar(20) NOT NULL,

    `descricao` varchar(45) default NULL,

    PRIMARY KEY (`idnat`)

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    CREATE TABLE `portas` (

    `idportas` int(10) unsigned NOT NULL auto_increment,

    `nome` varchar(15) NOT NULL default '',

    `numero` int(10) unsigned NOT NULL default '0',

    `descricao` varchar(45) NOT NULL default '',

    `Fkportasidportas` int(10) unsigned NOT NULL default '0',

    PRIMARY KEY (`idportas`),

    KEY `FKportasidportas` (`idportas`,`nome`),

    KEY `FK_portas` (`Fkportasidportas`),

    CONSTRAINT `FK_portas` FOREIGN KEY (`Fkportasidportas`) REFERENCES

    `config` (`idconfig`) ON DELETE CASCADE ON UPDATE NO ACTION

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    CREATE TABLE `protocolo` (

    `idprotocolo` int(10) unsigned NOT NULL auto_increment,

    `nome` varchar(10) default NULL,

    PRIMARY KEY (`idprotocolo`)

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    CREATE TABLE `regras` (

    `idregras` int(10) unsigned NOT NULL auto_increment,

    `portas_orig` varchar(15) default NULL,

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    58/59

    46

    `opcoes_porta_dest` varchar(15) default NULL,

    `opcoes_porta_orig` varchar(15) default NULL,

    `portas_dest` varchar(15) default NULL,

    `opcoes_servidor_orig` varchar(15) default NULL,

    `opcoes_servidor_dest` varchar(15) default NULL,

    `servidor_orig` varchar(30) default NULL,`servidor_dest` varchar(30) default NULL,

    `FKprotocoloidprotocolo` int(10) unsigned NOT NULL,

    `opcoes_protocolo` varchar(15) default NULL,

    `opcoes_chain` varchar(15) default NULL,

    `FKchainsidchains` int(10) unsigned NOT NULL,

    `FKtabelasidTabela` int(10) unsigned NOT NULL,

    `FKacoesidacoes` int(10) unsigned NOT NULL,

    `opcoes_acoes` varchar(15) default NULL,

    `nome_modulo` varchar(45) NOT NULL default '',

    `FKidconfiguracao` int(10) unsigned NOT NULL,

    `opcoes_interface` varchar(15) NOT NULL default '',

    `interface` varchar(45) NOT NULL default '',

    `observacao` varchar(45) NOT NULL default '',`opcoes_host_nat` varchar(45) NOT NULL default '',

    `host_nat` varchar(45) NOT NULL default '',

    `opcoes_porta_nat` varchar(45) NOT NULL default '',

    `porta_nat` varchar(45) NOT NULL default '',

    `precedencia` int(10) unsigned default NULL,

    PRIMARY KEY (`idregras`),

    KEY `FKconfiguracao` (`FKidconfiguracao`),

    KEY `FKprotocolo` (`FKprotocoloidprotocolo`),

    KEY `FKchains` (`FKchainsidchains`),

    KEY `FKtabelas` (`FKtabelasidTabela`),

    KEY `FKacoes` (`FKacoesidacoes`),

    CONSTRAINT `FKacoes` FOREIGN KEY (`FKacoesidacoes`) REFERENCES `acoes`

    (`idacoes`) ON DELETE NO ACTION ON UPDATE NO ACTION,CONSTRAINT `FKchains` FOREIGN KEY (`FKchainsidchains`) REFERENCES

    `chains` (`idchains`) ON DELETE NO ACTION ON UPDATE NO ACTION,

    CONSTRAINT `FKconfiguracao` FOREIGN KEY (`FKidconfiguracao`) REFERENCES

    `config` (`idconfig`) ON DELETE CASCADE ON UPDATE NO ACTION,

    CONSTRAINT `FKprotocolo` FOREIGN KEY (`FKprotocoloidprotocolo`)

    REFERENCES `protocolo` (`idprotocolo`) ON DELETE NO ACTION ON UPDATE NO

    ACTION,

    CONSTRAINT `FKtabelas` FOREIGN KEY (`FKtabelasidTabela`) REFERENCES

    `tabelas` (`idTabela`) ON DELETE NO ACTION ON UPDATE NO ACTION

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    CREATE TABLE `tabelas` (

    `idTabela` int(10) unsigned NOT NULL auto_increment,

    `tipo` varchar(45) default NULL,

    PRIMARY KEY (`idTabela`)

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    /*!40000 ALTER TABLE `tabelas` DISABLE KEYS */;

    INSERT INTO `tabelas` VALUES (1,'FILTER'),

    (2,'nat');

    /*!40000 ALTER TABLE `tabelas` ENABLE KEYS */;

    CREATE TABLE `usuarios` (

    `idusuarios` int(10) unsigned NOT NULL auto_increment,

    `login` varchar(15) NOT NULL,

    `nome` varchar(45) default NULL,

    `senha` varchar(20) NOT NULL,

    `remoteip` varchar(45) default NULL,

    `admin` tinyint(1) NOT NULL default '0',

  • 7/30/2019 Gerenciamento de Regras de Firewall IPTABLES Em Ambiente Linux

    59/59

    47

    PRIMARY KEY (`idusuarios`,`login`)

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

    CREATE TABLE `usuarios_has_config` (

    `FKusuariosidusuarios` int(10) unsigned NOT NULL,

    `FKconfigidconfig` int(10) unsigned NOT NULL,KEY `FKusuarios` (`FKusuariosidusuarios`),

    KEY `FKconfig` (`FKconfigidconfig`),

    CONSTRAINT `FKconfig` FOREIGN KEY (`FKconfigidconfig`) REFERENCES

    `config` (`idconfig`) ON DELETE NO ACTION ON UPDATE NO ACTION,

    CONSTRAINT `FKusuarios` FOREIGN KEY (`FKusuariosidusuarios`) REFERENCES

    `usuarios` (`idusuarios`) ON DELETE NO ACTION ON UPDATE NO ACTION

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;