+ Responder ao Tópico



  1. #1

    Padrão Iptables + TS - Controle de acesso externo

    Bom dia!

    Sou novo no forum e o procurei por conta de um problema. Temos um server (Fedora - FW/Proxy) trabalhando na matriz da empresa, o mesmo tem 2 interfaces, uma com um IP válido e uma local. As maquinas da filial acessam o servidor de terminais da matriz atraves de uma regra de PREROUTING e uma de POSTROUTING:

    iptables -A PREROUTING -i eth1 -p tcp -s [ipvalidomatriz] --dport 3389 -j DNAT --to-destination 192.168.0.5
    iptables -A POSTROUTING -s 192.168.0.5/32 -o eth1 -p tcp -j SNAT --to-source [ipvalidomatriz]

    Onde 192.168.0.5 é um servidor Windows2003Server configurado como servidor de terminal (TS).

    Os clientes na filial usam a area de trabalho remota e digitam o IP válido para se conectarem.
    O problema é que qualquer pessoa que digite o IP de qualquer lugar pode acessar a rede.
    Quero bloquear o acesso de forma que só o IP da filial acesse. O link da filial é Embratel e navegam por um IP válido(NAT). Fiz umas regras mas nao sei se estou certo. Gostaria de outras opiniões antes de testar no servidor.
    Regras:

    iptables -A INPUT -p tcp -i eth1 -s [ipdafilial] --dport 3389 -j ACCEPT
    iptables -A OUTPUT -p tcp -o eth1 -s [ipdafilial] --dport 3389 -j ACCEPT
    iptables -A FORWARD -p tcp -o eth1 -s 192.168.0.5 --dport 3389 -j ACCEPT
    iptables -A INPUT -p tcp -i eth1 -j LOG
    iptables -A OUTPUT -p tcp -i eth0 -j LOG
    #iptables -A INPUT -p tcp -i eth1 -p tcp --dport 3389 -j REJECT
    #iptables -A INPUT -p tcp -o eth1 -p tcp --dport 3389 -j REJECT
    iptables -A PREROUTING -i eth1 -p tcp -s [ipvalidomatriz] --dport 3389 -j DNAT --to-destination 192.168.0.5
    iptables -A POSTROUTING -s 192.168.0.5/32 -o eth1 -p tcp -j SNAT --to-source [ipvalidomatriz]

    Onde eth1 é a interface externa e eth0 interna.
    Comentei essas linhas pois um amigo disse que como eu aceitei um determinado IP para porta do TS (3389), os outros já serão negados por default. Procede?
    Se esta lógica nao estiver correta aceito sugestoes.
    Espero que essa questão sirva para aumentar e disseminar o conhecimento nessa área.

    Obrigado!

  2. #2

    Padrão Re: Iptables + TS - Controle de acesso externo

    Informo que a regra está correta, realize os testes e coloque aqui os resultados.



  3. #3

    Padrão Re: Iptables + TS - Controle de acesso externo

    Só poderei testar no próximo fim de semana. Até lá se alguém discordar do eltonlima quiser acrescentar algo ou mesmo sugerir outro raciocínio agradeço.

    Obrigado por responder elton, valeu!

  4. #4

    Padrão Re: Iptables + TS - Controle de acesso externo

    Digamos que assim:
    200.200.200.200 - IP da Rede Externa onde tem o TS na rede interna...
    300.300.300.300 - IP da Maquina a qual vai acessar o 200.200.200.200..
    O que eu vou fazer é: Somente o 300.300.300.300 vai ter acesso ao 200.200.200.200 na porta 3389.. Outros clientes que tentarem acessar o 200.200.200.200 na porta 3389 não terão acesso.. Seria isso que vc quer?

    iptables -t nat -A POSTROUTING -d 200.200.200.200 -p tcp --dport 3389 -s 300.300.300.300 -j DNAT --to 192.168.0.5:3389

    Ou vc pode fazer:
    iptables -A INPUT -s 300.300.300.300 -p tcp --dport -j ACCEPT
    iptables -t nat -A POSTROUTING -d 200.200.200.200 -p tcp --dport 3389 -j DNAT --to 192.168.0.5:3389
    iptables -A INPUT -p tcp --dport 3389 -j DROP

    Qq coisa pergunte =D

    OBS: Pode dar uma olhada em Firewall com IPTABLES - by Eriberto Show de bola o tuto!



  5. #5

    Padrão Re: Iptables + TS - Controle de acesso externo

    Galera, testei as regras e pra minha surpresa não deu certo. E não foi por conta das regras em si.
    O iptables foi configurado como serviço. Uma outra pessoa o configurou antes de eu entrar na empresa.
    O arquivo começa com:

    *nat
    PREROUTING[234:3456]
    POSTROUTING[1044:5456]
    OUTPUT[102:988]

    regras:
    -A PREROUTING .....
    -A POSTOROUTING .....
    as regras nao tem a palavra iptables, já começa do -A

    COMMIT

    *filter
    INPUT [234:9452]
    OUTPUT[345:2845]
    FORWARD[123:98458]

    regras:

    -A INPUT ....
    -A OUTPUT....

    COMMIT


    O ponto é que tentei renomear o iptables ativo e colocar o meu arquivo como o novo iptables. E quem disse que o sistema reconhece o arquivo?!
    Na descrição da tables nat e dos PREROUTINGS e tal até que vai. Mas na hora que chega no COMMIT dá erro. error line 30. comentei a linha e também não reconhece *filter. Ai tive que dar um iptables-restore pra voltar o que era antes. Com o arquivo original o serviço roda sem problemas, mas se trocar, mesmo que tenha o mesmo conteúdo não roda.

  6. #6

    Padrão Re: Iptables + TS - Controle de acesso externo

    Realmente.. Se o cara fazer um "iptables-save" e manda para um arquivo e fazer um iptables-restore cada vez q carrega as regras é o normal não ter o iptables e ja começar com -A...
    O certo seria vc mostrar o iptables-save da sua maquina ae para ver o que tem de errado que o seu redicionamento não funciona... Si não fica difícil =D



  7. #7

    Padrão Re: Iptables + TS - Controle de acesso externo

    Laercio, mesmo que eu faça uma copia com o mesmo conteúdo ele não reconhece os COMMIT´s e declaração das tabelas '*nat - *filter' estou pensando em comentar as regras antigas e testar as novas no mesmo arquivo, se alcançar meus objetivos paro o serviço e coloco minhas regras em um arquivo executável e coloco em um lugar que será executado na inicialização.