Você está na página 1de 42

Formao de Administradores

de Redes Linux
LPI level 1
SENAC TI
Fernando Costa

Firewall

Software cujo objetivo proteger a mquina de


acesso/trfego indesejado,
indesejado proteger servios,
evitar que dados sigilosos sejam acessados...

Firewall
Iptables:
- Firewall em nvel de pacotes
- Baseado em porta e endereos de origem/destino,
prioridade, etc
- Comparao de regras
- Modifica e monitora trfego de rede
- Redirecionamento de pacotes
- Criao de proteo contra anti-spoofing, syn flood,
DoS,etc

IPTables - Caractersticas
# Especificao de portas/endereo de
origem/destino
# Suporte a protocolos TCP/UDP/ICMP (incluindo
tipos de mensagens icmp)
# Suporte a interfaces de origem/destino de pacotes
# Manipula servios de proxy na rede
# Tratamento de trfego dividido em chains (para
melhor controle do trfego que entra/sai da
mquina e trfego redirecionado.
# Permite um nmero ilimitado de regras por chain
# Muito rpido, estvel e seguro

IPTables - Caractersticas
# Possui mecanismos internos para rejeitar
automaticamente pacotes duvidosos ou mal
formados.
# Suporte a mdulos externos para expanso das
funcionalidades padres oferecidas pelo cdigo
de firewall
# Contagem de pacotes que atravessaram uma
interface/regra
# Limitao de passagem de pacotes/conferncia
de regra (muito til para criar protees contra,
syn flood, ping flood, DoS, etc)

IPTables - Caractersticas
# Suporte completo a roteamento de pacotes,
tratadas em uma rea diferente de trfegos
padres.
# Suporte a especificao de tipo de servio
para priorizar o trfego de determinados tipos
de pacotes.
# Permite especificar excees para as regras
ou parte das regras
# Suporte a deteco de fragmentos

Firewall
- Quais servios proteger?
- Quais tipos de conexo permitir?
- Mquinas com acesso irrestrito
- Servios com prioridade do processamento
- Volume de trfego
- O que poder trafegar entre redes
- ...

Firewall

Iptables
Regras
Chains
Tabelas

IPTables - Regras
- So como comandos passados ao iptables para que
ele realize uma determinada ao.
- As regras so armazenadas dentro dos chains e
processadas na ordem que so inseridas.
- As regras so armazenadas no kernel

IPTables - Chains
- So locais onde as regras do firewall definidas pelo
usurio so armazenadas para operao do firewall
- Embutidas e as definidas pelo usurio
INPUT
OUTPUT
FORWARD
PREROUTING
POSTROUTING

IPTables - Tabelas
- So os locais usados para armazenar os chains e
conjunto de regras com uma determinada
caracterstica em comum
filter
nat
mangle

IPTables
- filter
- INPUT
- OUTPUT
- FORWARD
- nat
- PREROUTING Consultado quando os pacotes precisam ser modificados logo
que chegam (DNAT)

- POSTROUTING Consultado quando os pacotes precisam ser modificados


aps o tratamento de roteamento (SNAT)

- OUTPUT Consultado quando os pacotes gerados localmente precisam ser


modificados antes de serem roteados

IPTables
- mangle
- INPUT Consultado quando os pacotes precisam ser modificados antes de
serem enviados para o chain INPUT da tabela filter.

- OUTPUT Consultado quando os pacotes precisam ser modificados antes


de serem enviados para o chain OUTPUT da tabela nat.

- FORWARD Consultado quando os pacotes precisam ser modificados


antes de serem enviados para o chain FORWARD da tabela filter.

- PREROUTING Consultado quando os pacotes precisam ser


modificados antes de ser enviados para o chain PREROUTING da tabela nat.

- POSTROUTING Consultado quando os pacotes precisam ser


modificados antes de serem enviados para o chain POSTROUTING da tabela nat.

IPTables

Adicionando regras:
# ping localhost
# iptables -t filter -A INPUT -d 127.0.0.1 -j DROP
# ping localhost
# iptables -t filter -I INPUT 1 -s 10.1.151.X -d
127.0.0.1 -j ACCEPT

IPTables
Removendo, refinando e listando a regra:
# iptables -t filter -D INPUT -d 127.0.0.1 -j DROP
# iptables -t filter -A INPUT -d 127.0.0.1 -p tcp -j
DROP
# iptables -t <tabela> -L <chain> [opcoes]
Opes:
-v
--line-numbers
-n

IPTables
Especificando um endereo de origem/destino
# iptables -A INPUT -s 200.200.200.0/24 -j DROP
# iptables -A OUTPUT -d 10.1.2.3 -j DROP
# iptables -A INPUT -s www.dominio.teste.org -d
210.21.1.3 -j DROP

IPTables
Especificando a interface de
origem/destino
# iptables -A INPUT -s 200.123.123.10 -i ppp0 -j DROP
# iptables -A INPUT -s 200.123.123.10 -i ppp+ -j DROP
# iptables -A OUTPUT -o ppp+ -j DROP
# iptables -A FORWARD -i ppp0 -o eth1 -j DROP

IPTables
Especificando um protocolo
# iptables -A INPUT -s 200.200.200.200 -p udp -j DROP

Especificando portas de origem/destino


# iptables -A OUTPUT -d 200.200.200.200 -p tcp --dport
:1023 -j DROP

IPTables

Tabela NAT (Network Address Translation)

A tabela nat serve para controlar a traduo dos


endereos que atravessam o cdigo de
roteamento da mquina

IPTables

IP masquerading

# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j


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

IPTables
Fazendo SNAT
Consiste em modificar o endereo de origem das
mquinas clientes antes dos pacotes serem
enviados. A mquina roteadora inteligente o
bastante para lembrar dos pacotes modificados e
reescrever os endereos assim que obter a resposta
da mquina de destino, direcionando os pacotes ao
destino correto
Toda operao de SNAT feita no chain
POSTROUTING.

Firewall
# iptables -t nat -A POSTROUTING -s 192.168.1.2 -o eth1 -j SNAT --to
200.200.217.40

IPTables
Fazendo DNAT
iptables -t nat -A PREROUTING -s
200.200.217.40 -i eth0 -j DNAT --to 192.168.1.2
Redirecionamento de portas
iptables -t nat -A PREROUTING -i eth0 -p tcp
--dport 80 -j REDIRECT --to-port 81

IPTables
Caminho percorrido pelos pacotes nas tabelas e
chains
Nos exemplos foi assumida a seguinte configurao:
- A mquina do firewall com iptables possui o endereo IP
192.168.1.1 e conecta a rede interna ligada via interface eth0 a
internet via a interface ppp0.
- Rede interna com a faixa de endereos 192.168.1.0
conectada ao firewall via interface eth0
- Interface ppp0 fazendo conexo com a Internet com o
endereo IP 200.217.29.67.
- A conexo das mquinas da rede interna (eth0) com a rede
externa (ppp0) feita via Masquerading.

IPTables
Ping de 192.168.1.1 para 192.168.1.1
Conexo FTP de 192.168.1.1 para 192.168.1.1
Conexo FTP de 192.168.1.1 para 192.168.1.4
Conexo FTP de 200.217.29.67 para a mquina
ftp.debian.org.br
Ping de 192.168.1.4 para 192.168.1.1
Conexo FTP de 192.168.1.4 para 192.168.1.1
Conexo FTP de 192.168.1.4 para ftp.debian.org.br

Firewall
Em duplas, fazer IP Masquerading sendo:
Mquina A alterar o IP local (eth0) para algum da
rede 10.5.151.0/24
Mquina B criar uma interface virtual eth0:0 com IP
da rede 10.5.151.0/24
Mquina B definir uma rota para da rede
10.5.151.0/24 sendo o gateway o IP setado para eth0
Adicionar a rota default da mquina A o endereo IP
da rede 10.5.151.0/24 da mquina B
Testar conectividade (ping externos, requisies http,
traceroute)

Firewall
Ainda em duplas:

Mquina A deve bloquear o acesso ao SSH (porta


22) vindo da Mquina B
Mquina B deve bloquear ping para ela vindo da
rede 10.5.151.0/24

Monitoramento
Por que monitorar?
O que monitorar?
Como monitorar?

Software de monitoramento
MRTG
O mais antigo sistema de monitoramento de redes
que gera pginas HTML com grficos de dados
coletados a partir de SNMP ou scripts externos.

http://oss.oetiker.ch/mrtg/

Software de monitoramento
RRDtool
Evoluo do MRTG, utilizado pela maioria das
ferramentas de monitoramento de rede. Os dados
so armazenados num banco de dados com o
conceito de round-robin para que as medies
fiquem constantes ao longo do tempo.

http://oss.oetiker.ch/rrdtool/

Software de monitoramento
Nagios
Robusto e base para
outras ferramentas de
gerenciamento
/
monitoramento, com ele
possvel fazer o
gerenciamento de toda a
rede
inclusive
com
alertas via SNMP trap,
SMS, email.
http://www.nagios.org

Software de monitoramento
Cacti
Desenvolvido para ser flexvel de modo a se
adaptar facilmente a diversas necessidades, bem
como ser robusto e fcil de usar. Trata-se de uma
interface e uma infra-estrutura para o RRDTool,
que responsvel por armazenar os dados
recolhidos e por gerar os grficos.

http://cacti.net

Software de monitoramento
Zabbix
Ferramenta une o que
de melhor do Nagios e
do Cacti juntamente
com uma excelente
ferramenta web de
configurao
e
manuteno.
Possui muitos recursos para facilitar
gerenciamento centralizado dos ativos.
http://www.zabbix.org

Software de monitoramento
Munin
Feito em Perl, produz
grficos sobre variados
temas
como
monitoramento de CPU,
carga dos discos, queries
do
MySQL,
uso
de
memria, rede etc.
Extremamente til para administrar diversos
servidores ao mesmo tempo.
http://munin.projects.linpro.no/

Software de monitoramento
Zenoss
Excelente
ferramenta
para
monitorar/gerenciar
a
rede
baseado no Nagios, com ele
possvel tambm fazer um
inventrio da rede e possui
excelentes
grficos
da
infraestrutura. Utiliza o Google
maps
para
mostrar
graficamente a distribuio das
redes.
http://www.zenoss.com

Software de monitoramento
NAV
Avanada ferramenta para monitorar grandes
redes. Ele automaticamente descobre a topologia
de rede, monitora carga de banda, servidores e
outros equipamentos de rede enviando alertas via
SMS, email.

http://metanav.uninett.no/

Cacti
http://www.cacti.net

Cacti - uma interface grfica web feita em PHP


para a ferramenta RRDTool, que coleta dados
via SNMP, armazena informaes sobre os
grficos de estatsticas, contas de usurios e
demais configuraes em uma base de dados
MySQL.
Ports:
cd /usr/ports/net/cacti && make install clean

Cacti - Interface

Cacti Gerenciando Dispositivos

Cacti Consulta por perodo

Fernando Costa
www.fernandocosta.com.br
fernandocosta@gmail.com