Evitar que um usuário acesse a internet, exceto para determinados sites

3

Estou tentando impedir que um usuário específico receba tráfego de sites, exceto sites específicos em uma lista de permissões. A maneira mais fácil de fazer isso parece ser com o iptables, mas eu não consegui fazer com que minhas configurações do iptables funcionem - o navegador diz que não é possível resolver o endereço DNS. Estou executando o Ubuntu 12.10.

Aqui está o meu arquivo iptables até agora:

# Generated by iptables-save v1.4.12 on Sat Jul 13 07:41:12 2013
*filter
:INPUT ACCEPT [3137:3823422]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1877:121508]
-A INPUT -s [[SPECIFIC IP]] -j ACCEPT
-A INPUT -s tcp --dport 53 -j ACCEPT  #
-A INPUT -p udp --dport 53 -j ACCEPT  # THESE 3 LINES ARE AN ATTEMPT TO GET DNS TO WORK
-A INPUT -p tcp --dport 953 -j ACCEPT # 
-A INPUT -m owner --uid-owner 1000 -j DROP  # disable all other packets for that user
COMMIT
# Completed on Sat Jul 13 07:41:12 2013

Esse arquivo é carregado na inicialização usando sudo iptables-restore < /etc/iptables_rules , o que funciona. Nenhum SSH é necessário em qualquer lugar.

O problema imediato é que as pesquisas de DNS falham para esse usuário. Eu provavelmente estou fazendo algo completamente errado, eu não sei iptables bem

Obrigado por toda ajuda! :)

    
por Stephen 13.07.2013 / 18:22

1 resposta

1

Alterar o arquivo como este corrigiu tudo:

# Generated by iptables-save v1.4.12 on Sat Jul 13 07:41:12 2013
*filter
:INPUT ACCEPT [3137:3823422]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1877:121508]
-A OUTPUT -d [[SPECIFIC IP]] -j ACCEPT
-A OUTPUT -p tcp --destination-port 53 -j ACCEPT
-A OUTPUT -p udp --destination-port 53 -j ACCEPT
-A OUTPUT -p tcp --destination-port 953 -j ACCEPT
-A OUTPUT -m owner --uid-owner 1000 -j DROP
COMMIT
# Completed on Sat Jul 13 07:41:12 2013

Obrigado a gertvdijk por me dizer o que mudar.

    
por Stephen 13.07.2013 / 19:04