Sites de lista negra para determinados usuários

2

Esta questão tem duas partes.

Primeiro, se eu tivesse uma lista de sites que eu gostaria de bloquear. Como eu digo ao meu computador para bloqueá-los e a quaisquer subdomínios relevantes?

Em segundo lugar, como faço para acertar isso por usuário. Por exemplo, dizer ao computador para bloquear o acesso de usuário ao facebook não deve bloquear userB do facebook.

Pontos de bônus se a resposta for de linha de comando.

    
por Stefan 06.11.2010 / 15:06

1 resposta

3

Existem três partes na sua pergunta:

  1. Decida sobre uma estratégia de bloqueio no nível da rede: quais conexões são permitidas?
  2. Implemente essa estratégia de bloqueio.
  3. … de uma forma que afeta apenas alguns usuários.

Bloquear websites não é fácil. Na verdade, eu diria que é impossível bloquear completamente um site sem bloquear completamente o acesso à rede. Tudo o que você pode fazer é dificultar a vida do usuário bloqueado, mas, se ele realmente quiser, poderá acessar o site bloqueado, com maior latência e menor largura de banda, desde que tenha bastante sofisticação técnica e possa confiar em um servidor externo . Para navegação normal, os usuários podem ver cópias em cache no Google ou de outra forma. Os usuários que têm um servidor externo podem usá-lo como um proxy ou podem usar proxies existentes (proxies abertos vêm e vão rápido demais para serem bloqueados).

Você pode tentar bloquear por nome de domínio ou por endereço IP. Endereços IP podem funcionar para um site grande como o Facebook, embora você tenha que acompanhar todos os movimentos do servidor. Não funcionará com sites menores que são co-hospedados.

Uma maneira leve de bloquear alguns sites é bloquear sua resolução de nomes DNS. Apenas isso provavelmente torna a vida dos usuários irritante o suficiente para que eles trabalhem em torno de seu bloco usando um proxy externo (que requer alguma sofisticação). Mas não há nenhuma maneira prática de ajustar a resolução de DNS por usuário (não é impossível, em princípio, mas você precisa configurar um em funcionamento identd e encontre um servidor DNS que fale com ele).

A maneira natural de bloquear sites é bloquear o acesso direto à web e permitir acesso somente por meio de um proxy da web. O Squid é o padrão de fato. Você pode configurá-lo como um proxy transparente (todas as conexões nas portas 80 e 443 são roteadas para a máquina proxy; o site estranho em outra porta pode ou não funcionar dependendo de como você configura seu firewall) ou como um proxy explícito (os usuários devem configurar seu navegador; somente a máquina com o proxy pode se conectar ao exterior).

Uma maneira fácil de implementar configurações por usuário é exigir autenticação no proxy. Então, ter diferentes níveis de acesso é um trabalho para o proxy. Para evitar o requisito de senha, você também pode fazer o identificador de uso de proxy (embora isso adicione latência para todos os acessos).

Sua tarefa será mais fácil se você puder executar o proxy em uma máquina diferente (pode ser uma máquina virtual). Fazer tudo na mesma máquina é possível, mas complicado no Linux , e eu suspeito que também seja possível, mas complicado em outros unices.

    
por 06.11.2010 / 17:23

Tags