SlideShare uma empresa Scribd logo
UNIVERSIDADE PARA O DESENVOLVIMENTO DO ALTO VALE DO ITAJAÍUNIVERSIDADE PARA O DESENVOLVIMENTO DO ALTO VALE DO ITAJAÍUNIVERSIDADE PARA O DESENVOLVIMENTO DO ALTO VALE DO ITAJAÍUNIVERSIDADE PARA O DESENVOLVIMENTO DO ALTO VALE DO ITAJAÍ
Pró-reitoria de Pós-Graduação, Pesquisa e Extensão
Latu Sensu – Redes de Computadores e Segurança de Sistemas
Projeto e Configuração de Firewalls
Prof. Dr. Emerson Ribeiro de Mello
Data: 11/12/2010.
Acadêmicos:
Diego Adriano Sieves
Joel Schafer
Paulo Luis Steinhauser
Thiago Branco Meurer
O Iptables consiste em um módulo do kernel
do Linux utilizado como front-end para
configurar o Netfilter;
É o Netfilter que realiza toda a filtragem de
pacotes no Linux;pacotes no Linux;
O Iptables nada mais é que uma ferramenta
que nos permite adicionar e remover regras a
cada uma das chains (filas onde os pacotes
são processados).
Exemplos:
Bloquear qualquer pacote TCP destinado à porta
80 de sua máquina. Bastaria que fosse utilizado o
seguinte comando:
# iptables# iptables# iptables# iptables ----A OUTPUTA OUTPUTA OUTPUTA OUTPUT ----p tcpp tcpp tcpp tcp --------dport 80dport 80dport 80dport 80 ----j DROPj DROPj DROPj DROP# iptables# iptables# iptables# iptables ----A OUTPUTA OUTPUTA OUTPUTA OUTPUT ----p tcpp tcpp tcpp tcp --------dport 80dport 80dport 80dport 80 ----j DROPj DROPj DROPj DROP
Descartar qualquer pacote enviado à máquina
local pela máquina de endereço 200.156.12.3,
por exemplo. O comando neste caso seria
# iptables# iptables# iptables# iptables ----A INPUTA INPUTA INPUTA INPUT ----s 200.156.12.3s 200.156.12.3s 200.156.12.3s 200.156.12.3 ----j DROPj DROPj DROPj DROP
Uma característica que confere muito poder
ao Iptables é a expansibilidade, ou seja,
podem ser criados módulos que lhe
acrescentem funcionalidades, como filtragem
por protocolo de camada de aplicação.por protocolo de camada de aplicação.
Como bloquear o uso de MSN na minha rede?
E para bloquear serviço Web?
É inquestionável a utilidade de um
mecanismo de filtragem que atue diretamente
na camada de aplicação, bloqueando
diretamente o protocolo http, por exemplo,
ou o protocolo usado por messengers. Éou o protocolo usado por messengers. É
exatamente isso que faz o Layer 7.
HistóriaHistóriaHistóriaHistória
• O desenvolvimento do Layer 7 começou em
2003 em resposta a constatação de que
quase todas as aplicações de controle de
largura de banda e Qos em uso eram
proprietárias, muito caras e de difícilproprietárias, muito caras e de difícil
adaptação. Buscava-se então uma solução de
código-aberto.
HistóriaHistóriaHistóriaHistória
• Em maio de 2003 foi lançada a primeira
versão do l7, um patch adicionando um
"filtro" (classificador) no kernel do Linux . Até
outubro 2003, nada havia sido feito de
funcional com relação a QoS, sendo lançadafuncional com relação a QoS, sendo lançada
então uma versão para Netfilter.
HistóriaHistóriaHistóriaHistória
• Esta versão foi a 1.0, de janeiro de 2005. Até
dezembro de 2006, percebeu-se que
trabalhar em nível de kernel não era uma boa
idéia, então foi lançada uma versão que
funcionava no nível do usuário e obtinha seusfuncionava no nível do usuário e obtinha seus
dados através do Netfilter QUEUE .
As formas tradicionais de classificação de pacotes,
baseadas geralmente no tipo de protocolo de
transporte, na camada 4 do modelo de rede OSI e
nas portas de origem e/ou destino, são suficientes
na maioria dos casos.
Porém ela pode ser ineficaz em alguns casos
específicos, como por exemplo, no caso de
programas de P2P, como o Kazaa, que utilizam
portas aleatórias ou em caso de serviços rodando
em uma porta não padrão (por exemplo um
servidor HTTP rodando na porta 1111).
Assim surge o Projeto l7 filtering <http://l7-
filter.sourceforge.net>, e como o próprio nome diz, ele
trabalhou com filtro para a camada 7 do modelo OSI, ou
seja, a camada de aplicação. Normalmente o kernel do
Linux trabalhando na camada 4 acaba por não observar
o conteúdo de um pacote, podendo por isso passaro conteúdo de um pacote, podendo por isso passar
muito tráfego sem ser percebido. O Layer7 olha dentro
dos pacotes, a procura de expressões regulares para
achar determinados tipos de conteúdo, sendo
considerado uma grande solução para procura de
aplicações em uma rede.
Mas como nada é perfeito, o Layer 7 também tem suas
desvantagens, pois ele pode trazer prejuízos para a
empresa dependendo da situação em que é utilizado. O
fato de haver a análise do conteúdo pode acarretar em
grande uso de CPU, o que não é recomendado, por
exemplo, a sua utilização em um roteador Linux comexemplo, a sua utilização em um roteador Linux com
alto tráfego, podendo haver perda de informações e
aplicações como o VOIP.
Como já sabemos, o iptables pode atuar nas camadas
de enlace, rede e transporte:
Enlace: iptables -A CHAIN -m mac -mac-source;
Rede: iptables -A CHAIN -s IP_ADDRESS;
Transporte: iptables -A CHAIN -p tcp -dport xxx.Transporte: iptables -A CHAIN -p tcp -dport xxx.
No entanto, combinando o Layer 7 serão aplicados
novas features para o netfilter filtrar alguma aplicação
que normalmente pertenceria apenas a camada 4.
Apesar da utilização do l7 não ser muito complexa, a
sua instalação é um tanto quanto trabalhosa, pois
devemos baixar vários pacotes, entre eles o próprio
kernel do Sistema Operacional, que pode ser
encontrado no seguinte endereço:
http://www.kernel.org.http://www.kernel.org.
Para o trabalho foi utilizado o kernel linux-2.6.31.14,
utilizado no Ubuntu 9.10
Além da versão do kernel utilizada pelo sistema
operacional, houve a necessidade de baixar outros
arquivos correspondentes ao Layer 7, bem como a
instalação de pacotes para compilar o novo kernel, já
com o iptables Layer7 instalado.com o iptables Layer7 instalado.
A instalação foi feita dentro de um ambiente virtual,
uma vez que um problema na compilação poderia
ocasionar problemas maiores se fosse numa máquina
real.
Após baixar todos os arquivos, foi criado um link
chamado linux que apontava para o kernel recém
baixado;
Entrando no kernel através do link linux foramEntrando no kernel através do link linux foram
aplicados os seguintes comandos:
# patch -p1 < /usr/src/netfilter-layer7-v2.22/kernel-2.6.25-
2.6.28-layer7-2.22.patch
# cp /boot/config-2.6.31-14-generic /usr/src/linux-2.6.31-
14/.config
O próximo passo foi entrar dentro do menu de
configuração do kernel e ativar o módulo l7.
# make menuconfig
Saindo da configuração do kernel, foi dado o
comando para a compilação do mesmo:
# make-kpkg –initrd kernel-image
Depois desta etapa, foi utilizado o comando
abaixo para instalar o novo kernel:
Após todos os procedimentos anteriores, resta
acessar a pasta dos fontes do iptables e compilá-
los para posteriormente instalar o iptables (já
com o layer7).
Para finalizar, foram instalados os protocolos que
foram baixados e descompactados no início da
instalação.
Podemos bloquear, por exemplo, o uso do msn
(e de aplicativos que utilizem o mesmo
protocolo) com os comandos:
# iptables# iptables# iptables# iptables ----A OUTPUTA OUTPUTA OUTPUTA OUTPUT ----m layer7m layer7m layer7m layer7 --------l7protol7protol7protol7proto
msnmessengermsnmessengermsnmessengermsnmessenger ----j DROPj DROPj DROPj DROPmsnmessengermsnmessengermsnmessengermsnmessenger ----j DROPj DROPj DROPj DROP
# iptables# iptables# iptables# iptables ----A INPUTA INPUTA INPUTA INPUT ----m layer7m layer7m layer7m layer7 --------l7protol7protol7protol7proto
msnmessengermsnmessengermsnmessengermsnmessenger ----j DROPj DROPj DROPj DROP
Repare que utilizamos a opção -m para
especificar que utilizaremos o módulo layer7 e,
com isso, habilitamos a opção --l7proto que vai
especificar qual protocolo iremos bloquear.
Podemos bloquear, por exemplo, vídeo pela
Web (youtube, por exemplo):
# iptables# iptables# iptables# iptables ----A INPUTA INPUTA INPUTA INPUT ----m layer7m layer7m layer7m layer7 --------l7protol7protol7protol7proto
httpvideohttpvideohttpvideohttpvideo ----j DROPj DROPj DROPj DROP
Bloqueando DNS:Bloqueando DNS:
# iptables# iptables# iptables# iptables ----A INPUTA INPUTA INPUTA INPUT ----m layer7m layer7m layer7m layer7 --------l7proto dnsl7proto dnsl7proto dnsl7proto dns
----j DROPj DROPj DROPj DROP
Estes são alguns exemplos de protocolos que
podem ser bloqueados, mas podemos
bloquear vários outros programas como
doom3, skype, edonkey, etc. Para uma listadoom3, skype, edonkey, etc. Para uma lista
dos protocolos disponíveis nesta versão no
Layer 7 basta acessar os diretórios /etc/l7-
protocols/extra e /etc/l7-
protocols/protocols.
ProtocolosProtocolosProtocolosProtocolos
• São vários os protocolos, aplicações e
arquivos que o Layer 7 consegue verificar,
como softwares P2P, VoIP, Chat, Games, Mail,
Remote Acess, File, Networking, Audio e
Video Streaming, entre outros. AbaixoVideo Streaming, entre outros. Abaixo
apresentamos apenas alguns dos protocolos
mais conhecidos.
ProtocoloProtocoloProtocoloProtocolo QualidadeQualidadeQualidadeQualidade DescriçãoDescriçãoDescriçãoDescrição
Bittorrent OK P2P Torrent
Dhcp Bom Protocolo DHCP
Dns Ótimo Protocolo DNS
Edonkey Bom P2P Edonkey (Emule, entre outros)
Fasttrack Bom P2P (Kazaa, Morpheus, Imesh, etc.)Fasttrack Bom P2P (Kazaa, Morpheus, Imesh, etc.)
ftp Ótimo Protocolo FTP
http Ótimo Protocolo HTTP
Imap Ótimo Protocolo IMAP
Msnmessenger Bom MSN Messenger
Pop3 Ótimo Protocolo POP3
skypeout OK Skype para telefone
skypetoskype OK Skype para Skype
ProtocoloProtocoloProtocoloProtocolo QualidadeQualidadeQualidadeQualidade DescriçãoDescriçãoDescriçãoDescrição
Smtp Ótimo Simple Mail Transport Protocol
Ssh Ótimo Secure Shell
Vnc Ótimo Acesso Remoto
Counterstrike-source Bom Game
Gtalk Bom Google TalkGtalk Bom Google Talk
Httpvideo Bom Vídeo sobre HTTP (Youtube)
Legenda Qualidade:
• Ótimo: Funciona;
• Bom: Funciona até onde sabemos;
• OK: Provavelmente Funciona.
A seguir serão apresentados alguns testes
primeiramente sem aplicar as regras do
iptables layer7 e posteriormente utilizando as
regras para barrar o acesso ao msn, skype e aregras para barrar o acesso ao msn, skype e a
um site de vídeos.
http://l7-filter.sourceforge.net
https://help.ubuntu.com/community/Kernel/Com
pilepile
http://www.howtoforge.com/kernel_compilation_
ubuntu
http://receitasdebolo.wordpress.com/2009/09/05
/layer7/
http://www.howtoforge.com/how-to-set-up-a-
linux-layer-7-packet-classifier-on-centos5.1

Mais conteúdo relacionado

Mais procurados

Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores Linux
Alessandro Silva
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
Israel Messias
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySP
Samuel Sampaio
 
Administração de Redes Linux - I
Administração de Redes Linux - IAdministração de Redes Linux - I
Administração de Redes Linux - I
Marcelo Barros de Almeida
 
Ferramentas de ataques
Ferramentas de ataquesFerramentas de ataques
Ferramentas de ataques
Carlos Veiga
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
João Sá
 
Servidores linux
Servidores linuxServidores linux
Servidores linux
Marcelo Gomes
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos Introdutórios
Fabio Spanhol
 
Slackware Linux
Slackware LinuxSlackware Linux
Slackware Linux
Marcelo Andrade
 
Aula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldapAula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldap
Roberto Castro
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
Pedro Fernandes Vieira
 
Infra de provedores de serviço com software livre
Infra de provedores de serviço com software livreInfra de provedores de serviço com software livre
Infra de provedores de serviço com software livre
Isaque Profeta
 
Curso de perl
Curso de perlCurso de perl
Curso de perl
Regisnaldo Alencar
 
Canit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux MagazineCanit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux Magazine
Mariana Sousa
 
Protocolos
ProtocolosProtocolos
Protocolos
Janieles Araujo
 
Aula de Linux
Aula de LinuxAula de Linux
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios
Eduardo Legatti
 
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
Marcelo Dieder
 
Por que FreeBSD?
Por que FreeBSD?Por que FreeBSD?
Por que FreeBSD?
Juliano Atanazio
 
SlackWare - Leonel
SlackWare - LeonelSlackWare - Leonel
SlackWare - Leonel
Anderson Favaro
 

Mais procurados (20)

Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores Linux
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySP
 
Administração de Redes Linux - I
Administração de Redes Linux - IAdministração de Redes Linux - I
Administração de Redes Linux - I
 
Ferramentas de ataques
Ferramentas de ataquesFerramentas de ataques
Ferramentas de ataques
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 
Servidores linux
Servidores linuxServidores linux
Servidores linux
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos Introdutórios
 
Slackware Linux
Slackware LinuxSlackware Linux
Slackware Linux
 
Aula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldapAula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldap
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Infra de provedores de serviço com software livre
Infra de provedores de serviço com software livreInfra de provedores de serviço com software livre
Infra de provedores de serviço com software livre
 
Curso de perl
Curso de perlCurso de perl
Curso de perl
 
Canit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux MagazineCanit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux Magazine
 
Protocolos
ProtocolosProtocolos
Protocolos
 
Aula de Linux
Aula de LinuxAula de Linux
Aula de Linux
 
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios
 
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
 
Por que FreeBSD?
Por que FreeBSD?Por que FreeBSD?
Por que FreeBSD?
 
SlackWare - Leonel
SlackWare - LeonelSlackWare - Leonel
SlackWare - Leonel
 

Semelhante a Iptables layer7

Seguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptablesSeguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptables
Luiz Arthur
 
I educar-manual-de-instalaao
I educar-manual-de-instalaaoI educar-manual-de-instalaao
I educar-manual-de-instalaao
Fabio Junior Novais Silva
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
eliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
guest7a481e8
 
Redes linux excerto
Redes linux excertoRedes linux excerto
Redes linux excerto
Diógenes Calei
 
tutorial nagios
tutorial nagiostutorial nagios
tutorial nagios
André Luiz Cunha
 
snto
sntosnto
Cent-OS - Sistema Operacional
Cent-OS - Sistema OperacionalCent-OS - Sistema Operacional
Cent-OS - Sistema Operacional
Anderson Favaro
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Danilo Ricardo
 
Trabalho OpenSUSe
Trabalho OpenSUSeTrabalho OpenSUSe
Trabalho OpenSUSe
ngeloTeixeira3
 
Kali linux
Kali linux Kali linux
Kali linux
GonalioSoares
 
Ntop
NtopNtop
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks
3Way Networks
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
guest830f1
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
Cindy Dalfovo
 
Kali Linux : 10 linhas de comandos
Kali Linux : 10 linhas de comandosKali Linux : 10 linhas de comandos
Kali Linux : 10 linhas de comandos
AndrReis107
 
Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema Operacional
Anderson Favaro
 
Apresentação - Mecanismos de segurança linux
Apresentação - Mecanismos de segurança linuxApresentação - Mecanismos de segurança linux
Apresentação - Mecanismos de segurança linux
Allan Reis
 
Exercicios linux
Exercicios linuxExercicios linux
Exercicios linux
Alex Santos Silva
 
I Workshop de Redes do Iespes
I Workshop de Redes do IespesI Workshop de Redes do Iespes
I Workshop de Redes do Iespes
luizfelipemz
 

Semelhante a Iptables layer7 (20)

Seguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptablesSeguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptables
 
I educar-manual-de-instalaao
I educar-manual-de-instalaaoI educar-manual-de-instalaao
I educar-manual-de-instalaao
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Redes linux excerto
Redes linux excertoRedes linux excerto
Redes linux excerto
 
tutorial nagios
tutorial nagiostutorial nagios
tutorial nagios
 
snto
sntosnto
snto
 
Cent-OS - Sistema Operacional
Cent-OS - Sistema OperacionalCent-OS - Sistema Operacional
Cent-OS - Sistema Operacional
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
 
Trabalho OpenSUSe
Trabalho OpenSUSeTrabalho OpenSUSe
Trabalho OpenSUSe
 
Kali linux
Kali linux Kali linux
Kali linux
 
Ntop
NtopNtop
Ntop
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
Kali Linux : 10 linhas de comandos
Kali Linux : 10 linhas de comandosKali Linux : 10 linhas de comandos
Kali Linux : 10 linhas de comandos
 
Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema Operacional
 
Apresentação - Mecanismos de segurança linux
Apresentação - Mecanismos de segurança linuxApresentação - Mecanismos de segurança linux
Apresentação - Mecanismos de segurança linux
 
Exercicios linux
Exercicios linuxExercicios linux
Exercicios linux
 
I Workshop de Redes do Iespes
I Workshop de Redes do IespesI Workshop de Redes do Iespes
I Workshop de Redes do Iespes
 

Mais de Paulo Steinhauser

Trabalho CMM
Trabalho CMMTrabalho CMM
Trabalho CMM
Paulo Steinhauser
 
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
Paulo Steinhauser
 
Trabalho IrDA
Trabalho IrDATrabalho IrDA
Trabalho IrDA
Paulo Steinhauser
 
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
Paulo Steinhauser
 
Artigo Pós Graduação - Paulo luis-steinhauser
Artigo Pós Graduação - Paulo luis-steinhauserArtigo Pós Graduação - Paulo luis-steinhauser
Artigo Pós Graduação - Paulo luis-steinhauser
Paulo Steinhauser
 
Apresentação bluetooth
Apresentação bluetoothApresentação bluetooth
Apresentação bluetooth
Paulo Steinhauser
 

Mais de Paulo Steinhauser (6)

Trabalho CMM
Trabalho CMMTrabalho CMM
Trabalho CMM
 
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
 
Trabalho IrDA
Trabalho IrDATrabalho IrDA
Trabalho IrDA
 
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
 
Artigo Pós Graduação - Paulo luis-steinhauser
Artigo Pós Graduação - Paulo luis-steinhauserArtigo Pós Graduação - Paulo luis-steinhauser
Artigo Pós Graduação - Paulo luis-steinhauser
 
Apresentação bluetooth
Apresentação bluetoothApresentação bluetooth
Apresentação bluetooth
 

Último

Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 

Último (7)

Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 

Iptables layer7

  • 1. UNIVERSIDADE PARA O DESENVOLVIMENTO DO ALTO VALE DO ITAJAÍUNIVERSIDADE PARA O DESENVOLVIMENTO DO ALTO VALE DO ITAJAÍUNIVERSIDADE PARA O DESENVOLVIMENTO DO ALTO VALE DO ITAJAÍUNIVERSIDADE PARA O DESENVOLVIMENTO DO ALTO VALE DO ITAJAÍ Pró-reitoria de Pós-Graduação, Pesquisa e Extensão Latu Sensu – Redes de Computadores e Segurança de Sistemas Projeto e Configuração de Firewalls Prof. Dr. Emerson Ribeiro de Mello Data: 11/12/2010. Acadêmicos: Diego Adriano Sieves Joel Schafer Paulo Luis Steinhauser Thiago Branco Meurer
  • 2. O Iptables consiste em um módulo do kernel do Linux utilizado como front-end para configurar o Netfilter; É o Netfilter que realiza toda a filtragem de pacotes no Linux;pacotes no Linux; O Iptables nada mais é que uma ferramenta que nos permite adicionar e remover regras a cada uma das chains (filas onde os pacotes são processados).
  • 3. Exemplos: Bloquear qualquer pacote TCP destinado à porta 80 de sua máquina. Bastaria que fosse utilizado o seguinte comando: # iptables# iptables# iptables# iptables ----A OUTPUTA OUTPUTA OUTPUTA OUTPUT ----p tcpp tcpp tcpp tcp --------dport 80dport 80dport 80dport 80 ----j DROPj DROPj DROPj DROP# iptables# iptables# iptables# iptables ----A OUTPUTA OUTPUTA OUTPUTA OUTPUT ----p tcpp tcpp tcpp tcp --------dport 80dport 80dport 80dport 80 ----j DROPj DROPj DROPj DROP Descartar qualquer pacote enviado à máquina local pela máquina de endereço 200.156.12.3, por exemplo. O comando neste caso seria # iptables# iptables# iptables# iptables ----A INPUTA INPUTA INPUTA INPUT ----s 200.156.12.3s 200.156.12.3s 200.156.12.3s 200.156.12.3 ----j DROPj DROPj DROPj DROP
  • 4. Uma característica que confere muito poder ao Iptables é a expansibilidade, ou seja, podem ser criados módulos que lhe acrescentem funcionalidades, como filtragem por protocolo de camada de aplicação.por protocolo de camada de aplicação. Como bloquear o uso de MSN na minha rede? E para bloquear serviço Web?
  • 5. É inquestionável a utilidade de um mecanismo de filtragem que atue diretamente na camada de aplicação, bloqueando diretamente o protocolo http, por exemplo, ou o protocolo usado por messengers. Éou o protocolo usado por messengers. É exatamente isso que faz o Layer 7.
  • 6. HistóriaHistóriaHistóriaHistória • O desenvolvimento do Layer 7 começou em 2003 em resposta a constatação de que quase todas as aplicações de controle de largura de banda e Qos em uso eram proprietárias, muito caras e de difícilproprietárias, muito caras e de difícil adaptação. Buscava-se então uma solução de código-aberto.
  • 7. HistóriaHistóriaHistóriaHistória • Em maio de 2003 foi lançada a primeira versão do l7, um patch adicionando um "filtro" (classificador) no kernel do Linux . Até outubro 2003, nada havia sido feito de funcional com relação a QoS, sendo lançadafuncional com relação a QoS, sendo lançada então uma versão para Netfilter.
  • 8. HistóriaHistóriaHistóriaHistória • Esta versão foi a 1.0, de janeiro de 2005. Até dezembro de 2006, percebeu-se que trabalhar em nível de kernel não era uma boa idéia, então foi lançada uma versão que funcionava no nível do usuário e obtinha seusfuncionava no nível do usuário e obtinha seus dados através do Netfilter QUEUE .
  • 9. As formas tradicionais de classificação de pacotes, baseadas geralmente no tipo de protocolo de transporte, na camada 4 do modelo de rede OSI e nas portas de origem e/ou destino, são suficientes na maioria dos casos. Porém ela pode ser ineficaz em alguns casos específicos, como por exemplo, no caso de programas de P2P, como o Kazaa, que utilizam portas aleatórias ou em caso de serviços rodando em uma porta não padrão (por exemplo um servidor HTTP rodando na porta 1111).
  • 10. Assim surge o Projeto l7 filtering <http://l7- filter.sourceforge.net>, e como o próprio nome diz, ele trabalhou com filtro para a camada 7 do modelo OSI, ou seja, a camada de aplicação. Normalmente o kernel do Linux trabalhando na camada 4 acaba por não observar o conteúdo de um pacote, podendo por isso passaro conteúdo de um pacote, podendo por isso passar muito tráfego sem ser percebido. O Layer7 olha dentro dos pacotes, a procura de expressões regulares para achar determinados tipos de conteúdo, sendo considerado uma grande solução para procura de aplicações em uma rede.
  • 11. Mas como nada é perfeito, o Layer 7 também tem suas desvantagens, pois ele pode trazer prejuízos para a empresa dependendo da situação em que é utilizado. O fato de haver a análise do conteúdo pode acarretar em grande uso de CPU, o que não é recomendado, por exemplo, a sua utilização em um roteador Linux comexemplo, a sua utilização em um roteador Linux com alto tráfego, podendo haver perda de informações e aplicações como o VOIP.
  • 12. Como já sabemos, o iptables pode atuar nas camadas de enlace, rede e transporte: Enlace: iptables -A CHAIN -m mac -mac-source; Rede: iptables -A CHAIN -s IP_ADDRESS; Transporte: iptables -A CHAIN -p tcp -dport xxx.Transporte: iptables -A CHAIN -p tcp -dport xxx. No entanto, combinando o Layer 7 serão aplicados novas features para o netfilter filtrar alguma aplicação que normalmente pertenceria apenas a camada 4.
  • 13. Apesar da utilização do l7 não ser muito complexa, a sua instalação é um tanto quanto trabalhosa, pois devemos baixar vários pacotes, entre eles o próprio kernel do Sistema Operacional, que pode ser encontrado no seguinte endereço: http://www.kernel.org.http://www.kernel.org. Para o trabalho foi utilizado o kernel linux-2.6.31.14, utilizado no Ubuntu 9.10
  • 14.
  • 15. Além da versão do kernel utilizada pelo sistema operacional, houve a necessidade de baixar outros arquivos correspondentes ao Layer 7, bem como a instalação de pacotes para compilar o novo kernel, já com o iptables Layer7 instalado.com o iptables Layer7 instalado. A instalação foi feita dentro de um ambiente virtual, uma vez que um problema na compilação poderia ocasionar problemas maiores se fosse numa máquina real.
  • 16.
  • 17. Após baixar todos os arquivos, foi criado um link chamado linux que apontava para o kernel recém baixado; Entrando no kernel através do link linux foramEntrando no kernel através do link linux foram aplicados os seguintes comandos: # patch -p1 < /usr/src/netfilter-layer7-v2.22/kernel-2.6.25- 2.6.28-layer7-2.22.patch # cp /boot/config-2.6.31-14-generic /usr/src/linux-2.6.31- 14/.config
  • 18. O próximo passo foi entrar dentro do menu de configuração do kernel e ativar o módulo l7. # make menuconfig
  • 19. Saindo da configuração do kernel, foi dado o comando para a compilação do mesmo: # make-kpkg –initrd kernel-image
  • 20. Depois desta etapa, foi utilizado o comando abaixo para instalar o novo kernel:
  • 21. Após todos os procedimentos anteriores, resta acessar a pasta dos fontes do iptables e compilá- los para posteriormente instalar o iptables (já com o layer7). Para finalizar, foram instalados os protocolos que foram baixados e descompactados no início da instalação.
  • 22. Podemos bloquear, por exemplo, o uso do msn (e de aplicativos que utilizem o mesmo protocolo) com os comandos: # iptables# iptables# iptables# iptables ----A OUTPUTA OUTPUTA OUTPUTA OUTPUT ----m layer7m layer7m layer7m layer7 --------l7protol7protol7protol7proto msnmessengermsnmessengermsnmessengermsnmessenger ----j DROPj DROPj DROPj DROPmsnmessengermsnmessengermsnmessengermsnmessenger ----j DROPj DROPj DROPj DROP # iptables# iptables# iptables# iptables ----A INPUTA INPUTA INPUTA INPUT ----m layer7m layer7m layer7m layer7 --------l7protol7protol7protol7proto msnmessengermsnmessengermsnmessengermsnmessenger ----j DROPj DROPj DROPj DROP Repare que utilizamos a opção -m para especificar que utilizaremos o módulo layer7 e, com isso, habilitamos a opção --l7proto que vai especificar qual protocolo iremos bloquear.
  • 23. Podemos bloquear, por exemplo, vídeo pela Web (youtube, por exemplo): # iptables# iptables# iptables# iptables ----A INPUTA INPUTA INPUTA INPUT ----m layer7m layer7m layer7m layer7 --------l7protol7protol7protol7proto httpvideohttpvideohttpvideohttpvideo ----j DROPj DROPj DROPj DROP Bloqueando DNS:Bloqueando DNS: # iptables# iptables# iptables# iptables ----A INPUTA INPUTA INPUTA INPUT ----m layer7m layer7m layer7m layer7 --------l7proto dnsl7proto dnsl7proto dnsl7proto dns ----j DROPj DROPj DROPj DROP
  • 24. Estes são alguns exemplos de protocolos que podem ser bloqueados, mas podemos bloquear vários outros programas como doom3, skype, edonkey, etc. Para uma listadoom3, skype, edonkey, etc. Para uma lista dos protocolos disponíveis nesta versão no Layer 7 basta acessar os diretórios /etc/l7- protocols/extra e /etc/l7- protocols/protocols.
  • 25. ProtocolosProtocolosProtocolosProtocolos • São vários os protocolos, aplicações e arquivos que o Layer 7 consegue verificar, como softwares P2P, VoIP, Chat, Games, Mail, Remote Acess, File, Networking, Audio e Video Streaming, entre outros. AbaixoVideo Streaming, entre outros. Abaixo apresentamos apenas alguns dos protocolos mais conhecidos.
  • 26. ProtocoloProtocoloProtocoloProtocolo QualidadeQualidadeQualidadeQualidade DescriçãoDescriçãoDescriçãoDescrição Bittorrent OK P2P Torrent Dhcp Bom Protocolo DHCP Dns Ótimo Protocolo DNS Edonkey Bom P2P Edonkey (Emule, entre outros) Fasttrack Bom P2P (Kazaa, Morpheus, Imesh, etc.)Fasttrack Bom P2P (Kazaa, Morpheus, Imesh, etc.) ftp Ótimo Protocolo FTP http Ótimo Protocolo HTTP Imap Ótimo Protocolo IMAP Msnmessenger Bom MSN Messenger Pop3 Ótimo Protocolo POP3 skypeout OK Skype para telefone skypetoskype OK Skype para Skype
  • 27. ProtocoloProtocoloProtocoloProtocolo QualidadeQualidadeQualidadeQualidade DescriçãoDescriçãoDescriçãoDescrição Smtp Ótimo Simple Mail Transport Protocol Ssh Ótimo Secure Shell Vnc Ótimo Acesso Remoto Counterstrike-source Bom Game Gtalk Bom Google TalkGtalk Bom Google Talk Httpvideo Bom Vídeo sobre HTTP (Youtube) Legenda Qualidade: • Ótimo: Funciona; • Bom: Funciona até onde sabemos; • OK: Provavelmente Funciona.
  • 28. A seguir serão apresentados alguns testes primeiramente sem aplicar as regras do iptables layer7 e posteriormente utilizando as regras para barrar o acesso ao msn, skype e aregras para barrar o acesso ao msn, skype e a um site de vídeos.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.