0% acharam este documento útil (0 voto)
216 visualizações4 páginas

Ipfw 1

1) O documento descreve o IPFirewall (IPFW), o firewall nativo do FreeBSD, que implementa filtragem de pacotes e controle de tráfego de rede. 2) Ele explica como ativar o IPFW no kernel ou carregando módulos, e como configurar regras de inicialização no arquivo rc.ipfw. 3) Também resume como adicionar regras básicas de filtragem e controle de banda usando o dummynet para criar "pipes" e limitar velocidades de download e upload.

Enviado por

lumassa
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
216 visualizações4 páginas

Ipfw 1

1) O documento descreve o IPFirewall (IPFW), o firewall nativo do FreeBSD, que implementa filtragem de pacotes e controle de tráfego de rede. 2) Ele explica como ativar o IPFW no kernel ou carregando módulos, e como configurar regras de inicialização no arquivo rc.ipfw. 3) Também resume como adicionar regras básicas de filtragem e controle de banda usando o dummynet para criar "pipes" e limitar velocidades de download e upload.

Enviado por

lumassa
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

#

# IPFIREWALL
#

IPFW ---> interface de comando do IPFIREWALL (firewall nativo do FreeBSD)


|
|
implementa a filtragem de pacotes
IP e controle de trafego de rede

ACIONANDO O IPFIREWALL

- adicionando as opcoes apropriadas ao kernel ou;

- usando o kldload para carregar os modulos do ipfw.


(kldload ipfw)

A compilacao estatica proporciona uma melhor performance e permite que se adici-


one opcoes mais detalhadas de configuracao, como por exemplo, a geracao e limi-
tacao de logs.

ACIONANDO O FIREWALL NA INICIALIZACAO

{/etc/[Link]}
firewall_enable="YES"
firewall_type="OPEN"
firewall_script="/etc/[Link]" #conjunto de regras customizado.
#este arquivo sera carregado sempre que o firewall
#for iniciado.

SINTAXE DE REGRAS BASICAS DO IPFW

- qualquer regra pode ser adicionada pelo console, com o comando ipfw.
- as regras sao obedecidas de cima para baixo.
- a ultima regra sempre define a politica padrao do firewall.

<comando> [<nr regra>] <acao> <protocolo> from <origem> to <destino>

comando: add, delete


nr regra: 0 a 65535
acao: allow (pass,permit,accept) e deny (drop)
protocolo: proto que se deseja que a regra combine (/etc/protocols) - "ip" ou
"all" englobam todos os protocolos.
origem e destino: pode ser um endereco ip, endereco de rede com mascara e portas
se o proto for tcp ou udp.

a) listar regras ativas

ipfw list
ipfw -t list (mostra a data e hora que um pacote coincidiu com uma regra)
ipfw -a list
ipfw show (lista o nr de vezes que um pacote passou (ou foi bloqueado) por
uma regra, e o numero de bytes que esse trafego gerou)
b) adicionar uma regra
ipfw add 100 allow tcp from any to any
ipfw add 200 deny all from [Link] to any
ipfw add 300 deny icmp from any to any
ipfw add 400 allow all from [Link]/24 to any
ipfw add 500 deny all from any to [Link]:[Link]
ipfw add 600 allow tcp from any to [Link] 21,22,23
ipfw add 700 deny udp from any to [Link] 1024-1028

c) apagar uma regra


ipfw del 400

d) limpar todas as regras


ipfw flush
ipfw -f flush (nao pede confirmacao)

UM ARQUIVO DE REGRAS BASICO - /etc/[Link]

|--------------------------------------------------------|
| |
| #!/bin/sh |
| |
| fw="/sbin/ipfw" |
| #controle para a rede lo0 |
| $fw add allow ip from any to any via lo0 |
| $fw add deny ip from [Link]/8 to any |
| $fw add deny ip from any to [Link]/8 |
| |
| $fw add allow ip from any to any |
| |
| |
| |
|--------------------------------------------------------|

#### CONTROLE DE BANDA ####

Para se implementar controle de banda e preciso o uso do dummynet. E necessario,


entao, adicionar uma opcao ao kernel:

options DUMMYNET

Depois de compilado o kernel o administrador podera especificar a criacao de


tuneis ("pipes") para controle de trafego.

Criacao de tuneis -------> comando "pipe <pipe #>" no ipfw

Exemplo:

pipe 10 config bw 100Kbit/s

O pipe e apenas mais uma acao para o ipfw, assim como add e delete, portanto
antes de cada comando e feita uma chamada ao ipfw.
O tunel criado anteriormente vai limitar o fluxo de informacoes para uma
velocidade maxima de 100 kilobits por segundo.

Medidas de velocidade de trafego pode ser indicada por: bit/s, Byte/s, Kbit/s,
kbyte/s, Mbit/s, Mbyte/s.

Filas de Tuneis

A necessidade seguinte e definir o tamanho das filas dos tuneis gerados.

As filas sao utilizadas pelos tuneis para forcar as limitacoes e atrasos de


banda. Seu tamanho e geralmente configurado em "Kbytes", mas tambem pode ser
definido em slots.

1 slot equivale a 1 pacote. Se a MTU das interfaces de rede e de 1500 bytes,


quer dizer que o tamanho maximo de um pacote sera de 1500 bytes.

Por padrao o tamanho de cada fila e de 50 slots.


(50 * 1500 bytes ou 12000 bits = 75 kbytes ou 600 kbits)

Por exemplo, vamos criar um tunel que simule a velocidade maxima de um modem
de 56k.

pipe 10 config bw 56kbit/s

Considerando o tamanho padrao de uma fila seria necessario 11 segundos aproxi-


madamente para a fila ser preenchida. Isso geraria um atraso inaceitavel para
por o trafego em andamento.

Para evitar este tipo de problema e recomendavel ajustar manualmente o tamanho


da fila.

Quanto menor a banda disponivel, menor deve ser a fila.

pipe 10 config bw 56kbit/s queue 5kbytes

O controle de banda pode ser feito por IP de host ou endereco de rede.

Por exemplo: Suponhamos que eu queira limitar a banda do host [Link] para
300 kbps de download e 300 kbps de upload. Vamos supor tambem que
o servidor tenha duas interfaces de rede e a interface da LAN seja
a rl0. As regras ficariam da seguinte forma:

ipfw pipe 100 config bw 300Kbit/s queue 10Kbytes


ipfw pipe 101 config bw 300Kbit/s queue 10Kbytes
ipfw add 100 pipe 100 ip from any to [Link]/32 out via rl0 //lim. download
ipfw add 101 pipe 101 ip from [Link]/32 to any in via rl0 //lim. upload

O controle de banda por rede segue o mesmo padrao so que, nesse caso, sera o
endereco de rede configurado na regra. Se temos por exemplo, uma rede com
endereco [Link]/29 (com seis enderecos de hosts) a configuracao da regra
ficaria assim:

ipfw pipe 100 config bw 500Kbit/s queue 10Kbytes


ipfw pipe 101 config bw 500Kbit/s queue 10Kbytes
ipfw add 100 pipe 100 ip from any to [Link]/29 out via rl0 //lim. download
ipfw add 101 pipe 101 ip from [Link]/29 to any in via rl0 //lim. upload

Se tivessemos todos os 6 hosts dessa rede usando o link ao mesmo tempo, os 500
kbps definidos na regra do ipfw seriam divididos para as seis maquinas.

Você também pode gostar