SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Ribeirão Preto
2016
RAFAEL MAGRI GEDRA
SEGURANÇA EM REDES DE COMPUTADORES
UTILIZANDO FIREWALL IPTABLES
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
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
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.
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.
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.
LISTA DE ILUSTRAÇÕES
Figura 1 - Firewall......................................................................................................20
LISTA DE QUADROS
Quadro 1 - Parametros do iptables ...........................................................................24
Quadro 2 - Opções do iptables..................................................................................24
Quadro 3 - Target do iptables....................................................................................25
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
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
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
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.
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
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,
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.
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.
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.
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
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.
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
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.
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)
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.
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
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
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
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.
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.

Mais conteúdo relacionado

Mais procurados

Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de RepetiçãoProfessor Samuel Ribeiro
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15diogoa21
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca Dantas
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Marcos Castro
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLRogerio de Moraes
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 

Mais procurados (12)

Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15
 
Role Play Games
Role Play GamesRole Play Games
Role Play Games
 
03 poo
03 poo03 poo
03 poo
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
BR 2022- EGFAE.pdf
BR 2022- EGFAE.pdfBR 2022- EGFAE.pdf
BR 2022- EGFAE.pdf
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
 
Arrays em java
Arrays em javaArrays em java
Arrays em java
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 

Semelhante a Firewall iptables protege rede

Tcc lucas rodrigues-14986
Tcc lucas rodrigues-14986Tcc lucas rodrigues-14986
Tcc lucas rodrigues-14986Elisabete Vidal
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesmauriciomoda
 
Estudo do ip cop como firewall de aplicação
Estudo do ip cop como firewall de aplicaçãoEstudo do ip cop como firewall de aplicação
Estudo do ip cop como firewall de aplicaçãoDouglas Marra da Costa
 
Tcc firewalls e a segurança na internet
Tcc    firewalls e a segurança na internetTcc    firewalls e a segurança na internet
Tcc firewalls e a segurança na internetalexandrino1
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesmauriciomoda
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesmauriciomoda
 
Apresentação ENG PUCC - Implementação de Praticas de Segurança da Informação ...
Apresentação ENG PUCC - Implementação de Praticas de Segurança da Informação ...Apresentação ENG PUCC - Implementação de Praticas de Segurança da Informação ...
Apresentação ENG PUCC - Implementação de Praticas de Segurança da Informação ...Evandro Guilherme Miguel
 
Duly_seguranca em redes de computadores.pdf
Duly_seguranca em redes de computadores.pdfDuly_seguranca em redes de computadores.pdf
Duly_seguranca em redes de computadores.pdfHelenaReis48
 
Implementando segurança de redes com brazilfw firewall e router
Implementando segurança de redes com brazilfw firewall e routerImplementando segurança de redes com brazilfw firewall e router
Implementando segurança de redes com brazilfw firewall e routerAnderson Pontes
 
Computação Forense com Software Livre
Computação Forense com Software LivreComputação Forense com Software Livre
Computação Forense com Software LivreFabrício Basto
 
Resenha Proteção De Ativos Na Indústria De Software
Resenha Proteção De Ativos Na Indústria De SoftwareResenha Proteção De Ativos Na Indústria De Software
Resenha Proteção De Ativos Na Indústria De Softwareantonio sérgio nogueira
 
1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicos1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicosGuilherme Neves
 
1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicos1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicosGuilherme Neves
 
Artigo Cloud Computing
Artigo Cloud ComputingArtigo Cloud Computing
Artigo Cloud ComputingRicardo Peres
 
10 atributos que o seu firewall precisa ter
10 atributos que o seu firewall precisa ter10 atributos que o seu firewall precisa ter
10 atributos que o seu firewall precisa terTechBiz Forense Digital
 
Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Cleber Ramos
 
86242325 pre-projeto-de-pesquisa
86242325 pre-projeto-de-pesquisa86242325 pre-projeto-de-pesquisa
86242325 pre-projeto-de-pesquisaMarcos Faria
 
Mecanismos de segurança linux
Mecanismos de segurança linuxMecanismos de segurança linux
Mecanismos de segurança linuxAllan Reis
 
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSourcePalestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSourceLuiz Arthur
 

Semelhante a Firewall iptables protege rede (20)

Tcc lucas rodrigues-14986
Tcc lucas rodrigues-14986Tcc lucas rodrigues-14986
Tcc lucas rodrigues-14986
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redes
 
Estudo do ip cop como firewall de aplicação
Estudo do ip cop como firewall de aplicaçãoEstudo do ip cop como firewall de aplicação
Estudo do ip cop como firewall de aplicação
 
Tcc firewalls e a segurança na internet
Tcc    firewalls e a segurança na internetTcc    firewalls e a segurança na internet
Tcc firewalls e a segurança na internet
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redes
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redes
 
Apresentação ENG PUCC - Implementação de Praticas de Segurança da Informação ...
Apresentação ENG PUCC - Implementação de Praticas de Segurança da Informação ...Apresentação ENG PUCC - Implementação de Praticas de Segurança da Informação ...
Apresentação ENG PUCC - Implementação de Praticas de Segurança da Informação ...
 
Duly_seguranca em redes de computadores.pdf
Duly_seguranca em redes de computadores.pdfDuly_seguranca em redes de computadores.pdf
Duly_seguranca em redes de computadores.pdf
 
Implementando segurança de redes com brazilfw firewall e router
Implementando segurança de redes com brazilfw firewall e routerImplementando segurança de redes com brazilfw firewall e router
Implementando segurança de redes com brazilfw firewall e router
 
Computação Forense com Software Livre
Computação Forense com Software LivreComputação Forense com Software Livre
Computação Forense com Software Livre
 
TCC Seguranca -1.0
TCC Seguranca -1.0TCC Seguranca -1.0
TCC Seguranca -1.0
 
Resenha Proteção De Ativos Na Indústria De Software
Resenha Proteção De Ativos Na Indústria De SoftwareResenha Proteção De Ativos Na Indústria De Software
Resenha Proteção De Ativos Na Indústria De Software
 
1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicos1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicos
 
1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicos1º webminar sobre ransonware para gestores públicos
1º webminar sobre ransonware para gestores públicos
 
Artigo Cloud Computing
Artigo Cloud ComputingArtigo Cloud Computing
Artigo Cloud Computing
 
10 atributos que o seu firewall precisa ter
10 atributos que o seu firewall precisa ter10 atributos que o seu firewall precisa ter
10 atributos que o seu firewall precisa ter
 
Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall
 
86242325 pre-projeto-de-pesquisa
86242325 pre-projeto-de-pesquisa86242325 pre-projeto-de-pesquisa
86242325 pre-projeto-de-pesquisa
 
Mecanismos de segurança linux
Mecanismos de segurança linuxMecanismos de segurança linux
Mecanismos de segurança linux
 
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSourcePalestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
 

Firewall iptables protege rede

  • 1. Ribeirão Preto 2016 RAFAEL MAGRI GEDRA SEGURANÇA EM REDES DE COMPUTADORES UTILIZANDO FIREWALL IPTABLES
  • 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.