+ Responder ao Tópico



  1. #1

    Padrão Bloquear Tráfego entre redes

    Boa noite pessoal.

    Tenho um servidor linux Debian, com uima placa de rede.
    Cada micro cliente vai ter uma faixa de IP e no servidor vou configurar um IP alias p/ cada cliente.
    O objetivo é que um cliente não tenha acesso á rede do outro, mas consiga ter acesso ao servidor para que possa navegar na internet.

    Neste servidor estou fazendo NAT e ativei o ip_forward.

    Acontece que agora todo mundo ve todo mundo na rede.
    Ou seja, da rede A eu pingo a Rede B e vice-versa.

    Será que alguem poderia me ajudar, com regras iptables que eu possa colocar no servidor para restringir o acesso de uma rede para outra mas nao restringir a navegaçao na internet.

    Agradeço muito quem pudar ajudar.

    Obrigado

  2. #2

    Padrão

    Então cara... um primeiro teste que você deve fazer é colocar a politica padrão do iptables na chain forward em DROP!

    Código :
    iptables -P FORWARD DROP
    Isso evita que os pacotes que estejam transitando pelo seu firewall sejam aceitos e só irá permitir o que você realmente deixar! Como por exemplo:

    Código :
    iptables -t filter -A FORWARD -s $client1_net/$client1_netmask -o $internet_interface -j ACCEPT
    iptables -t filter -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    A primeira regra permite que a rede do cliente 1 seja aceita pelo iptables quando ela estiver direcionada para a interface da internet! A segunda permite que as conexões estabelecidas pelo cliente possam voltar! No caso seria necessario criar uma regra como a primeira para cada cliente que você tiver!

    Testa aee!



  3. #3

    Padrão

    Zenun, primeiramente muito obrigado pela resposta.

    Fiz o teste e acho que os parametros que vc passou realmente tem logica e funcionam, mas no meu caso nao deram certo.
    Acho que nao funcionou, pois no servidor tenho apenas uma placa de rede, e meu servidor está ligado ao hub, como os clientes.

    Nessa placa de rede faço alias.
    Por ex.: No cliente 1 dou o ip 192.168.0.2, no servidor dou um alias para a placa : 192.168.0.1 e assim por diante.

    Entao quando no iptables eu digo para aceitar tudo que vai em direçao á interface da internet, esta interface também é da rede local onde meus clientes estao, ou seja, o firewall libera o acesso.

    Será que eu poderia bolar outra lógica para este caso ?

    Obrigado !

  4. #4

    Padrão

    Ola amigo!!
    Então você esta colocando seus clientes todos na rede 192.168.0.x?
    O que eu te sugiro é criar redes diferentes!
    Pois se é assim, todos estão na mesma rede IP e não precisam passar pelo seu servidor para se enxergar!

    Ou você coloca uma coisa assim:

    cliente 1 - 192.168.0.x
    cliente 2 - 192.168.1.x

    Ou você pode mexer na mascara! Não deixando ela em 255.255.255.0!

    Esse seu servidor só tem uma placa de rede?



  5. #5

    Padrão

    Opa não tinha lido bem seu post! Hehehe
    Como seu servidor só tem uma placa de rede ai eu acho que a melhor saida (usando exatamente o que você tem hoje ai) é criar sub-redes!
    Você pode criar uma sub-rede pequena para cada cliente seu e uma outra para você se comunicar com seu gateway!

    Dessa forma os clientes todos estarão em redes diferentes! E para poderem se ver terão que passar pelo gateway (que imagino que seja seu servidor)

    Claro que essa não é a melhor saida do ponto de vista de segurança! Como alguém pode vir e postar isso aqui!
    Mas se você não pode mudar sua infra estrutura (colocar equipamentos com mais capacidade) eu acho que essa pode ser uma saida!

  6. #6

    Padrão

    Opa. Obrigado pela resposta rapida novamente.

    Deixa eu te explicar.
    Tenho um modem adsl aqui, este modem conecta atravéz de pppoa, pois o adsl é empresarial. Como eu só configurei modem pppoe, resolvi fazer o seguinte:

    Criar uma rede onde vao existir somente o modem e o servidor.
    Meu servidor vai ter o modem como gateway, portanto terá acesso á internet.
    Apartir disso quero que as máquinas clientes tenham o servidor como gateway, mas nao enxerguem o modem (pois senao é só trocar o gateway para o ip do modem e sair navegando).

    Cada maquina cliente que eu configuro tem um classe diferente. 192.168.0.0, 192.168.1.0, 192.168.2.0, etc.

    Mas como neste servidor estou fazendo NAT e ativer o ip_forward, todas as redes estao se enchergando.

    Ou seja, do 192.168.1.0 eu pingo o 192.168.2.0, etc.
    Quando o que eu quero é que cada rede enxergue somente o servidor, pois este terá um IP da sua classe. E que este IP sirva como gateway para o cliente acessar a internet.

    E neste servidor tenho apenas uma placa de rede, que esta ligada ao HUB.

    Se nao fui claro por favor pergunte.

    Obrigado.



  7. #7

    Padrão

    Citação Postado originalmente por zenun Ver Post
    Opa não tinha lido bem seu post! Hehehe
    Como seu servidor só tem uma placa de rede ai eu acho que a melhor saida (usando exatamente o que você tem hoje ai) é criar sub-redes!
    Você pode criar uma sub-rede pequena para cada cliente seu e uma outra para você se comunicar com seu gateway!

    Dessa forma os clientes todos estarão em redes diferentes! E para poderem se ver terão que passar pelo gateway (que imagino que seja seu servidor)

    Claro que essa não é a melhor saida do ponto de vista de segurança! Como alguém pode vir e postar isso aqui!
    Mas se você não pode mudar sua infra estrutura (colocar equipamentos com mais capacidade) eu acho que essa pode ser uma saida!

    Zenun, mas é exatamento o que estou fazendo.

    Cada cliente está numa rede diferente, pois estou usando classes diferentes para elas.

    Acontece que elas se enchergam porque meu servidor faz NAT e tem ativo o ip_forward.

    Ou seja, mesmo estando em redes diferentes, todo mundo ve todo mundo.

  8. #8

    Padrão

    Ola! Hehehe então um passo já esta correto!
    O que realmente fica dificil nas regras que te passei é que a interface da internet á mesma com que ele se comunica com os seus clientes!
    Mas também podemos fazer assim

    Código :
    iptables -t filter -A FORWARD -s 192.168.0.0/255.255.255.0 -d $rede_modem/$mascara_modem -j ACCEPT

    O que eu recomendo, ja que todos estão em um HUB, é que você coloque a rede do seu servidor para o modem uma mascara 255.255.255.252 dessa forma existirão 2 ips válidos nessa rede! E mesmo que alguem troque o ip da maquina não poderá sair pelo modem porque ele usa uma rede pequena!

    Mais uma vez reforço que isso não é a melhor saida do ponto de vista de segurança, alguem pode trocar seu ip por um diferente e mesmo trocar sua classe por outra! Mas é algo que funciona!



  9. #9

    Padrão

    Pois é, acho que vou ter que fazer isso mesmo.
    Eu tinha pensado nisso, mas justamente por não ser a solução ideal que fiquei em dúvida.


    A propósito, se eu pudesse colocar este modem em modo bridge e fazer meu servidor "discar" para a operadora, ai sim eu teria mais controle.

    Mas eu só configurei conexao pppoe no linux, nao sei como faz p/ configurar pppoa.

    Poderia me recomendar algum material sobre isso ?


    Muito obrigado pelas dicas !!

  10. #10

    Padrão

    Olha cara... eu nunca configurei ppp em linux, mas pelo que eu ja li o procedimento é o mesmo! Se você fizer isso sua configuração vai ficar melhor!