Upload
william-daher-prado
View
237
Download
0
Embed Size (px)
Citation preview
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;