
RESUMO IPTABLES
Olá pessoal irei fazer um pequeno resumo a respeito do IPTBLES, o front-end para Netfilter( módulo do kernel Linux, no qual implementa o firewall). Esta é a primeira parte do resumo, em breve trarei a segunda parte. Abraços e bons estudos!
*FIREWALL FILTRO DE PACOTES
*FIREWALL NAT
*FIREWALL MANGLE
*iptables-save* = salva dados das regras que estão na memória RAM em determinado arquivo informado pelo administrador. Ex: Quando se liga o PC e se adiciona as regras via linha de comando e após a reiniciação do PC, todas as regras são apagadas. Com o comando citado temos um salvamento automático das regras que foram digitadas e armazenadas em RAM para um arquivo especificado pelo administrador.
Ex: iptables-save > /home/marcos/regras_firewall.txt
*iptables-restore* = habilita as regras que foram salvas com o "iptables-save" para a memória RAM
*iptables* = Aplicativo principal do pacote iptables para protocolos ipv4
*ip6tables* = Aplicativo principal do pacote iptables para protocolos ipv6
iptables -A = ADICIONAR REGRA
iptables -D = REMOVER REGRA
INPUT = PACOTES QUE ENTRAM NA INTERFACE ETHERNET
OUPUT = PACOTES QUE SAEM DA INTERFACE ETHERNET
FORWARD = ENCAMINHA PACOTES
-i = INTERFACE
-lo = LOOPBACK
-j = TARGET -> AlVO( ACCEPT, FORWARD ou DROP)
-t = TABELA
TABELA NAT:
* PREROUTING : Utilizado quando há necessidade de se fazer alterações em pacotes antes que os mesmo sejam roteados
*OUTPUT: Trata os pacotes emitidos pelo firewall
*POSROUTING: Utilizado quando há a necesside de se fazer alterações em pacotes após o tratamento de roteamento.
IMPORTANTE: O iptables nada mais é do que um front-end do Netfilter( o firewall do linux a nível de kernel).
Veja abaixo o histórico de front-ends de firewall para linux:
KERNEL 2.0 - IPFWADM
KERNEL 2.2 - IPCHAINS
KERNEL 2.4/2.6 - IPTABLES
iptables -t filter -> Insere uma regra utilizando a tabela Filter ( PADRÃO )
iptables -t nat -> Insere uma regra utilizando a tabela NAT
iptables -t mangle -> Insere uma regra utilizando a tabela Mangle
Sintaxe para utilização do firewall: iptables [tabela] [comando] [ação]
[Comandos]
-A -> Adiciona regra ao final da lista.
Ex: iptables -A FORWARD
-D -> Deleta regra.
Ex: iptables -D INPUT
-L -> Lista regras.
Ex1: iptables -L # Lista todas as regrs
Ex2: iptables -L FORWARD # Listagem específica para a chain FORWARD
-P -> Altera a política das CHAINS( situações), o padrão é sempre ACCEPT.
CHAINS disponíveis: ACCEPT, FORWARD e DROP.
Ex: iptables -P INPUT DROP
-F -> Remove todas as entradas adicionadas a lista de regras sem alterar a política padrão( - P ) .
Ex:1: iptables -F # Remove todas as regras
Ex2: iptables -F OUTPUT # Remove todas as regras referentes a OUTPUT chain
-I -> Insere uma regra ao início da lista.
Ex: iptables -I OUTPUT
-R -> Substitui uma regra já adicionada por outra.
Ex: iptables -R FORWARD 2 -s 10.0.1.1 -d 10.0.2.0/8 -j DROP
#Substitui a segunda regra referente a FORWARD chain pela seguinte: "-s 10.0.1.1 -d 10.0.2.0/8 -j DROP"
-N -> Permite inserir/criar uma nova CHAIN a tabela especificada
Ex: iptables -t filter -N internet
-E -> Renomeia o nome de uma nova chain ( criada por você )
Ex: iptables -E acesso_web acesso_intranet
# Troquei o nome da chain já criada, de acesso_web para acesso_intranet .
-X -> Apaga uma chain criado pelo adminstrador do firewall
Ex: iptables -X acesso_intranet
[Ação]
-p -> Protocolo
Exs: -p icmp, -p tcp, -p udp
-i -> Interface de Entrada( input )
Exs: -i eth0, -i eth1, -i lo
-o -> Interface de Saída ( output )
Exs: -o eth1, -o eth2
-s -> Especifica a origem do pacote ao qual a regra deve ser aplicada
Ex1: -s 10.0.1.0/255.0.0.o
Ex2: -s www.orkut.com.br
-d -> Especifica o destino do pacote ao qual a regra deve ser aplicada
Ex: -d www.receita.fazenda.gov.br
! -> Utilizado como elemento de exceção. Utilizado juntamente com as ações -s, -d, -p, -i, -o, etc.
Ex1: -p ! icmp
Refere-se a todos os protocolos possíveis com excessão do ICMP.
Ex2: -s ! 10.0.1.0
Refere-se a todos os endereços possíveis com excessão do endereço 10.0.1.0
-j -> Define o alvo(target) do pacote caso o mesmo se encaixe a uma regra. As principais ações são ACCEPT, DROP, REJECT e LOG.
-sport -> Porta de origem( source port) do pacote. Apenas para os protocolos TCP e UDP.
Ex: -p tcp -sport 80
Refere-se ao TCP na porta 80 ( HTTP)
-dport -> Porta de destino( destination port) do pacote. Apenas para os protocolos TCP e UDP.
Ex: -p tcp -dport 23
Refere-se ao TCP na porta 23 ( TELNET)
[TARGETS - ALVOS]
ACCEPT - Permite a passagem do pacote
DROP - Nega a passagem do pacote (descarta o pacote) e não avisa ao emissor sobre a negação.
REJECT - Nega a passagem do pacote (descarta o pacote) e avisa ao emissor sobre a negação, gerando assim uma mensagem de erro.
LOG - Cria uma entrada de log em /var/log/messages sobre a utilização dos demais alvos(targets). É recomendado colocar esta opção antes dos demais alvos.
RETURN - Retorna o processamento do chain anterior sem processar o resto do chain atual.
SNAT - Altera o endereço de origem das máquinas clientes antes dos pacotes serem roteados.
Ex: Host A quer enviar um pacote para Host B, então o pacote deve ser enviado de A para B através de um Host C.
DNAT - Altera o endereço de destino das máquinas clientes. Pode por exemplo , receber um certo pacote destinado a porta 80 do host A e encaminhá-lo por conta própria a porta 3128 do host B. Isso é o que chamamos de Proxy Transparent, um encaminhamento dos pacotes dos clientes sem que os mesmo possuam a opção de escolher ou não tal roteamento.
REDIRECT - Realiza o redirecionamento de portas em conjunto com a opção --to-port
TOS - Tipo de serviço ou Type of Service. Determina a prioridade de entrada/saída de um pacote levando-se em conta o tipo de serviço( TOS - Disponível no cabeçalho IPV4)
2 comentários:
Ae, me ajudou no projeto.
Muito bom, valeu Marcos.
Valeu Jeanderson, eu também agradeço eternamente todo seu empenho no projeto no qual fui beneficiado também. Espero em breve poder atualizar o blog quando tiver um tempo extra. Abraços.
Postar um comentário