De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Extraindo os dominios de sites improprios para bloqueio no proxy.

Colaboração: Fabio Maximo

Data de Publicação: 31 de December de 2008

Algumas vezes simplesmente bloquear uma lista gigante de sites improprios pode não ser é suficiente. As vezes essas listas mostram mais sites internacionais que nacionais, então um nivel adicional de alimentação desses dados é necessário.

No meu caso eu precisava checar os logs para identificar os sites que estão sendo acessados como alternativa aos ja bloqueados e que os mesmos fossem progressivamente bloqueados.

Dureza fazer manualmente, ne?

Então segue a solução para essa necessidade que eu tinha.

  zcat /path/to/log | egrep -f /etc/squid/palavraschavepornografia | awk '{print $7}' | sed 's/http:\/\///' | sed 's/\/.*$//' | sort | uniq -c 

Vamos por partes?? Nessa parte omitirei o | (pipe).

  1. Como o arquivo estara compactado, uso um zcat no mesmo e mando o conteudo pelo "encanamento" :-D

      zcat /path/to/log  
    

  2. Uso um egrep -f para que cada linha do arquivo indicado pelo parametro f forneça um padrão para a busca. Nesse arquivo então coloco uma lista de palavras chulas que serão procuradas nas URLs. Uma URL que contenha por exemplo xxx provavelmente tera o conteudo que aparenta.

      egrep -f /etc/squid/palavraschavepornografia | 
    

  3. Uso então o awk para que apenas a url seja enviada ao proximo comando. Dependendo do formato do log, talvez a coluna seja outra.

      awk '{print $7}' 
    

  4. Agora retiro o http:// da URL.

      sed 's/http:\/\///' 
    

  5. Retiro oque vem no final da url (afinal eu quero somente o dominio, para que o bloqueio seja mais abrangente

      sed 's/\/.*$//' 
    

  6. Uso então o sort para ordenar. Na verdade eu quero que ele coloque as ocorrencias iguais uma apos a outra, em preparação para o uniq, que ira exibir apenas uma ocorrencia de cada. Para efeito de anailise, o -c me mostra quantas vezes cada dominio apareceu no log.

      sort | uniq -c 
    

    Essa saida eu mandei para um arquivo com o nome do dia anterior, e então ao final isso é enviado para meu e-mail.

    Poderiamos fazer o bloqueio automaticamente, porem uma url legitima poderia ter uma palavra suspeita. Por exeplo um artigo sobre "sexo na terceira idade", que tivesse sua url reescrita faria com que um portal de saúde fosse automaticamente bloqueado, o que não é a intenção.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Fabio Maximo