OpenVPN - abre portas para clientes somente via iptables

1

Servidor OpenVPN em execução no meu servidor Ubuntu ( tun mode). Meu problema é que não posso definir algumas portas acessíveis apenas para clientes VPN. Eu tenho uma solução suja, mas eu quero melhor.

Eu não tenho regras iptables , além de ouvir aqui, tudo é acessível a partir da rede. Minha sub-rede do servidor OpenVPN é 10.8.0.0/24 Então eu abri facilmente algumas portas apenas para acesso via 10.8.0.1, que é acessível apenas para usuários VPN :

iptables -A INPUT -s 10.8.0.0/24 -p tcp --dport 6000:7000 -j ACCEPT
iptables -A INPUT -p tcp --dport 63000:64000 -j REJECT

Isso funciona, pois 10.8.0.1 é encaminhado para o meu host somente dentro de uma rede VPN [no cliente], caso contrário, ele vai para outro lugar. Mas isso é incorreto: existe uma prática ip spoofing que pode ignorar meu iptables afaik [no servidor] e, potencialmente, 10.8.0.1 não deve ser usado diretamente se possível, para mim .. Existe uma solução melhor?

Minhas interfaces são: tun0 e eth0 .

Eu tentei seguir o rastreamento:

iptables -t nat -A POSTROUTING -p tcp --dport 6000 -j LOG --log-prefix "routing xx::"

Este é o rastreio do pedido da rede vpn :

routing xx::IN=eth0 OUT= MAC=....... SRC=my real ip address DST=vpn server host LEN=48 TOS=0x08
PREC=0x00 TTL=116 ID=26271 DF PROTO=TCP SPT=60889 DPT=63210 WINDOW=8192 RES=0x00 SYN URGP=0

-i em tais pacotes são sempre eth0 , já que aqui não tenho idéia de como filtrar tun0 pacotes e permiti-los apenas ...

Assim, somente solicitações dentro da VPN devem ser permitidas. Isso é possível ou eu estou pensando errado?

Eu tenho client-to-client e redirect-gateway def1 ativado. Pelo que entendi, o tráfego para o meu host do cliente passando pelo túnel, para o tun0 e, em seguida, obtém eth0 e, finalmente, atinge a porta local / aplicação ...

    
por Croll 19.02.2015 / 23:54

0 respostas