Usamos cookies para garantir a melhor experiência de utilização no Pplware.com - Saiba mais sobre os nossos cookies
Ok

Firewall no Linux? O IPtables é a solução! (Parte I)

Todos nós temos a noção que é importante dispormos de mecanismos de segurança nos nossos PC’s. Para quem é utilizador do Linux certamente que já ouviu falar do iptables (firewall)…..mas provavelmente nunca o usou devido à sua complexidade. O iptables é uma ferramenta bastante poderosa por si só, que vem por omissão nas distribuições Linux.

No sentido de desmistificar o iptables, vamos produzir alguns artigos, com alguns exemplos práticos.

tuxfw

O IPtables é um mecanismo de segurança que permite controlar tráfego IP ao nível dos pacotes (layer 3). De uma forma geral, com o iptables podemos definir uma sequência de regras que permitem ou bloqueiam determinados serviços/aplicações. Os serviços/aplicações usam normalmente o protocolo UDP ou TCP.

Protocolo TCP, UDP e ICMP

TCP

O TCP é o protocolo mais usado isto porque fornece garantia na entrega de todos os pacotes entre um PC emissor e um PC receptor. No estabelecimento de ligação entre emissor e receptor existe um “pré-acordo” denominado de Three Way Handshake (SYN, SYN-ACK, ACK).

UDP

O UDP é um protocolo mais simples e por si só não fornece garantia na entrega dos pacotes. No entanto, esse processo de garantia de dados pode ser simplesmente realizado pela aplicação em si (que usa o protocolo UDP) e não pelo protocolo. Basicamente, usando UDP, uma máquina emissor envia uma determinada informação e a máquina receptor recebe essa informação, não existindo qualquer confirmação dos pacotes recebidos. Se um pacote se perder não existe normalmente solicitação de reenvio, simplesmente não existe.

Além do TCP e UDP, o IPTables pode também controlar comunicações que usem o protocolo ICMP, utilizado normalmente para testar a conectividade.

NetFilter vs IPTables

Para que o IPTables funcione correctamente, é necessário que que se activem mecanismos no próprio kernel, que permitem avaliar, controlar e manipular  tráfego ao nível dos pacotes. O IPtables é a aplicação usada para criar e gerir as regras que iremos usar para filtrar os pacotes com base nos mais diversos critérios.

Funcionamento do NetFilter

Como referido, os pacotes são filtrados com base num conjunto sequencial de regras (cadeia), onde cada regra contem um conjunto de condições. A sequência com que a cadeia de regras é criadas é muito importante, uma vez que são processadas pela ordem com que foram criadas até que uma delas se aplique. Quando uma regra é aplicada, esta indica se uma determinada comunicação é permitida, negada ou alterada de acordo com uma acção previamente definida). Por exemplo, podemos bloquear todo o tráfego vindo de uma determinada rede.

iptables_00

Quando os pacotes não encaixam em nenhum dos critérios das regras definidas, é aplicada a politica implícita dessa cadeia de regras, podendo o tráfego ser aceite ou rejeitado.

As cadeias são agrupadas em 3 tabelas pré-definidas:

  • Filter – responsável pela filtragem de pacotes
  • Nat – permite a tradução de endereços e portos (mecanismo de NAT)
  • Mangle – permite a alteração especial nos pacotes
  • Raw – para configurar excepções relativamente  ao registo de sessões

No próximo tutorial vamos apresentar as chains (cadeias predefinidas) disponíveis na tabela filter e Nat  e exemplos de aplicação. Esperamos que tenham gostado deste primeiro artigo sobre este tema e como sempre esperamos o vosso feedback.



  •   
  •   
  •  
  • Pin It  
  • Imprima este artigo
  • Post2PDF


18 Comentários

  1. Existe alguma maneira de ser avisado, quando sairem as outras partes? obrigado

  2. Boas, muito bom tema, fico a espera de mais.
    Já agora conhecem algum pacote para fazer a gestão das regras do iptables sem ser o fwbuilder.
    cumprimentos e continuem o bom trabalho :D

    • Pode dar uma olhada no UFW e no GUFW (modo gráfico).
      O UFW foi o único frontend pro IPTABLES que ainda gostei de utilizar. Pessoalmente prefiro utiliza-lo sem «intermediários».

  3. Bom dia ,

    Excelente tutorial , aguardo pela segunda parte , já uma vez tentei configurar sem sucesso , a cerca de 3 anos atrás e dei-me muito mal , aguardo pela segunda parte do tutorial .

    Cumprimentos

    Serva

    • José Maria Oliveira Simões

      A primeira coisa que tem que observar é:

      Deixar passar passar todo o trafico dentro da própria maquina

      127.0.0.1 127.0.0.1

      lo = 127.0.0.1

      Se não, vai bloquear os processos dentro da própria maquina. Se bloquear, a maquina deixa inclusivamente de enviar ou receber coisas da consola de sistema. A maquina, pura e simplesmente, pára por ter ficado bloqueada.

      No mínimo dos mínimos tem que ter estas duas linhas de instruções no iptables

      /sbin/iptables -A INPUT -i lo -j ACCEPT
      /sbin/iptables -A OUTPUT -j ACCEPT -o lo

  4. Já trabalho com Iptables, mas é sempre bom saber mais….
    Abraço e parabéns o site esta sempre melhorando.
    :-)

  5. Vai ser muito bom :)

    Não costumo usar directamente o iptaqbles, mas vai ser bom aprender/recordar.

  6. Mais simples e melhor não há! Boa iniciativa!

    cumps!

  7. E porque não usar o Firestarter e depois implementar regras

    Quantum

  8. Excelente artigo e um óptimo tópico, mais um a não perder…
    Obrigado Pedro

  9. Boa tarde.
    Eu costumo usar a firewall CSF , acho que é muito mais simples de configurar.

  10. Bom dia a todos,

    Já tive a oportunidade de configurar o iptables, mas a minha maior preocupação é como verificar que está tudo ok, porque uma coisa é verificar numa rede interna outra será redes com gamas de ip dispares.

    Se alguém tiver alguma ideia de como verificar… estão à vontade ;)

    Um abraço a todos e votos de um óptimo fim de semana… cheio de SOL!

    • José Maria Oliveira Simões

      A verificação numa rede interna não é muito diferente numa rede externa.
      Na pratica, o primeiro teste que se efetua é ping à maquina ou as maquinas que pretendemos efetuar os testes. Depois é feito um telnet à porta que se quer testar. Exemplo, telnet 80, testa a porta 80. Depois, há de obter ou não, uma resposta. Isso, agora depende, das configurações que efetuou. Veja, também no lg do iptables. Debaixo da directoria /var/log/ vai lá estar em principio o log.

  11. Teus textos são muito interessantes e elucidativos, aprendi e venho aprendendo muito com tuas postagens.
    Sucesso!!

Deixe o seu comentário

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste site reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.