Openvpn - encaminhamento de tráfego habilitado, mas deseja restringi-lo

2

Eu tenho uma configuração openvpn do cliente servidor com todo o tráfego do cliente direcionado pelo túnel via udp. Id gostaria de restringir o tipo de aplicativos que o cliente pode usar enquanto estiver conectado ao meu vpn. Para começar com id, assim como os clientes podem navegar.

Como você faria isso com o iptables?

Em que extremidade você colocaria essas restrições, ou seja, no adaptador tun dos servidores ou em seu adaptador eth0 voltado para o público?

******* UPDATE ***** como por sugestão de PQDs eu atualizei meu iptables mas por alguma razão isto permitindo o tráfego em outras portas ser encaminhado. Para testar eu tentei baixar o Ubuntu via torrent como um cliente no meu vpn e funcionou bem quando não deveria (o número da porta no cliente de torrent não é o culpado).

Alguém consegue identificar um erro no meu iptables?

#!/bin/bash


SERVER_IP="***.***.***.***"
HOME_IP="***.***.***.***"
CLIENT_IP_RANGE="***.***.***.***/**"
# Flush all current rules from iptables
 iptables -F

# Allow SSH connections on tcp port 22

 iptables -A INPUT -p tcp --dport 22 -s $HOME_IP -j ACCEPT
 iptables -A OUTPUT -p tcp --sport 22 -d $HOME_IP -j ACCEPT

#Only ping my server from my home 
 iptables -A INPUT -p icmp --icmp-type 8 -s $HOME_IP -j ACCEPT

# Set default policies for INPUT, FORWARD and OUTPUT chains
#
 iptables -P INPUT DROP
 iptables -P FORWARD DROP
 iptables -P OUTPUT ACCEPT

# Set access for localhost
#
 iptables -A INPUT -i lo -j ACCEPT

# Accept packets belonging to established and related connections
#
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Setup OpenVpn
 iptables -A INPUT -i tun+ -j ACCEPT
 iptables -A OUTPUT -o tun+ -j ACCEPT
 iptables -A INPUT -i venet0 -p udp --dport 1194 -j ACCEPT
 iptables -A INPUT -i venet0 -p tcp --dport 1194 -j ACCEPT
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
 iptables -A FORWARD -s $CLIENT_IP_RANGE -p tcp --dport 80 -j ACCEPT
 iptables -A FORWARD -s $CLIENT_IP_RANGE -p tcp --dport 8000 -j ACCEPT
 iptables -A FORWARD -s $CLIENT_IP_RANGE -p icmp -j ACCEPT
 iptables -A FORWARD -s $CLIENT_IP_RANGE -j DROP
#Setup NAT for openvpn
 iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE

# Save settings
#
 /sbin/service iptables save

atualizar com iptables -nL FORWARD

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     tcp  --  10.254.1.0/24        0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  10.254.1.0/24        0.0.0.0/0           tcp dpt:8000
ACCEPT     icmp --  10.254.1.0/24        0.0.0.0/0
DROP       all  --  10.254.1.0/24        0.0.0.0/0
    
por adam 15.10.2009 / 13:11

1 resposta

1

eu faria isso apenas com base no ip de origem [neste exemplo eu suponho que os usuários vpn tenham addreses de 10.0.15.0/24]:

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 10.0.15.0/24 -p tcp --dport 80 --j ACCEPT
iptables -A FORWARD -s 10.0.15.0/24 -p icmp --j ACCEPT
iptables -A FORWARD -s 10.0.15.0/24 --j DROP

lembre-se de que os usuários mais inteligentes podem direcionar o tráfego indesejado por http / https

    
por 15.10.2009 / 13:19