RESUMO IPTABLES
Autor: Marcos César | Publicado: 2009-06-17T21:34:00-03:00

RESUMO IPTABLESOlá 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 ipv6iptables -A = ADICIONAR REGRAiptables -D = REMOVER REGRAINPUT = PACOTES QUE ENTRAM NA INTERFACE ETHERNETOUPUT = PACOTES QUE SAEM DA INTERFACE ETHERNETFORWARD = ENCAMINHA PACOTES-i = INTERFACE-lo = LOOPBACK-j = TARGET -> AlVO( ACCEPT, FORWARD ou DROP)-t = TABELATABELA 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 - IPFWADMKERNEL 2.2 - IPCHAINSKERNEL 2.4/2.6 - IPTABLESiptables -t filter -> Insere uma regra utilizando a tabela Filter ( PADRÃO )iptables -t nat -> Insere uma regra utilizando a tabela NATiptables -t mangle -> Insere uma regra utilizando a tabela MangleSintaxe 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 regrsEx2: 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 regrasEx2:  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 especificadaEx:  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 firewallEx: iptables -X acesso_intranet[Ação]-p -> ProtocoloExs: -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 aplicadaEx1: -s 10.0.1.0/255.0.0.oEx2: -s www.orkut.com.br-d -> Especifica o destino do pacote ao qual a regra deve ser aplicadaEx: -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 ! icmpRefere-se a todos os protocolos possíveis com excessão do ICMP.Ex2: -s ! 10.0.1.0Refere-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 80Refere-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 23Refere-se ao TCP na porta 23 ( TELNET)[TARGETS - ALVOS]ACCEPT - Permite a passagem do pacoteDROP - 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-portTOS - 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)