Sei sulla pagina 1di 15

IPTABLES E SQUID

Controle de fluxo da rede

Professor: Atos Ramos

nat

PREROUTING

nat OUTPUT
filter OUTPUT

mangle
POSTROUTING
nat
POSTROUTING

Roteamento

SIM

mangle
INPUT

filter
INPUT

Destino
=
Firewall

Processamento Local
Roteamento

mangle
OUTPUT

NO

mangle
FORWARD

filter
FORWARD

mangle
POSTROUTING
nat
POSTROUTING

Rede B

PREROUTING

Rede A

da
e

mangle

Iptables

Mdulos

Iptables

So formas de se ampliar a funcionalidade do iptables, ou seja, uma forma


de se fugir do convencional aplicando ento regras um pouco mais
aprimoradas como por exemplo que trabalhe sob a anlise do corpo de um
pacote, ou seja, do contedo propriamente dito do mesmo.
Um mdulo para ser utilizado precisa ser anunciado via opo -m
<mdulo> ou --match <mdulo> e que deve ser integrado sntese
clssica do iptables.

Mdulos

Iptables

Alguns exemplos de mdulos so:

Mdulo (-m) Descrio

imit

Limita o numero de vezes que uma regra ser executada antes de passar para a prxima regra.

mac

Permite que o iptables trabalhe com mac address.

tate

multiport

tring

owner

Observa o estado da conexo. Estes podem ser (NEW, ESTABLISHED, RELATED e INVALID).
Permite que sejam especificadas at 15 porta a uma regra de uma s vez.
Observa o contedo do pacote para somente ento aplicar a regra.
Observa o usurio que criou o pacote.

Mdulos
Limit

Iptables

Regras sob o modulo limit especificam exatamente quantas vezes as mesmas devem ser
executadas em um intervalo de tempo especifico, e, se isso acontecer, ela
automaticamente deve executar a regra seguinte.
# iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# iptables -A INPUT -p icmp -j DROP

Mdulos

LAG

Limit
Flags do TCP
Descrio

Iptables

SH

Push. Informa ao TCP que ele deve enviar todos os pacotes que estejam no buffer ao seu
destinatrio.

YN

Syncronize. Este flag utilizado para realizar a sincronizao dos nmeros sequenciais.

RG

CK

IN

Urgent. Todos os pacotes marcados com tal flag tero prioridade em seu envio.

Acknowledgement number. Esta flag tem como utilidade informa ao receptor o prximo nmero de
sequencia que o emissor deseja receber.
Finalizao. Esta flag indica a finalizao de uma conexo.

Mdulos

Iptables

Limit
Protegendo de ataques SYN-Cookies.
# echo 0 > /proc/sys/net/ipv4/tcp_syncookies
# iptables -N syn-flood
# iptables -A INPUT -i eth0 -p tcp --syn -j syn-flood
# iptables -A syn-flood -m limit --limit 1/s -j RETURN
# iptables -A syn-flood -j DROP
Protegendo de ataques IP-Spoofing.
for i in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $i
done
Protegendo de scanner ocultos.
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

Mdulos
state

Iptables

Este mdulo atribui regra mediante a anlise do estado da conexo de um pacote.


Estados
NEW

Indica que o pacote est criando uma nova conexo;


ESTABLISHED
Informa que o pacote pertence a uma conexo j existente, logo, trata-se de um pacote de resposta;
RELATED
Referente a pacotes que relacionam-se indiretamente com outro pacote, a exemplo das mensagens de
erros de conexo;
INVALID
Referente a pacotes no identificados por algum motivo desconhecido. Geralmente aconselha-se que tais
pacotes sejam descartados pelo firewall.

Mdulos
state

Iptables

Analisemos
# iptables -A INPUT -m state --state NEW -i eth0 -j DROP
# iptables -A INPUT -m state --state INVALID -i eth0 -j DROP
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

mac

Media access control a identificao de mais baixo nvel que um computador pode
ter, teoricamente inacessvel, pois trata-se de endereo embutido no hardware
ainda pelo fabricante, para ser mais especifico, em seu dispositivo de rede.
Analisemos
# iptables -A INPUT -m mac --mac-source 40:F0:B2:8F:0C:01 -j DROP

Mdulos
multiport

Iptables

Este mdulo permite que especifiquemos mltiplas porta a um determinado alvo sob o
limite Maximo de 15.
# iptables -A INPUT -p tcp -i eth0 -m multiport --dport 80,25,53,110 -j DROP

es

Iptables

Mdulos
string
O mdulo string extremamente til quando precisamos realizar um controle de trfego
baseado no contedo de um pacote.
# iptables -A INPUT -m string --string sexo --algo bm -j LOG --log-prefix ATENCAO: Site de Sexo
# iptables -A INPUT -m string --string sexo --algo bm -j DROP
Bloqueando Kazaa
# iptables -A INPUT -m string --string X-Kazaa --algo bm -j DROP
# iptables -A INPUT -m string --string GET /.hash= --algo bm -j DROP

o bm|kmp

m offset

offset

ing pattern

x-string pattern

Descrio

Seleciona um padro de estratgia. (bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)

Definir o deslocamento a partir do qual comea a olhar para qualquer correspondncia.Se nada for passado o padro 0.

Definir o deslocamento a partir do qual comea a olhar para qualquer correspondncia. Se nada for passado o default o
tamanho do pacote.

Corresponde ao padro informado.

Corresponde a determinado padro em notao hexadecimal.

Mdulos
owner

Iptables

O mdulo owner, embora bem interessante, pouco utilizado e mencionado em literaturas


do gnero. Owner capaz de determinar precisamente algumas informaes valiosas
sobre o criador de um determinado pacote definido em regra, de modo que se tornar
possvel identificar o emissor real do pacote. Este mdulo pode ser utilizado to somente
em combinao com a chain OUTPUT conforme vemos no exemplo a seguir, que
bloquear a sada de qualquer pacote UDP que seja criado por um usurio do grupo sob o
GID 81:
# iptables -A OUTPUT -m owner --gid-owner 81 -p udp -j DROP

Mdulos

es

owner

Descrio

Iptables

id-owner

Controla e executa a regra se o pacote fora criado por um usurio sob o userid especificado.

id-owner

Controla e executa a regra se o pacote fora criado por um nmero de processo especificado.

id-owner

id-owner

nclean

Controla e executa a regra se o pacote fora criado por um usurio sob o groupid especificad

Controle e executa a regra se o pacote fora criado por processo concebido por session group

Opo ainda experimental e diante disso potencialmente exposta a vulnerabilidades, realiza


diversas checagens aleatrias nos pacotes a fim de identifica-los como suspeitos ou outros
que no determinem com preciso sua procedncia.

Mdulos
owner

Iptables

Analisemos
# iptables -A OUTPUT -m owner --uid-owner 42 -p tcp -j ACCEPT
# iptables -A OUTPUT -p tcp -j DROP
# iptables -A OUTPUT -m owner --gid-owner 50 -d www.sexo.com.br -j ACCEPT
# iptables -A OUTPUT -d www.sexo.com.br -j DROP

cote de entrada

reRouting
angle
AT

Roteamento

INPUT
Mangle
Filter

Iptables

Forward
Mangle
Filter

Processamento
local

Pacote de sada

OUTPUT
Mangle
NAT
Filter
Roteamento

PostRouting
Mangle
NAT

Potrebbero piacerti anche