PplWare Mobile

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

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. antonio says:

    Não percebi nada, mas vou acompanhar para tentar perceber . Obrigado pela vossa existência.

  2. Vanessa Madeira says:

    Gostei deste artigo sobre o Iptables, foi algo como uma introdução.

    Mas seria bom demonstrar alguns exemplos e mais comandos. Demonstrar casos específicos.

    Relativamente ao tema abordado, sei apenas o básico, aquilo que me foi dado a conhecer nas aulas.

  3. Bom artigo para se começar a perceber como o trafego é tratado numa firewall Iptables.
    Gostava de vissem com mais atenção o DROP/Reject visto que existem diferenças entre ambos.

    Cumprimentos e Larguras

  4. Rui says:

    Interessante!

    Fico aguardar o 3 artigo com alguns exemplos, por exemplo bloquear todas as portas expecto a porta 80 e a 22.

  5. ZéCarlos says:

    Tenho a dizer que estes vossos tutoriais de Iptables são muito bons para se começar a perceber esta solução de segurança que ao início parece complicada. Embora ande a ter uma cadeira na faculdade que abrange este assunto, é sempre bom rever alguns aspectos.
    Continuem com o bom trabalho.

  6. Blizard says:

    É uma ‘ferramenta’ poderosa!

  7. José Maria Oliveira Simões says:

    Aconselho vivamente a que tenham no IPTABLES as seguintes intruções:

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

    Estas instruções fazem com que o computador não fique bloqueado. Depois de terem isto, já se pode começar a “brincar” sem ter um amargo de boca. Mesmo que se cometa algum erro, a maquina continua a funcionar correctamente.

    • Pedro Pinto says:

      Viva José,

      Na prática só estas a dar instruções para a interface loopback que aceita pacotes à entrada e à saida.

      • José Maria Oliveira Simões says:

        Viva Pedro,
        É isso mesmo. 127.0.0.1, lo, loopback . A maioria dos processos (programas), tem que comunicar com outros processos (programas) no IP 127.0.0.1 (dentro da propria maquina) . Se estiver vedado/fechado, o computador vai parar. Inclusivamente, fica-se sem consola de sistema. Nada funciona, tudo pára. Imagine-se uma auto estrada em que fluem automoveis (vamos batizar de IP 127.0.0.1). Se não deixar-mos entrar nem sair os automoveis que circulam no IP 127.0.0.1, vai haver um engarrafamento homerico. Pára tudo. Aqueles que iam para o trabalho, páram. Aqueles que iam paca casa, páram também. Aqueles processos (programas) que esperavam receber os automoveis (pacotes com dados) do IP 127.0.0.1, bem podem ficar à espera sentados. Vão chegar no dia do São Nunca. Bem, pelo menos neste contexto é o que acontece. Tudo parado, paradinho.

  8. Miguel says:

    Este tema é muito interessante, parabens pela iniciativa.

    Só uma nota: a diferença entre o REJECT e o DROP é que o REJECT permite notificar o emissor, por exemplo:

    iptables -A INPUT -p tcp –dport 23 -j REJECT –reject-with tcp-reset

  9. Alo says:

    E que tal usarem shorewall? Iptables tem algumas limitações em máquinas com pouca memória.

  10. Serva says:

    Bom dia ,

    Até o Pedro Pinto começar com o primeiro tutorial eu não estava a usar o iptables , e porquê , porque no meu inicio da aventura com o Linux dei-me mal , acabei por configurar tudo mal e bloqueie a maquina , desde aí que tinha quase um pavor de me meter a configurar esta potentissima ferramenta .

    Com o primeiro tutorial decidi que era tempo de voltar a experimentar em uma das minhas maquinas de testes (agora já tenho duas) e voltei a encontrar a complexidade e dúvidas que sempre me assombraram , só que desta vez vou fazendo aos poucos e depois tentando verificar se cometi algum erro ou não , com este tutorial já fica explicado uma parte muito importante da configuração tinha sempre dúvidas de qual a opção a tomar .

    Pedro excelente artigo e conseguiste que eu perdesse o medo de me aventurar .

    Cumprimentos

    Serva

  11. Apaxe says:

    Pedro,

    REJECT: Rejeita o pacote sem notificar o emissor

    Não será antes:

    REJECT: Rejeita o pacote com notificação do emissor

    Cumprimentos

  12. manuel says:

    Muito bom mesmo!

    Vou esperar pelo próximo.

  13. BalmerGenio says:

    Ainda bem utilizo o windows, ainda dizem que linux é fácil.

  14. Paulo says:

    Boas,

    Novamente queiram desculpar se digo alguma alarvidade, mas no meu sistema uso a Firestarter…Estava com a ideia que não sendo uma firewall por si, funcionava configurando as ip tables que confesso são qs caracteres chineses par mim.
    Será que estou minimamente seguro?

    Hasta siempre.

  15. Alexandre says:

    Espero não estar a adiantar o final do artigo. Mas deixo aqui um script funcional bem simples para que quiser começar a brincar com o IPTABLES (não está bem comentado):

    #!/bin/bash

    IPT=”/usr/sbin/iptables”
    #IPTS=”/usr/sbin/iptables-save”
    #IPTR=”/usr/sbin/iptables-restore”

    echo “Starting IPv4 firewall…”

    $IPT -F
    $IPT -X
    $IPT -Z

    $IPT -N TCP
    $IPT -N UDP

    $IPT -P INPUT DROP
    $IPT -P OUTPUT ACCEPT
    $IPT -P FORWARD DROP

    $IPT -A INPUT -i lo -j ACCEPT
    $IPT -A INPUT -m state –state INVALID -j DROP
    $IPT -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A INPUT -p icmp -m icmp –icmp-type 8 -m state –state NEW -j ACCEPT
    $IPT -A INPUT -p udp -m state –state NEW -j UDP
    $IPT -A INPUT -p tcp –tcp-flags FIN,SYN,RST,ACK SYN -m state –state NEW -j TCP
    $IPT -A INPUT -p udp -j REJECT –reject-with icmp-port-unreach
    $IPT -A INPUT -p tcp -j REJECT –reject-with tcp-rst
    $IPT -A INPUT -j REJECT –reject-with icmp-proto-unreach

    $IPT -A OUTPUT -p icmp -m state –state INVALID -j DROP

    # Portas TCP a abrir.
    $IPT -A TCP -p tcp –dport PORTA -j ACCEPT

    # Portas UDP a abrir.
    $IPT -A UDP -p udp –dport PORTA -j ACCEPT

    ATENÇÃO!!!
    As variáveis são relativas as utiliadas no Arch Linux, em outras distros podem estar em:

    /sbin ao invés de /usr/sbin

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

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. A administração deste site reserva-se, desde já, no 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.