Este documento descreve o uso de firewall IPTables para segurança em redes de computadores. Inicialmente apresenta conceitos de redes e protocolos de comunicação, seguido de possíveis ameaças como sniffing, DoS e brute force. Em seguida, explica o que é um firewall e o software IPTables, destacando seus comandos e funções como tradução de endereços. Por fim, discute a importância da segurança da informação e como o IPTables pode ser usado para proteger uma rede local.
2. Ribeirão Preto
2016
NOME DO(S) AUTOR(ES) EM ORDEM ALFABÉTICA
SEGURANÇA EM REDES DE COMPUTADORES UTILIZANDO
FIREWALL IPTABLES
Trabalho de Conclusão de Curso apresentado à
Faculdade Anhanguera de Ribeirão Preto, como
requisito parcial para a obtenção do título de
graduado em Ciência da Computação.
RAFAEL MAGRI GEDRA
3. SEGURANÇA EM REDES DE COMPUTADORES
UTILIZANDO FIREWALL IPTABLES
Trabalho de Conclusão de Curso apresentado à
Faculdade Anhanguera de Ribeirão Preto, como
requisito parcial para a obtenção do título de
graduado em Ciência da Computação.
Aprovado em: __/__/____
BANCA EXAMINADORA
Prof. Antônio Marcos Neves Esteca
Prof. Fernando Pereira Silva
Prof(ª). Mariana Massimino Feres
4. Dedico este trabalho primeiramente a Deus que
me permitiu concluir essa graduação, ao meu
filho Murilo, minha esposa Leilane e minha mãe
Mariza pelo incentivo e a todos que de alguma
forma me apoiaram nessa caminhada.
5. RESUMO
Com o crescente uso da web e utilização de novas tecnologias conectadas à rede
mundial de computadores, cresce também as atividades maliciosas (roubo de senhas,
dados bancários, documentos e outros) por pessoas mal-intencionadas, aliadas ao
pouco conhecimento de usuários, exige uma busca contínua de ferramentas e
técnicas de segurança para minimizar essas ações. A Segurança da Informação é o
segmento da Tecnologia da Informação que atua em falhas de segurança, garantindo,
garantindo assim a integridade, confiabilidade e disponibilidade das informações. Este
trabalho foi desenvolvido por meio de uma revisão bibliográfica em livros, artigos e
sites.
Palavras-chave: Firewall; Iptables; Segurança; Informação.
6. ABSTRACT
With the increasing use of the web and use of new technologies connected to the World
Wide Web, also grows malicious activity (stealing passwords, bank details, documents
and other) by malicious people, coupled with the lack of knowledge of users, requires
continuous search tools and safety techniques to minimize these actions. Information
security is the Information Technology segment operates in security breaches,
ensuring, thus ensuring the integrity, reliability and availability of information. This work
was developed through a literature review in books, articles and websites.
Key-words: Firewall; Iptables; Security; Information.
7. LISTA DE ILUSTRAÇÕES
Figura 1 - Firewall......................................................................................................20
8. LISTA DE QUADROS
Quadro 1 - Parametros do iptables ...........................................................................24
Quadro 2 - Opções do iptables..................................................................................24
Quadro 3 - Target do iptables....................................................................................25
9. LISTA DE ABREVIATURAS E SIGLAS
DDoS Distributed Denial of Service
DNS Domain Name System
DoS Denial of Service
IEC International Engineering Consortium
IP Internet Protocol
ISO International Organization for Standarlization
LAN Local Area Network
OSI Open System Interconnection
SSH Secure Shell
TCP Transfer Control Protocol
TCP/IP Transfer Control Protocol / Internet Protocol
UDP User Datagram Protocol
WAN Wide Area Network
10. SUMÁRIO
1 INTRODUÇÃO...................................................................................................13
1.1 MOTIVAÇÃO..................................................................................................14
1.2 OBJETIVOS DO TRABALHO ........................................................................14
1.3 METODOLOGIA.............................................................................................14
2 FUNDAMENTAÇÃO TEÓRICA.........................................................................15
2.1 CONSIDERAÇÕES INICIAIS .........................................................................15
2.2 CONCEITO DE REDES DE COMPUTADORES.............................................15
3 AMEAÇAS .........................................................................................................18
4 FIREWALL.........................................................................................................20
4.1 O QUE É UM FIREWALL? .............................................................................20
4.2 TIPOS DE FIREWALL....................................................................................21
5 IPTABLES .........................................................................................................22
5.1 NETFILTER....................................................................................................22
5.2 TABELAS.......................................................................................................22
5.3 COMANDOS IPTABLES................................................................................23
5.3.1 OBSERVAÇÕES IMPORTANTES..........................................................23
5.3.2 PARÂMETROS DO IPTABLES..............................................................24
5.3.3 OPÇÕES DO IPTABLES ........................................................................24
5.3.4 ALVOS-PADRÃO ...................................................................................25
5.4 TRADUÇÃO DE ENDEREÇOS (NAT) COM IPTABLES................................26
5.4.1 FUNÇÕES DO NAT ................................................................................26
5.5 DESENVOLVENDO UM FIREWALL IPTABLES ...........................................27
6 CONSIDERAÇÕES FINAIS...............................................................................29
REFERÊNCIAS.........................................................................................................30
11. 13
1 INTRODUÇÃO
Hoje em dia podemos dizer que somos dependentes da informação, e devido
à essa necessidade, a Internet está presente em praticamente tudo, portanto diversos
equipamentos saem de fábrica com recurso web integrado, tais como: computadores,
celulares, televisores, dentre outros.
Estas grandes quantidades de dispositivos deixam-nos expostos a uma série
de problemas, por isso, os profissionais de segurança da informação estão em
constante busca de recursos para diminuírem a possibilidade de invasões bem-
sucedidas em suas redes.
Este estudo busca apontar possíveis formas de ataques e apresentar uma
ferramenta open-source (sistema de código aberto que pode ser utilizado para
diversos fins) de firewall (dispositivo que aplica regra de segurança em uma rede), que
quando aplicada de forma correta, obtém-se ótimos resultados na prevenção de
ataques e acessos indevidos à rede.
Vale ressaltar que segurança da informação abrange um campo maior que
apenas uso de senhas, controles de navegação, restrição de acesso às salas de
servidores, mas também treinamento e conscientização dos usuários quanto à sua
responsabilidade para com a empresa em um ato de risco.
Esta pesquisa não busca solucionar nenhum problema de vulnerabilidade, mas
sim apontar possíveis formas de ataques e apresentar a ferramenta e seu
funcionamento para ser utilizado por profissionais nos mais variados cenários.
É importante lembrar que para cada modelo de negócio, é necessário um
estudo específico dos riscos, pois a implementação de uma solução de segurança em
um banco, que é alvo contínuo de tentativas de ataques não será a mesma utilizada
em um supermercado, porém em ambas as situações o firewall iptables poderá ser
implementado pela necessidade.
Sendo assim, a busca pela segurança do ambiente deve ser contínua, pois
pessoas maliciosas procuram constantemente por falhas em sistemas de segurança
e novas técnicas de ataques para obterem sucesso na invasão e tirarem algum
12. 14
proveito, principalmente financeiro.
1.1 MOTIVAÇÃO
O crescente risco de invasão de redes locais por falha de segurança em um
ambiente corporativo. Isso se deve ao aumento de usuários conectados às redes e
com acesso às ferramentas de intrusão sofisticadas, tais como Linux Kali.
1.2 OBJETIVOS DO TRABALHO
Apresentar conceitos de segurança em redes e recursos de software (tais como
firewall iptables) para proteger as informações de uma rede local em um ambiente
corporativo.
1.3 METODOLOGIA
A monografia foi desenvolvida a partir de uma revisão bibliográfica em livros,
artigos e sites sobre o tema escolhido.
13. 15
2 FUNDAMENTAÇÃO TEÓRICA
2.1 CONSIDERAÇÕES INICIAIS
No surgimento das redes de computadores, as mesmas eram utilizadas
principalmente por pesquisadores e universitários para envio de mensagens
eletrônicas e por pequenas empresas para o compartilhamento de impressoras e
outras poucas informações. Hoje o cenário é bastante diferente: milhões de pessoas
estão conectadas o tempo todo à grande rede de computadores, com diversos
objetivos, sendo esses desde entretenimento até operações bancárias e outras de
maior ou igual importância. (TANEMBAUM E WETHERALL, 2011)
De forma geral, a função da segurança é garantir que pessoas não autorizadas
tenham acesso a determinadas informações, tanto para leitura, alteração ou exclusão
das mesmas e também proibir o acesso de intrusos a serviços remotos, a quais não
possuem autorização. (PUPOLIN, 2007)
De acordo com as normas ISO/IEC 27002 de 2007, para garantir a segurança
da informação, deve-se haver a preservação da confidencialidade, integridade e
disponibilidade para que as informações fiquem seguras. Entende-se por
confidencialidade quando a informação será acessada apenas por pessoas
autorizadas; integridade quando a informação fica acessível de forma completa; e
disponibilidade quando as informações são passíveis de acesso quando requerido.
(CARVALHO, 2009).
2.2 CONCEITO DE REDES DE COMPUTADORES
Basicamente, dois ou mais computadores que compartilham informações,
formam uma rede de computadores, porém elas podem ser bastante diversificadas,
podem ter poucos ou milhões de computadores interligados por meio de cabos,
wireless ou Internet. (SCRIMGER, et al)
As redes podem ser divididas em duas categorias, que são as redes locais e
remotas, abaixo listadas: (SCRIMGER, et al)
a) Redes locais: também conhecidas como LAN (Local Area Network), são
14. 16
diferentes segmentos conectados por um roteador, que é responsável por
interligar esses segmentos, porém nesse tipo, o sinal recebido é apenas do
roteador ou dos clientes e não possui conexão à linhas dedicadas.
b) Redes remotas: também conhecidas como WAN (Wide Area Network), são
as conexões à Internet, ou seja, um dispositivo de mídia que não faz parte
da LAN, é conectado para comunicação com a rede remota.
2.3 MODELOS DE REFERÊNCIA E PROTOCOLOS
Existem dois modelos de referência para rede, sendo eles o modelo OSI e o
modelo TCP/IP. O modelo OSI foi criado pela ISO, e foi elaborado em camadas, com
o intuito de simplificar as operações necessárias para que dois ou mais computadores
possam se conectar. (CONCEIÇÃO, 2006).
O outro modelo, o TCP/IP é o mais utilizado devido à sua facilidade em conectar
redes heterogêneas e também por ser uma arquitetura aberta. (CONCEIÇÃO, 2006).
O TCP/IP é a junção de vários protocolos, baseado em uma arquitetura cliente
servidor, possibilitando a comunicação entre diversos sistemas operacionais. Ele foi
divido em quatro camadas, sendo elas:
a) Camada de rede: Responsável por controlar o meio físico para a comunicação
entre os dispositivos conectados na rede.
b) Camada de internet: Responsável por controlar e rotear os dados em redes
diferentes.
c) Camada de transporte: Responsável por gerenciar informações recebidas de
camadas superiores e controlar erros e fluxo.
d) Camada de aplicação: Responsável por fornecer ao usuário a interface entre o
aplicativo e o serviços de rede, e é nela que são armazenados os protocolos
como Telnet, SSH, DNS e outros.
Quanto aos protocolos, foi dado ênfase aos protocolos TCP, ICMP, UDP e IP,
15. 17
que foram os mais usados para o tratamento das regras do iptables:
a) TCP: Responsável por fornecer serviços de camada de transporte para
aplicações. É um protocolo confiável, pois a conexão tem que ser estabelecida
entre ambas as extremidades antes do início do processo de transmissão.
Um pacote TCP, também denominado segmento, é formado por um cabeçalho,
seguido dos dados da aplicação.
b) UDP: Este protocolo também opera na camada de transporte, porém por não
ser um protocolo orientado à conexão, ele não garante a entrega das
informações. Este protocolo é utilizado em aplicações que não exigem uma
confirmação de entrega, como por exemplo, a VPN.
c) ICMP: Protocolo auxiliar ao IP, foi desenvolvido para gerência e monitoramento
de pacotes, sendo que o mesmo retorna mensagens de status quando
solicitado.
d) IP: Protocolo usados entre hosts para a troca de dados. O IP realiza o envio
dos pacotes de forma desordenada, podendo estes chegarem ao seu destino
duplicados, sendo com isso necessário auxílio do protocolo TCP.
De forma geral, pode-se concluir que os protocolos são essenciais para a
comunicação das redes e são por meio deles que também podem ocorrer as mais
variadas formas de ataques, sendo necessário filtrá-los ao trafegar nas redes locais.
16. 18
3 AMEAÇAS
Em termos gerais, segurança da informação podem sofrer diferentes tipos de
ameaças, podendo ser desde física, como roubos de equipamentos, incêndios,
invasão por indivíduo não autorizado, até ataques virtuais, onde o atacante não
precisa necessariamente estar no mesmo ambiente do alvo.
Neste estudo, o item explorado foi o ataque virtual. Alguns itens comuns as
estas práticas estão expostas nos próximos parágrafos.
Quando conectado à Internet, qualquer rede ou computador está sujeito a
ataques, que por sua vez possuem objetivos diversos, bem como alvos e técnicas
utilizadas. (CERT, 2012)
Diversos motivos podem levar à ataques, sendo que os principais são:
demonstração de poder, prestígio, motivações financeiras, ideológicas e/ou
comerciais. (CERT,2012)
Os atacantes podem explorar diversas formas para a efetivação do ataque,
dentre elas, pode-se destacar:
a) E-mail Spoofing: faz uma alteração em campos do cabeçalho de uma
mensagem de e-mail aparentando ter sido enviada de uma determinada
origem, quando na verdade não foi. Esta prática é possível devido ao protocolo
SMTP que permite que campos do cabeçalho sejam alterados.
b) Snnifing: também conhecida como interceptação de tráfego, onde é utilizada
uma ferramenta chamada sniffer que é capaz de interceptar cada pacote e
decodifica-o e analisa seu conteúdo, podendo obter cópias de arquivos e
senhas durante sua transmissão.
c) DoS e DDoS: também conhecida como negação de serviço, não é utilizado
para a coleta de informações, mas sim para inutilizar um serviço da rede,
deixando-o indisponível para os usuários desse recurso. O DoS é utilizado pelo
atacante utilizando um computador enquanto no DDoS são utilizados diversos
computadores conectados à rede.
17. 19
d) Brute force: o ataque por força bruta é uma técnica de tentativa e erro, onde o
atacante utiliza de usuários e senhas comuns para tentar invadir um sistema,
sites, computador e/ou outros dispositivos.
Após essas análises, foi identificado que para estes ataques serem bem-
sucedidos, é necessário a existência de falhas no sistema. Essas falhas podem ser
de origem humana, quando utilizado por pessoas mal treinadas e também brechas no
sistema de segurança, como a ausência de antivírus, filtros de spam e firewall que
são alguns dos itens indispensáveis, sendo que o último foi o alvo do estudo.
18. 20
4 FIREWALL
4.1 O QUE É UM FIREWALL?
Segundo Filho (2009), firewall é um dispositivo que tem como função aplicar
regras de filtragem para verificar o que é ou não permitido ser acessado de dentro ou
para dentro da rede.
Fonseca (2006) afirma que firewall é um dispositivo de rede, e sua função é de
administrar o tráfego entre diferentes redes, e a partir daí, impedir todo tráfego não
autorizado da rede.
A CERT (2012) entende que um firewall é utilizado para bloquear o acesso
indesejado provenientes da Internet, e que devido a possíveis vulnerabilidades do
computador, apenas um sistema antivírus ou antimalware não são capazes de
bloquear o acesso.
A figura XX ilustra um modelo de firewall entre uma rede corporativa e as
conexões com as redes externas, onde possui um filtro de pacotes para entrada de
dados e um para saída, ou seja, a filtragem está ocorrendo nos dois sentidos do
tráfego.
Figura 1 - Firewall
Fonte: Tanembaum e Wetherall, 2007, p. 583
19. 21
Um firewall é implementado de acordo com a necessidade da corporação.
Mediante essa necessidade, é organizado um conjunto de regras específicas que irão
parametrizar o que deve ou não ser liberado para tráfego na rede. De acordo com
esse conceito, o firewall deve analisar as informações contidas no cabeçalho dos
pacotes, verificar em qual regra o mesmo se encaixa e então executar a ação
pertinente. As ações básicas de um firewall são aceitar, negar ou rejeitar o pacote de
acordo com as informações contidas no cabeçalho e as regras destinadas à essas
informações. (FONSECA, 2006).
4.2 TIPOS DE FIREWALL
Conforme Doreste et al, existem principalmente três tipos de firewall, que
podem se misturar de acordo com a necessidade, são eles:
a) Filtro de pacotes: analisa todas as informações do cabeçalho do pacote, como
IP de origem, IP destino, porta utilizada e após analisadas essas informações,
ele procura pela regra adequada, porém não é possível verificar o conteúdo do
pacote.
b) Filtro de pacotes com controle de estado: neste modelo, o firewall monitora a
conexão entre o host interno e o externo e ao verificar que as informações
fornecidas estão corretas, autoriza o tráfego do pacote, se não, bloqueia. Este
processo pode tornar-se mais lento, devido a sua verificação mais aprofundada
do pacote solicitado.
c) Proxy firewall: de forma geral, o proxy é um intermediário da conexão entre o
host local e o servidor, pois é ele que faz e recebe a solicitação no lugar do
cliente e do servidor, e após a verificação da mensagem, encaminha para o
destinatário. Além disso, ele também monitora o tráfego com o intuito de
resguardar contra ameaças.
20. 22
5 IPTABLES
Considerei importante ressalvar que o que será visto no decorrer deste capítulo
não representa o iptables como um todo, mas sim uma forma principal de sua
utilização para servir como estudo e referência para futuros estudos sobre o tema.
Caso o leitor tenha interesse pelo assunto, sugiro que busque fontes alternativas,
assim como as referências bibliográficas listadas no último capítulo do trabalho.
5.1 NETFILTER
O netfilter é um framework do Linux que oferece suporte ao iptables, e atua
para que seja possível filtrar pacotes, gerar log, entre outras funções. Ele atua em
nível de kernel com pacotes que trafegam pelo mesmo. (FILHO, 2009).
Conforme aponta Neto (2004), o netfilter foi desenvolvido por Marc Boucher,
James Morris, Harald Welte e Rusty Russel, e nada mais é que um grande banco de
dados agregado ao Linux que possui em sua estrutura três tabelas, sendo elas: Filter,
Nat e Mangle, porém pode-se criar novas tabelas conforme necessidade.
Cada tabela possui suas chains, que é local onde as regras são armazenadas.
5.2 TABELAS
As tabelas no iptables são responsáveis pelo armazenamento das chains (local
onde as regras são armazenadas). Abaixo foram listadas as principais tabelas e suas
funções, (exceção à tabela mangle, qual é utilizada para QOS, e esta função não foi
objeto de estudo para este trabalho):
a) Tabela filter: esta tabela é responsável pelo fluxo de entrada, saída e
redirecionamento de pacotes, porém ela não altera o pacote. Possui as
chains INPUT (pacotes destinados ao o próprio host), FORWARD (pacotes
que serão redirecionados pelo kernel) e OUTPUT (pacotes remetidos pelo
host).
b) Tabela nat: tabela responsável pela tradução dos endereços de rede, que
permite que redes distintas consigam se comunicar através da troca de
21. 23
destino ou origem por endereços válidos. Nela estão armazenadas as
chains PREROUTING (pacotes que entram no kernel por meio da interface
de entrada antes de sofrerem roteamento), FORWARD (pacotes estão
sendo encaminhados pelo kernel), POSTROUTING (quando os pacotes
estão saindo após o roteamento), e OUTPUT (pacote saindo do kernel com
endereço IP alterado).
As chains das tabelas listadas acima foram escritas em letras maiúsculas, pois
elas são escritas dessa forma no arquivo de firewall.
5.3 COMANDOS IPTABLES
5.3.1 OBSERVAÇÕES IMPORTANTES
O interpretador lê o script de cima para baixo, portanto é fundamental que
as regras sejam colocadas nos lugares corretos, pois a primeira regra
prevalece sobre a próxima.
O iptables é case-sensitive, ou seja, diferencia letras maiúsculas de
minúsculas
O símbolo # é interpretado como comentário, portanto tudo que estiver após
este símbolo, não serão interpretados
Se nenhuma tabela for indicada na regra, o iptables usa a tabela padrão,
que é a filter.
De maneira geral, uma regra apresenta-se com a seguinte sintaxe:
iptables [tabela] [opção] [chain] [parâmetro] [ação]
As tabelas e suas chains foram listadas no subcapítulo anterior, os demais
campos foram listados nos próximos subcapítulos.
22. 24
5.3.2 PARÂMETROS DO IPTABLES
O quadro abaixo mostra os parâmetros utilizados pelo iptables que são
utilizados constantemente nas regras. Esses definem itens como origem, destino,
protocolo, etc.
Quadro 1 - Parâmetros do iptables
Parâmetro Descrição
! Define a exceção do argumento.
-d Define endereço IP de destino. (destination)
--dport Define a porta de destino. (destination port)
-i Define interface de entrada. (interface)
-j Define tipo de ação a ser executa. (jump)
-o Define interface de saída. (out interface)
-p Define o protocolo a ser utilizado. (protocol)
-s Define endereço IP de origem. (source)
--sport Define a porta e origem. (source port)
-t Define a tabela a ser utilizada. (table)
Todos os parâmetros devem ser escritos em letras minúsculas no script de
firewall.
5.3.3 OPÇÕES DO IPTABLES
As opções são utilizadas para informar ao netfilter como ele deve interpretar a
linha de comando. No quadro abaixo são apresentadas as principais opções utilizadas
pelo iptables.
Quadro 2 - Opções do iptables.
Opção Descrição
-A Insere uma regra ao firewall. (Add)
-C Faz a checagem das regras existentes no firewall. (Check)
-D Remove uma regra do firewall. (Delete)
-E Permite renomear uma chain. (Edit)
-F Remove as regras adicionadas ao firewall. (Flush)
23. 25
-h Exibe ajuda do iptables. (help)
-I Insere uma regra no início da tabela. (Insert)
-L Lista as regras já adicionadas ao firewall. (List)
-N Cria uma nova chain dando um nome a ela. (Name)
-P
Define a política padrão do firewall (DROP, ACCEPT, LOG,
RETURN ou REJECT). (Policy)
-R Substitui uma regra no firewall. (Replace)
-X
Exclui uma chain ou todas contidas em uma tabela.
(eXclude)
-Z
Zera os contadores de pacotes trafegados pelo firewall.
(Zero)
5.3.4 ALVOS-PADRÃO
Após a realização das comparações de pacotes que trafegam pelas interfaces,
em determinadas tabelas e chains, é necessário definir qual a ação a ser executada
pelo firewall. Na tabela XX são apresentados os alvos, também conhecidos por target
e seu respectivo significado.
Quadro 3 - Target do iptables
Alvo
(target)
Descrição
ACCEPT
Permite a entrada no pacote através de suas
tabelas.
DROP
Pacotes que coincidirem com essa regra são
descartados sem aviso ao remetente.
LOG
Regra utilizada para registrar eventos no log do
kernel com informações detalhadas sobre pacotes.
REJECT
Nessa regra, os pacotes são descartados,
porém emite um aviso ao remetente.
RETURN
Essa regra retorna o processamento para a
regra anterior. Utilizada onde existe exceção a alguma
regra.
24. 26
5.4 TRADUÇÃO DE ENDEREÇOS (NAT) COM IPTABLES
De acordo com SCRIMGER et al (2002), NAT é um mecanismo de roteamento
para manter endereços IP registrados em grandes redes, e permite que uma rede
privada, que não utiliza endereços IP registrados possa se comunicar com a Internet
e outras redes públicas convertendo os endereços IP em endereços registrados.
Um exemplo do funcionamento do NAT está em uma rede privada que possui
um range de IP entre 192.168.0.1 e 192.168.0.10 e o IP válido, ou seja, que possibilita
o acesso à Internet, seja 131.100.167.13.
Quando qualquer estação da rede privada faz uma solicitação à Internet, essa
requisição chega ao firewall, o mesmo analisa se a requisição se encaixa em alguma
regra estabelecida, e então prossegue com a solicitação, e quando obtém-se a
resposta, o firewall faz o encaminhamento para a estação interna que solicitou. Ou
seja, o NAT ocorre nos dois sentidos, tanto entrada quanto saída.
5.4.1 FUNÇÕES DO NAT
a) SNAT: Utiliza a chain POSTROUTING, é responsável por alterar o IP de
origem, ou seja, altera os IP de uma rede e envia para outra rede, ou seja,
usado para traduzir os endereços de uma rede privada para um IP público.
b) DNAT: Utiliza a chain PREROUTING, é responsável por alterar o IP de destino,
ou seja, altera o IP de uma rede pública para a rede privada. Todas as
requisições vindas de um IP público chegam no firewall e é roteada para a rede
interna.
c) MASQUERADE: Similar ao SNAT, também atua na chain POSTROUTING,
porém é utilizado que a conexão à Internet é feita através de um IP dinâmico.
Sua função é mascarar o IP que sai pela interface de saída para prover o
acesso à Internet
25. 27
5.5 DESENVOLVENDO UM FIREWALL IPTABLES BÁSICO
Foi pré-definido para nosso firewall que a interface de rede local é a eth1 e a
interface para acesso à Internet é a eth0.
Primeiramente é necessário que sejam ativados os módulos para garantir o
funcionamento do iptables:
modprobe ip_tables
modprobe iptables_nat
modprobe iptables_filter
modprobe ipt_REJECT
modeprobe ipt_MASQUERADE
modeprobe ipt_LOG
modeprobe ipt_REDIRECT
Com os módulos ativados, foram limpadas as regras residuais das tabelas nat
e filter e zerados os contadores:
iptables –F
iptables –t nat –F
iptables –Z
iptables –t nat –Z
Para a política padrão adotada para a tabela filter foi DROP, ou seja, descartar
tudo que não se encaixar com as regras individuais da chain:
iptables –P INPUT DROP
iptables –P FORWARD DROP
Abaixo, regras individuais para tratamento da tabela filter:
#descarta pacotes inválidos
iptables –A INPUT –m state --state INVALID –j DROP
26. 28
#pacotes relatados e estabelecidos são aceitos
iptables –A INPUT –m state --state RELATED,ESTABLISHED –j ACCEPT
#pacotes de loopback são aceitos
iptables –A INPUT –i lo –j ACCEPT
#pacotes de redirecionamentos relatados e estabelecidos são aceitos
iptables –A FORWARD –i eth1 –o eth0 –s 0/0 –d 192.168.0.0/24 –m state --
state RELATED,ESTABLISHED –j ACCEPT
#aceitando conexão via SSH de qualquer origem na porta 22
iptables –A INPUT –p tcp --dport 22 –j ACCEPT
#aceitando a consultas de DNS na rede
iptables –A FORWARD –i eth1 –s eth0 –p udp --dport 53 –j ACCEPT
#habilitando o NAT
iptables –t nat –A POSTROUTING –s eth1 –o eth0 –j MASQUERADE
#habilitando o redirecionamento para Terminal Service do Windows em um
servidor na porta 3389
iptables –t nat –A PREROUTING –i eth0 –p tcp --dport 3389 –j DNAT --to
192.168.0.200:3389
iptables –A FORWARD –s 0/0 –p tcp --dport 3389 –j ACCEPT
27. 29
6 CONCLUSÃO
Como visto nos capítulos do trabalho, a segurança é um item fundamental para
qualquer corporação, pois todo o tempo estão vulneráveis a ataques.
Conforme apresentado, o objeto de estudo foi o firewall, com a utilização do
iptables, que demonstrou ser um recurso de fácil de aprendizado, intuitivo e que se
bem desenvolvido, traz inúmeros benefícios de segurança e com baixo custo, já que
é um recurso open-source.
Conforme proposto nos objetivos do trabalho, os resultados da pesquisa foram
satisfatórios, por ter compreendido de forma abrangente segurança, conceitos de
redes de computadores, conceitos, regras e utilização do firewall iptables.
As lições aprendidas no decorrer do desenvolvimento da monografia foram de
grande valor não só para meu aprendizado, mas também para quem buscar adquirir
conhecimento baseado neste trabalho.
28. 30
REFERÊNCIAS
BATISTA, Fabiano Mendonça. Segurança de Redes com Iptables. 52f. Monografia
de especialização em Configuração e Gerenciamento de Servidores da Universidade
Tecnológica do Paraná, Curitiba, 2012.
CARVALHO, R. O. Segurança da Informação nas Organizações. – Brasília:
Faculdade de Tecnologia e Ciências Sociais Aplicadas-FATECS, 2009.
CERT. Cartilha de Segurança para Internet versão 4.0 – São Paulo: Comitê Gestor
da Internet no Brasil, 2012.
CONCEIÇÃO, Eldon Carvalho Vaz. Redes Locais de Computadores Uma Visão
Global e Prática. 69f. Monografia de graduação em Licenciatura em Informática do
Instituto Superior de Educação, Palmarejo, 2006.
COZER, Fabio Luiz. Segurança em Redes sem Fio. 50f. Monografia de graduação
em Ciência da Computação da Faculdade de Jaguariúna, Jaguariúna, 2006.
FILHO, André Stato. Linux Controle de Redes. – Florianópolis: Visual Books, 2009
FONSECA, Caio Roncarati. Segurança de Redes com Uso de um Aplicativo
Firewall Nativo do Sistema Linux. 64f. Monografia de graduação em Ciência da
Computação do Centro Universitário Barão de Mauá de Ribeirão Preto, Ribeirão
Preto, 2006.
NETO, Urubatan. Dominando Linux Firewall Iptables. – Rio de Janeiro: Ciência
Moderna LTDA, 2004.
PUPOLIN, Mirella Novaes. Alternativas de Segurança em Redes de
Computadores Linux Baseada em TCP/IP. 67f. Monografia de pós-graduação em
Segurança de Redes Linux da Faculdade Salesiana de Vitória, Vitória, 2007.
SCRIMGLER, Rob et al. TCP/IP a Bíblia.- Rio de Janeiro: Editora Campus, 2002.
TANEMBAUM, Andrews S.; WHETERALL, David. Redes de Computadores. 4. ed.
São Paulo: Pearson, 2007.
TANEMBAUM, Andrews S.; WHETERALL, David. Redes de Computadores. 5. ed.
São Paulo: Pearson, 2011.
TORRES, Gabriel. Redes de Computadores, Curso Completo. – Rio de Janeiro:
Axcel Books, 2001.