Você está na página 1de 35

Firewall

Conteúdo
• Firewall
• Politicas de Firewall
• Tabelas do Firewall
• Cadeias do Firewall
• Ações
• NAT
• Masquarede e SNAT – Compartilhando Internet
• DNAT – Compartilhando serviços internos
Firewall

• O que é um firewall?

• Firewall é um dispositivo de segurança que tem como

objetivo filtrar o que é ou não permitido ser acessado de

dentro da sua rede ou para dentro da sua rede. Seria como

uma barreira que impõe limites e controla todo tráfego de

dados entre um ou mais computadores e uma rede externa,

onde essa rede externa pode ser a internet, como uma rede

vizinha dentro de um prédio, por exemplo.


Firewall
Politicas de Firewall

Podemos ter dois tipos de políticas:


Default Permit;
Default Deny.
Politica Permit Default

Na política Default Permit é criado um conjunto de


condições, como o acesso a um determinado site,
execução de um software, por exemplo, emule, MSN,
entre outras situações que o administrador deseja
bloquear.
Depois de criada todas as condições, será feito o
bloqueio das mesmas e os sites, softwares, entre
outros serão liberados. Essa política se chama Default
Permit, pois o que não estiver contido nas condições
preestabelecidas terá o acesso permitido, ou seja,
acesso por padrão.
.
Politica Deny Default

Já no caso do Defaul Deny é definido um conjunto de


condições para protocolos e hosts que poderão
passar pelo firewall. Se qualquer outro protocolo ou
host não estiver especificado será bloqueado.
Firewall RouterOS
O Router OS possuiu um statefull firewall, que significa
que realiza a inspeção de do estado do pacote e
mantem o controle de estado das conexões de rede
que passam por ele. Ele também suporta Source e
Destionation NAT (Network Address Translation),
auxiliares NAT para aplicativos populares e UPnP .
Tabelas

O Firewall do RouterOS trabalha com Tabelas (Tables)


que tem funções especificas no Firewall, além de
agrupar as regras em Cadeias (Chains) que definem
o Fluxo da regra.
Em termos de tabelas, temos três tabelas:
Filter
Nat
Mangle
.
Tabela Filter
A tabela Filter, é reponsável por filtrar os pacotes
propriamente dito. Vejo abaixo alguns dos recursos
disponíveis nessa tabela.
Através da tabela filter podemos acessar diversos
recursos, tais como:
Inspeção de pacotes com Status
Detecção de protocolos Layer 7.
Filtragem de protocolos pear-to-pear.
Classificação de trafego por:
Endereço MAC de Origem
Endereços IP (rede ou lista) e tipos de endereços
(Broadcast, Multicast, Unicast, Local)
Tabela Filter
Porta ou Range de Porta
Protocolo IP
Opções de Protocolo (Tipos e códigos ICMP, Flags TCP,
Opções de IP e MSS).
Determinar Interface de Entrada ou Saída.
Marcação de Pacotes e Fluxo de Conexão
Byte DCSP
Conteúdo de pacote
Tamanho de pacote
Taxa de chegadas de pacotes e sequencia de números
Hora de chegada do pacote
E muito mais!
.
Jump

É nesta tabela que fazemos os Bloqueios, Rejeições ou


Aceitações. Na realidade estou adiantando os
estados das regras de firewall, quando falamos da
tabela Filter estamos falando de Bloqueios e
Liberações, através das ações (Jump) ACCEPT,
REJECT e DROP.
.
Cadeias (Chains) da Filter
Mas antes mesmo de falarmos de ações, havia dito anteriormente que as
tabelas possuem cadeias (Chains) que definem o fluxo, como por
exemplo fluxo de entrada, saída e etc.
Na Tabela Filter temos três Cadeias diferentes, que são:
INPUT: Todos pacotes que estão entrando no Firewall, que seja destinado
ao próprio firewall, é filtrado nessa cadeia. Por exemplo, acessar via
Winbox, Telnet ou Http o próprio RouterOS é definida nesta Cadeia.
OUTPUT: Todos pacotes que estão saindo do Firewall, que sejam de
origem do próprio firewall, é filtrado nessa cadeia. Por exemplo o
RouterOS sincronizar o relógio usando NTP é um pacote que está saindo.
FORWARD: Todos os pacotes que passam pelo firewall, cujo destino
ou origem não sejam o Firewall, são filtrados nesta cadeia. Nesta tabela
é que permitimos por exemplo acesso de clientes a internet
(Compartilhamento) ou entrada dos clientes de internet para acesso
em algum servidor interno como por exemplo um Terminal Service, ou
ainda uma DMZ.
Tabela Filter

Resumindo tudo isso que foi dito, é nesta tabela que faremos nossas regras
de firewall para Liberação e Bloqueio de pacotes, lembrando que por
padrão, todos pacotes são aceitos.
Tabela NAT

O NAT (Network Address Translation) é um padrão de


internet que permite que os hosts em redes locais
usem um conjunto de endereços IP para
comunicação interna e outros conjuntos de
endereços IP para comunicação externas. O NAT
consiste em reescrever os endereços IPs de origem ou
destino, dependendo da operação NAT utilizada.
Tipos de NAT

Existem dois tipos de NAT. Veja abaixo:


Source NAT ou srcnat: Este tipo de NAT é realizado em pacotes que
são originados em uma rede interna (com IP privado) podendo
ser a LAN, DMZ, Wireless, etc. O roteador substitui o endereço
privado de origem por um IP público, quando esse passa pelo
roteador.
Destination NAT ou dstnat: Este tipo de NAT é realizado em pacotes
destinados a rede interna a partir de outra rede ou Internet. É
muito comum ser usado quando determinados hosts da rede
privada devem ser acessíveis da Internet. Um roteador NAT
executando dstnat substitui o endereço IP de destino de um
pacote para um endereço privado, que responderá a
solicitação.
Cadeias da Tabela NAT
A tabela NAT possui algumas cadeias (chains) também, que são:
PREROUTING: Todos pacotes passam por esse Chain, seja
destinadas ao próprio router ou somente passando pelo router. E
nessa cadeia que haverá o processo de roteamento, que
decidirá se o pacote será enviando para o próprio RouterOS, ou
simplesmente serão encaminhados para fora (como cliente
acessando internet).
OUTPUT: Pacotes saindo com endereços alterados
passam por essa cadeia, por exemplo para redirecionamento
de porta para o próprio RouterOS, como redirecionar a porta 80
para 3128 do proxy.
POSTROUTING: Pacotes saindo do RoutersOS, sejam de
processamento local do próprio Router (Acesso do RouterOS a
um servidor externo, ou resposta de uma solicitação ao próprio
RouterOS como Winbox), ou pacotes encaminhados pelo
RouterOS, como clientes acessando a Internet, ou a Internet
acessando um servidor interno na LAN.
Tabela Mangle

A tabela Mangle é responsável por marcar os pacotes para que


seja processado futuramente baseado nesta marca. Esta marca
pode ser usada para roteamento, Traffic Shaper, QOS entre
outros.
Além da marcação de pacote, ele pode alterar o campo TOS
(DSCP) do datagrama IP para aumentar a prioridade do pacote
em relação ao processamento em fila, e também pode alterar o
campo TTL do datagrama IP.
Ele pode atuar em qualquer Cadeia (Chain) que vimos antes:
PREROUTING, INPUT, FORWARD, OUTPUT e POSTROUTING. Mas é
muito comum usarmos no PREROUTING para que sua marca seja
usada antes do roteamento, mas pode ser usada em outras,
normalmente INPUT ou FORWARD.
Tabelas e Cadeia do Firewall
Criando uma regra de Firewall

A criação da regra de firewall segue o mesmo padrão para todas


tabelas, obviamente com fins diferentes. Veremos a criação de
uma regra genérica, e depois abordaremos casos específicos
para cada tabela.
Para criamos uma regra devemos acessar o menu IP >Firewall, uma
janela Firewall será aberta.
Criando uma regra de Firewall
Permitir Entrada de Pacotes

Bem, normalmente não utilizamos muito o INPUT e OUTPUT, e nos


atemos mais as regras de FORWARD que são de
encaminhamento de nossos NATs, mas para um exemplo
simples, iremos criar uma regra para permitir acesso de nosso
Router ao protocolo HTTP, na realidade, essas regras já são
embutidas, por possuir serviços WEB no nosso router. Mas como é
ilustração, vamos lá.
Trabalhando com NAT

Neste primeiro momento veremos como compartilhar a internet e


também como compartilhar um aplicativo de nossa rede (por
exemplo terminal service) para Internet.
Vamos imaginar então nossa rede privada como 192.168.1.0/24,
nosso ip público 200.0.0.1
Compartilhando a Internet
Para podermos compartilhar a internet iremos no menu IP > Firewall
> Nat, na nova guia NAT Rule, escolheremos srcnat para a
Cadeia (chain), em Src. Address, colocaremos nosso endereço
de rede da LAN, que neste caso 192.168.1.0/24, em interface de
saída, selecionaremos nossa interface WAN, que corresponde ao
endereço ip 200.0.0.1, que neste caso é ether1 e por fim na guia
Action, selecionaremos masquerade.
Compartilhando a Internet
Compartilhando a Internet
usando SNAT
O compartilhamento SNAT é basicamente a mesma coisa. A
grande diferença é na Action, que ao invés de usarmos
masquerade, iremos usar src-nat, e também deveremos informar
em To address, o endereço IP de nossa WAN, cujo será o
endereço que sobrescreverá as informações de
endereçamento IP de origem de nossa rede interna.
Destination NAT (DNAT)
O DNAT, similar ao SNAT, é responsável por trocar os endereços de
destino dos pacotes (destination nat). É muito usado para
acesso a aplicações internas ou até balanceamento de carga
de servidores.
Normalmente, as solicitações vêm do meio externo (Ip público)
para o firewall, então o firewall, antes de rotear para o destino
final, altera as informações do endereço de destino.
Todas as informações do SNAT são válidas ainda para o DNAT,
como portas, endereços de origem e destino, protocolos,
interfaces, etc.
Mas a chain utilizada pelo DNAT é de pré-roteamento, ou seja,
PREROUTING. Lembre-se de que o roteamento ocorre em dois
momentos distintos, quando os pacotes estão entrando no
kernel e quando estão saindo do kernel.
Destination NAT (DNAT)

Então, se estamos utilizando SNAT e MASQUERADE, usamos


POSTROUTING (src-nat). No caso do DNAT, utilizamos
PREROUTING(dst-nat).
No Source NAT, descrevemos o processo de remover o endereço IP
privado de um pacote e substituí-lo pelo endereço IP público do
roteador. O Destination NAT opera da mesma maneira, mas em
vez disso as regras estão localizadas na cadeia "dstnat" e o
comportamento é retirar o endereço IP de destino do pacote e
substituí-lo por um novo. A função também pode ser executada
para a porta de destino também, conhecido como Port Foward.
Usando DNAT para um Servidor
WEB

Neste nosso exemplo vamos imaginar que temos um Servidor WEB


em nossa rede Interna. Não que seja os melhores dos mundos,
nesse caso sugiro uma DMZ, veremos a frente como montar uma
DMZ.
A ideia é que solicitações vindas da WEB para nosso RouterOS com
destino a porta 80, sejam enviadas para um servidor interno, que
poderá ser por exemplo o 192.168.1.254.
Usando DNAT para um Servidor
WEB
Vamos a criação das regras. Vá em IP > Firewall > NAT e clique
para adicionar uma nova regra. Em chain selecione dstnat.
Normalmente temos que informar algo relacionado a interface
da WAN, seja a própria interface de destino, ou o endereço IP,
ambas funcionam, ficando a critério do administrador qual usar.
Mas é meio que obrigatório para o firewall não se confundir com
quais pacotes devem sofrer DNAT.
Usando DNAT para um Servidor
WEB
Multiplos DNAT para o mesmo
serviço
Vamos imaginar uma segunda situação. Em nossa LAN existem dois
Servidores de Acesso Remoto Microsoft, conhecido como
Terminal Service, que atuam em nossa rede usando protocolo
RCP com porta TCP 3389.
Internamente não há problema, pois basta apontar para o IP
interno, que a sessão será aberta. Mas como faríamos para
acessar de fora da rede interna esses dois servidores, tendo em
vista que podemos usar a porta 3389 uma única vez em nossas
regras de DNAT.
.
Multiplos DNAT para o mesmo
serviço
Bom podemos mudar as portas de entrada para então pós DNAT
redirecionamos para porta correta. Veja abaixo como seria.:

200.0.0.1:3389 -> 192.168.1.254:3389


200.0.0.1:3390 -> 192.168.1.21:3389

Como podemos ver acima, a primeira conexão está OK, não


houve nada de diferente, ou seja, a conexão chega na WAN
com destino a porta 3389, e sofre NAT para o endereço IP
interno 192.168.1.254 na mesma Porta. .
Multiplos DNAT para o mesmo
serviço
Já a segunda regra é que difere. Temos uma porta diferenciada,
que é a 3390, quando o pacote chegar na WAN nessa porta,
sofrerá NAT para 192.168.1.21 só que a porta será alterada para
3389, desta forma não será necessário alterar nada em nosso
servidor.

Você também pode gostar