Bloqueio/Liberação Portas [RESOLVIDO]

1. Bloqueio/Liberação Portas [RESOLVIDO]

Fernando Cesar Vaini
vaini

(usa Debian)

Enviado em 09/01/2012 - 12:20h

Bom dia galera.

Estou precisando bloquear a porta 3389 (Terminal Service) para acesso externo, mas deixa-la liberada apenas para duas pessoas. O dono e o gerente.

Essas pessoas poderão acessar de qualquer lugar que estiverem. Visto que nunca se sabe o IP que estarão usando em cada ocasião, pensei em fazer isso por MAC.

Tentei a seguinte regra, mas sem sucesso:

iptables -t nat -A PREROUTING -i eth0 -p tcp -m mac --mac-source 00:14:7F:3E:3D:D8 --dport 3389 -j DNAT --to 192.168.0.2:3389

Se eu usar essa mesma regra, mas ao inves do mac colocar um ip, funciona. Mas como disse, eu nunca vou saber qual ip eles usarão. Em casa ambos tem banda larga ip dinamico, e em outros locais também não tem como saber.

Como resolver essa questão?

Desde já obrigado a todos pela ajuda.


  


2. MELHOR RESPOSTA

João Paulo Carneiro
jptudobem

(usa Debian)

Enviado em 12/01/2012 - 12:25h

Simples.

Se a liberação por IP funciona, crie um host para cada ex: dono.no-ip.info e gerente.no-ip.info.

No iptables:


IPDONO=`host dono.no-ip.info | awk 'NR == 1 {print $4}'`
IPGERENTE=`host gerente.no-ip.info | awk 'NR == 1 {print $4}'`

iptables -t nat -A PREROUTING -i eth0 -p tcp -s $IPDONO --dport 3389 -j DNAT --to 192.168.0.2:3389
iptables -t nat -A PREROUTING -i eth0 -p tcp -s $IPGERENTE --dport 3389 -j DNAT --to 192.168.0.2:3389


OBS: Coloque no cron para seu firewall ser executado a cada X tempo para poder ter os ips sempre atualizado.

Fim.

3. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 09/01/2012 - 13:01h

Você pode fazer de 2 formas:

Se vc estiver usando suas políticas de firewall como DROP faça o seguinte:

iptables -A FORWARD -p tcp --dport 3389 -m mac --mac-source 00:14:7F:3E:3D:D8 -j ACCEPT

Ou implementar uma forma de portknocking.


4. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Fernando Cesar Vaini
vaini

(usa Debian)

Enviado em 09/01/2012 - 13:24h

No momento a minha politica padrão para FORWARD é ACCEPT.

Em todo o caso, mesmo que fosse DROP, eu teria que utilizar uma regra para o NAT. E daí voltaria ao mesmo problema da pergunta inicial.

Porque a partir do momento que eu redirecionei, mas não informei uma origem, ele aceita qualquer coisa. É justamente isso que preciso evitar. Quero fazer com ele reconheça apenas dois MACs para assim permitir a conexão.

Me corrija se meu raciocinio estiver errado.

Obrigado pela colaboração, e continuo aceitando sugestões.


5. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 09/01/2012 - 13:42h

Certo, mesmo como DROP vc teria que ter a regra de NAT, porém se suas políticas fossem DROP, vc teria que adicionar as regras de FORWARD pois se não vc não teria a liberação...

Teste com as políticas como DROP, daí vc faz uma regra simples de nat, retirando o --mac... ai vc adiciona esse parâmetro na linha da regra de FORWARD.

Testa ai nos conte se funcionou ok?


6. VPN

Renato Vieira
rvcosta

(usa Red Hat)

Enviado em 09/01/2012 - 14:58h

Em seu caso acredito que seria interessante criar uma VPN, e nos computadores dos mesmos instalar o cliente para se conectar.


7. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Fernando Cesar Vaini
vaini

(usa Debian)

Enviado em 09/01/2012 - 17:55h

phrich - vou fazer os testes da maneira que vc indicou. Vou testar primeiro em ambiente virtual, pra depois testar no ambiente real.

rvcosta - não seria interessante a maquina virtual, pq como disse nunca sei de onde vão acessar. Assim teria de instalar o cliente e certificados em cada pc que fossem acessar, o que tornaria o processo totalmente inviavel. Por isso o TS é a melhor opção, mas pelo menos
tem de ser segura.

Vou fazer os testes e posto os resultados.
Por enquanto obrigado.


8. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 09/01/2012 - 18:07h

vaini escreveu:

phrich - vou fazer os testes da maneira que vc indicou. Vou testar primeiro em ambiente virtual, pra depois testar no ambiente real.

rvcosta - não seria interessante a maquina virtual, pq como disse nunca sei de onde vão acessar. Assim teria de instalar o cliente e certificados em cada pc que fossem acessar, o que tornaria o processo totalmente inviavel. Por isso o TS é a melhor opção, mas pelo menos
tem de ser segura.

Vou fazer os testes e posto os resultados.
Por enquanto obrigado.


Na verdade o rvcosta falou sobre VPN (virtual private network), não dá muito trabalho para implementar, seria algo a se pensar também...


9. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Fernando Cesar Vaini
vaini

(usa Debian)

Enviado em 09/01/2012 - 21:11h

hahahahaha eu errei na escrita...na verdade era VPN mas eu não sei por cargas d´agua coloquei maquina virtual.

Em todo o caso, eu teria que instalar os certificados para a segurança, etc, etc...acho inviavel, pq eles nao tem muito conhecimento, e eu mesmo teria que ficar ensinando eles a configurar no windows o cliente da VPN..

Na real eu tenho outros clientes que usam vpn, mas eles usam notebook. Esse caso é especifico. Vou precisar fazer algo parecido com a duvida que estou mesmo. Estou fazendo os testes em maquinas virtuais primeiro (acho que veio daqui o erro na resposta anterior) antes de
testar no ambiente real do cliente.


10. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Fernando Cesar Vaini
vaini

(usa Debian)

Enviado em 11/01/2012 - 15:58h

Ja estou arrancando o resto dos cabelos que tenho....não funciona de jeito nenhum

phrich, ja fiz do jeito que vc indicou, colocando a politica padrao em DROP e claro, depois libero pelo MAC, mas tambem nao funciona.

Engraçado, eu fiz os testes por maquina virutal e funciona perfeitamente.

Mais alguma ideia, por favor???


11. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Fernando Cesar Vaini
vaini

(usa Debian)

Enviado em 11/01/2012 - 19:14h

Mais alguma idéia???


12. Re: Bloqueio/Liberação Portas [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 12/01/2012 - 11:04h

Talvez seria interessante vc fazer uma regra de portknocking para os clientes que vão acessar de fora, ai vc poderia criar um script para eles se conectarem.

Assim eles não teriam o trabalho de enviar os pacotes do portknocking manualmente, apenas teriam que clicar no ícone do script que vc criou para estabelecer a conexão.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts