Regra Iptables para bloquear o intervalo de ip para uma string específica (funciona algumas vezes)

2

Após duas semanas de pesquisa e leitura, acabei com essa regra de iptable que bloqueia o youtube (como string) para um intervalo de ip na rede do meu escritório.

iptables -A FORWARD -t filter -m iprange --src-range 10.217.76.60-10.217.76.70 -m string --algo bm --string "youtube.com" -j DROP #block

Como você pode ver, os computadores de 0,60 a 0,70 (10 máquinas) não podem navegar no youtube, enquanto, por exemplo, 0,75 pode. A regra funciona apenas por alguns minutos e para alguns clientes. Depois de 2 ou 3 minutos, alguns clientes podem navegar no youtube normalmente. Se eu fechar o navegador desses clientes, liberar as regras do iptables e executá-las novamente, todos os clientes não poderão se conectar ao youtube, mas isso dura 2 a 3 minutos novamente e para alguns clientes (estou falando dos clientes ip-range) .

Alguém já conheceu esse comportamento de novo ?! Tem a ver com o servidor que estou usando (Ubuntu 11.04), o cache ou alguma outra coisa!?

Eu também tenho o squid3 instalado onde eu bloqueio o http do youtube e facebook, então eu pensei em configurar o iptables eu poderia cortar o youtube para os https. (Mas alguns clientes realmente precisam do youtube para trabalhar, então eu quero cortar a audição de músicas e o tráfego de rede inútil).

EDITAR: Depois de um longo eu tentei: %código% e tenho uma solução melhor ... só por um tempo. Depois de algum tempo, alguns clientes começaram a navegar novamente (regra não funcionou) enquanto outros ainda não (regra funcionou). Eu entendo que (como MADHatter disse) é uma coisa do Youtube com muitos servidores, mas o que eu não entendo é que ao usar uma regra como essa %código% todo o tráfego para todos os clientes é rejeitado para sempre não apenas por algum tempo, a única coisa que eu queria é usar a regra acima para um intervalo de ip de usuários, por exemplo, de 0,10 a 0,240 e deixar todos os outros navegar livremente no youtube. Você acha que há uma regra para isso? Tudo o mais semelhante que eu tentei funcionou apenas por um período de tempo aleatório.

    
por ASK 16.09.2015 / 09:04

1 resposta

2

Você diz " eu poderia cortar o youtube para o https ". Isso não vai funcionar; URLs em uma conexão HTTPS são trocados sob a cobertura de criptografia. O firewall pode estar no fluxo de dados, mas não verá essa conversa, já que nesse ponto seu trabalho é reduzido a aceitar pacotes criptografados de uma interface para outra.

Sim, é possível que os clientes tentem acessar o link e você possa dessincronizar essa conexão http específica. Mas essa URL agora os redireciona diretamente para o site https:// ; mais cedo ou mais tarde, seus clientes perceberão que podem acessar o youtube via SSL e você não poderá ver o que eles estão fazendo.

O método tradicional correto para moderar quais URLs podem ser acessadas é um proxy web obrigatório - mas, no caso de conteúdo HTTPS, você ainda tem um problema. Você pode man-in-the-middle tudo, mas a menos que você tenha um proxy que criptografa novamente e assina novamente cada solicitação HTTPS (e cada um dos seus clientes tem instalado e confia no certificado de CA do seu proxy) isso resultará em um muito experiência de navegação insatisfatória para seus usuários de qualquer conteúdo HTTPS.

tl; dr : o youtube decidiu impor conexões HTTPS a seus sites, portanto, sem um proxies altamente sofisticado (que não são ), você pode não pare seus usuários indo para lá.

    
por 16.09.2015 / 09:27