Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Pessoal, estou fazendo no meu TCC uma interface em Java Servelet Page para gerenciar o iptables. Detalhe que não utilizarei proxy, somente o iptables para o foco do TCC.
    A ideia desse tema foi do meu professor cujo orientador, eu dominando JAVA e ele me passando as regras do iptables.
    Mas percebi que meu orientador não manja nada de iptables e isso está me atrasando e me fazendo entrar em desespero (pausa para dramaticidade, rs). Eu tenho uma pequena noção de iptables e gostaria de uma ajuda na construção dessa.
    Se eu pegar no google umas regras eu coloco pra funcionar, mas não é isso que eu quero. Quero destrinchar as regras e ir adicionando aos poucos.
    Gostaria muito a ajuda de vocês e que com certeza quando eu for publicar irei colocar agradecimento ao fórun do under-linux.
    Hoje que eu tenho é muito pouco e nem sei se é desse jeito que faz mesmo, mas tá funcionando.
    Fiz NAT com apenas uma máquina da rede interna tendo acesso a porta 80. Então na interface criada em JAVA coloco o IP e a porta liberada para dar acesso a navegação.
    Desculpa aí de ter escrito muito, mas foi pra deixar tudo bem explicadinho.
    Segue a regra:

    #!/bin/bash
    ## VARIAVEIS ##
    iptables=/sbin/iptables
    start() {..
    ...
    ... resumindo parte inicial que limpa as regras etc etc
    ...
    echo "1" > /proc/sys/net/ipv4/ip_forward
    # Conexao interna
    $iptables -A INPUT -p tcp --syn -s 80.80.80.0/255.255.255.0 -j ACCEPT
    $iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    #$iptables -A INPUT -m state --state INVALID -j DROP
    #$iptables -A INPUT -m state --state NEW -j DROP

    $iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
    $iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    $iptables -A INPUT -i lo -j ACCEPT

    $iptables -A FORWARD -s 80.80.80.25 -p tcp -m tcp --dport 80 -j ACCEPT # Parte que tenho controle na interface.

    $iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    $iptables -A FORWARD -m state --state INVALID -j DROP
    $iptables -A FORWARD -m state --state NEW -j DROP

    #Mascarando rede
    $iptables -t nat -A POSTROUTING -s 80.80.80.0/255.255.255.0 -j MASQUERADE

    $iptables -P INPUT DROP
    $iptables -A FORWARD -j DROP
    #$iptables -P OUTPUT ACCEPT

    echo ""
    echo "Firewall Started: [OK]"
    echo ""
    }


    stop() {....
    ....
    .... resumindo parte final
    esac
    exit 0

  2. Cara, desculpa, pode ser lerdeza minha... mas, qual é exatamente a sua dúvida?? Você quer entender as regras??

    Esse script, ele é gerado a partir dos dados que o usuário passa para o seu programa?

    Interessante o seu TCC! Fiz coisa parecida no meu. Também criei uma interface para o iptables, só que em c/c++ e utilizei a estrutura cliente-servidor. Atualmente estou re-escrevendo-a para Python e Gtk.

    Explica melhor ai que agente te ajuda!
    Até mais...



  3. Isso, o administrador do sistema vai ter acesso via browser a interface de controle do iptables.
    Logando-se no sistema ele tem todo o controle do iptables através de cliques, ex: liberando internet para duas maquinas apenas da rede interna. Então tem um campo onde ele insere o ip a porta e pronto ja gera o script.

    Verdade, não expliquei muito sobre o que eu quero...
    na verdade gostaria mesmo é de um acompanhamento.
    Exemplo... do jeito que o script tá agora somente funciona navegacao na porta 80 de uma maquina interna. Ta certo as regras com a minha intenção? Bom, funcionando está, só não esta entrando o gmail e o orkut não estão entrando dessa maneira. O que mais tenho que liberar pra que entre?
    O que mais posso estar colocando no script? O e-mail, ftp dessa maquina não funciona. Como faço pra liberar no script e se liberar para parar de funcionar é só tirar a regra inserida por estar dropando tudo no final ou tenho que inserir uma regra dropando isso. O que mais eu poderia estar colocando no script? Alguma ideia boa de uma funcionalidade importante?
    O que mais eu poderia estar colocando para um administrador de rede? Isso sem usar o proxy.
    Última edição por N0fxx; 23-09-2008 às 10:42. Razão: melhor explicação

  4. Citação Postado originalmente por N0fxx Ver Post
    Isso, o administrador do sistema vai ter acesso via browser a interface de controle do iptables.
    Logando-se no sistema ele tem todo o controle do iptables através de cliques, ex: liberando internet para duas maquinas apenas da rede interna. Então tem um campo onde ele insere o ip a porta e pronto ja gera o script.

    Verdade, não expliquei muito sobre o que eu quero...
    na verdade gostaria mesmo é de um acompanhamento.
    Exemplo... do jeito que o script tá agora somente funciona navegacao na porta 80 de uma maquina interna. Ta certo as regras com a minha intenção? Bom, funcionando está, só não esta entrando o gmail e o orkut não estão entrando dessa maneira. O que mais tenho que liberar pra que entre?
    O que mais posso estar colocando no script? O e-mail, ftp dessa maquina não funciona. Como faço pra liberar no script e se liberar para parar de funcionar é só tirar a regra inserida por estar dropando tudo no final ou tenho que inserir uma regra dropando isso. O que mais eu poderia estar colocando no script? Alguma ideia boa de uma funcionalidade importante?
    O que mais eu poderia estar colocando para um administrador de rede? Isso sem usar o proxy.
    Seguinte vamos devagar. Gmail, okut e etc não estão entrando muito provavelmente porque eles são https que não utilizam a porta 80 e sim a porta 443.
    Quanto a "se retirar a regra para de funcionar", você pode utilizar a politica padrão de cada chain. para definir a politica padrão de cada chain, utilize a seguinte linha:
    iptables -t nome_da_tabela -P nome_da_chain ACCEPT
    ou
    iptables -t nome_da_tabela -P nome_da_chain DROP

    O iptables funciona da seguinte forma: Ele busca uma regra na chain, caso nenhuma regra 'bata' com o trafego ele utiliza a politica padrão. Dessa forma definindo uma política padrão como DROP, se você terá que criar regras permitindo o tráfego (que é o que você está fazendo).

    Quanto a novas funcionalidade para implementar, dá uma lida nesses links:
    Guia Foca GNU/Linux - Firewall iptables
    Yet Another Linux Blog

    O primeiro é um guia que explica muito bem o funcionamento do iptables. Vai ser muito útil pra você. Ele também dá exemplos de configuração e de funcionalidade do iptables. O seguindo é o blog de um amigo nosso aqui do Unde-Linux, o Zenun. Ele já publicou algumas coisas sobre o iptables que podem te ajudar.

    Quanto a acompanhamento, agente ta aqui. Se precisar é só postar!
    Até mais...



  5. Hum, entendi... liberei essa porta
    Então, tenho essa politica padrao de cada chain em mente,
    tentei dar o acesso de e-mail a uma maquina interna utilizando a esguinte regra:
    $iptables -A FORWARD -s 80.80.80.25 -p tcp -m tcp --dport 25 -j ACCEPT #SMTP
    $iptables -A FORWARD -s 80.80.80.25 -p tcp -m tcp --dport 110 -j ACCEPT #POP
    Mas não funcionou, tentei também utilizando a mesma regra só mudando a porta para dar acesso a FTP porta 21. Também não funcionou. Por que será?

    E outra coisa, é realmente necessário estar utilizando o DROP? Se não tiver a linha de ACCEPT ele vai estar sendo caindo no DROP geral que se tem no final do script, ou estou errado? ou precisa devido alguma outra coisa?
    Última edição por N0fxx; 23-09-2008 às 11:49. Razão: melhor explicação






Tópicos Similares

  1. (Iptables + Squid) Ajuda em Autenticação e Acesso Portas!
    Por matrix3d no fórum Servidores de Rede
    Respostas: 1
    Último Post: 07-11-2005, 19:24
  2. ajuda com topologia de rede + iptables
    Por thiagog no fórum Servidores de Rede
    Respostas: 1
    Último Post: 16-11-2004, 15:45
  3. AJUDA COM IPTABLES
    Por lando no fórum Servidores de Rede
    Respostas: 1
    Último Post: 16-06-2003, 10:46
  4. ajuda com iptables
    Por lando no fórum Servidores de Rede
    Respostas: 2
    Último Post: 06-05-2003, 11:41
  5. ajuda pra funfa cs com iptables
    Por mondragon no fórum Servidores de Rede
    Respostas: 1
    Último Post: 12-02-2003, 08:42

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L