LiveZilla Live Help
Servidor Linux Iptables configurar firewall « Blog PacHost – Revenda de Hospedagem ilimitada 30 dias gratis
Categoria: Servidores

Servidor Linux Iptables configurar firewall

IPTABLES

O iptables nada mais é que uma interface utilizada para inserir regras de filtragens e modificação de pacotes, pois com base nessas regras o kernel efetua as ações devidas, mas necessariamente o módulo ip_tables.

Como é uma ferramenta em linha de comando, muitos dos iniciantes sentem um certo temor ao aprender, mas não há o que temer. É bem simples, basta ler e entender.

A linha de comando do iptables escrita é como uma ação que você deseja que seja tomada com um determinado pacote, para isso deverá fornecer parâmetros para o kernel identificar que pacote deseja fazer tal ação.

Exemplo:

Desejo que todos pacotes do ip 192.168.0.2 sejam bloqueados.

iptables -t filter -A INPUT -s 192.168.0.2 -j DROP

Entendeu? Não conhece as sintaxes do iptables ainda? Vamos para as básicas:

Tabelas

O parâmetro -t informa qual tabela será usada. Nesse post só tratarei de filter e em outro post NAT.

Filter é a tabela responsável por armazenar as regras para filtragem de pacotes propriamente dita. Bloqueio ou liberação.

Nat é a tabela responsável por armazenara as regras para modificação do pacote. Modificar a porta de destino, origem e afins.

sendo assim se desejar criar uma regra de filtragem apenas coloque -t filter, se for NAT coloque -t nat

Tipo de inserção

Se houver duas regras com ações distintas para o mesmo tipo de pacote? Depende da ordem de inserção.

Para adicionar uma regra há dois tipos de parâmetros que podem ser utilizados:

-A adiciona a regra no final da fila. Assim se houver muitas, essa será a ultima e se houver regra com parâmetro idênticos, essa nem será lida.

-I adiciona a linha onde desejar. Se omitir o local, será sempre adicionada no topo da fila.

Exemplo:

iptables -I INPUT 3 ….

Será adicionada na linha 3 da fila do INPUT.

Chain ou Fila

O nome correto é chain, mas vou chamar de fila para facilitar o entendimento.

Existem três tipo de fila na tabela filter; INPUT, OUTPUT e FORWARD.

INPUT

—> | Interface |

É a fila que é checada para pacotes que acessam o servidor por uma determinada interface.

OUTPUT

| interface | —->

É a fila que é checada para pacotes que saem do servidor por uma determinada interface.

FORWARD

—–|–interface–|—–>

É fila que é checada para pacotes que passam pelo servidor, ou seja, apenas são redirecionados.

Agora vamos a alguns parâmetros de identificação de pacotes.

O parâmetro abaixo determina:

- i interface utilizada

-s ip de origem do pacote

-d ip de destino do pacote

-p protocolo utilizado (tcp,udp,icmp)

Obs: Após o parâmetro -p é possível especificar portas. Tanto de destino, como de origem.

–sport porta de origem

–dport porta de destino

Existem outros parâmetros que podem ser utilizados, para maiores detalhes acesse essa página(Em inglês).

e por fim é necessário informar qual a ação a ser tomada pelo pacote.

Para isso utilizamos o -j

As ações mais usadas na tabela filter são ACCEPT e DROP.

ACCEPT aceita os pacotes que encaixam nos parâmetros especificados no comando e DROP ignora os pacotes, por fim rejeitando, mas com DROP o usuário não receberá retorno informando que está bloqueada, a requisição apenas será ignorada.

Por fim vamos fazer uma regra para assimilar:

iptables -A INPUT -s 192.168.0.10 -i eth1 -p tcp –dport 80 -j DROP

Traduzindo a regra; Todos os pacotes que têm como objetivo o servidor, como ip de origem 192.168.0.10, que acessarem pela interface eth1, utilizando o protocolo tcp, com porta de destino 80 (web) serão ignorados.

Pronto!

Agora vamos a alguns adendos da tabela filter.

o iptables tem alguns regras padrões, que se chamam políticas. Por padrão as políticas são totalmente permissívas. Assim todas elas já estão com a ação ACCEPT.

Para modificar é simples

iptables -P

exemplo:

iptables -P INPUT DROP

Dessa forma qualquer pacote que acessar a fila INPUT e não tiver nenhuma regra específica será aplicada a regra padrão descita na política. Nesse caso ignorar.

Gerenciamento de Servidor