Tabela de Conteúdos

Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.

3.3.2 Filtro de Conteúdos: dansguardian

Objectivo

O pacote dansguardian é um proxy de filtro de conteúdos. Quando um site Internet é acedido através do dansguardian, este analisa o seu conteúdo e, em função de uma lista de regras predefinidas e configuráveis pelo utilizador, permite ou bloqueia o acesso. É assim possível bloquear o acesso a sítios indesejáveis, impedir a descarga de determinado tipo de ficheiros, ou evitar a propagação de vírus.

A instalação do pacote dansguardian depende da instalação prévia de um servidor proxy como o 3.3.1 Cache web: Squid e de um anti-vírus como o 3.6.1 ClamAV.

Instalação

server:~# aptitude install dansguardian

Configuração

Toda a configuração é efectuada no ficheiro /etc/dansguardian/dansguardian.conf.

As mensagens do dansguardian podem ser configuradas para diversas línguas (a lista completa pode ser consultada em /etc/dansguardian/languages):

# [...]
# language to use from languagedir.
language = 'portuguese'

# [...]

Por omissão, o dansguardian aceita ligações na porta 8080. No entanto estas definições podem ser alteradas:

# [...]
# Network Settings
#
# the IP that DansGuardian listens on.  If left blank DansGuardian will
# listen on all IPs.  That would include all NICs, loopback, modem, etc.
# Normally you would have your firewall protecting this, but if you want
# you can limit it to a certain IP. To bind to multiple interfaces,
# specify each IP on an individual filterip line.
filterip =

# the port that DansGuardian listens to.
filterport = 8080

# [...]

O próprio dansguardian deve usar um proxy para optimização da largura de banda, neste caso o 3.3.1 Cache web: Squid, a correr no mesmo servidor:

# [...]
# the ip of the proxy (default is the loopback - i.e. this server)
proxyip = 127.0.0.1

# the port DansGuardian connects to proxy on
proxyport = 3128

# [...]

Caso tenha sido instalado o pacote anti-vírus 3.6.1 ClamAV, o dansguardian pode filtrar conteúdos para detectar vírus:

# [...]
# # Content Scanners (Also known as AV scanners)
# These are plugins that scan the content of all files your browser fetches
# for example to AV scan.  The options are limitless.  Eventually all of
# DansGuardian will be plugin based.  You can have more than one content
# scanner. The plugins are run in the order you specify.
# This is one of the few places you can have multiple options of the same name.
#
# Some of the scanner(s) require 3rd party software and libraries eg clamav.
# See the individual plugin conf file for more options (if any).
#
contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'

# [...]

Após terminar a configuração, deve ser comentada a linha de segurança:

# [...]
# UNCONFIGURED - Please remove this line after configuration

# [...]

O dansguardian utiliza, entre outras técnicas, um sistema de análise de texto em que atribui penalização a determinadas palavras consideradas “obscenas” e atingindo um determinado limite a página é bloqueada. Este limite pode ser alterado em função do perfil dos utilizadores, sendo que quanto mais alto for o valor, mais permissivo é o filtro. Normalmente são considerados razoáveis os valores de 50 para crianças pequenas, 100 para crianças mais velhas, 160 para adolescentes e 200 a 240 para adultos. Este valor deve ser indicado no parâmetros naughtynesslimit do ficheiro /etc/dansguardian/dansguardianf1.conf:

# [...]
# Naughtyness limit
# This the limit over which the page will be blocked.  Each weighted phrase is given
# a value either positive or negative and the values added up.  Phrases to do with
# good subjects will have negative values, and bad subjects will have positive
# values.  See the weightedphraselist file for examples.
# As a guide:
# 50 is for young children,  100 for old children,  160 for young adults.
# naughtynesslimit = 50
naughtynesslimit = 240

# [...]

Finalmente, reiniciar o serviço dansguardian, para ter em conta as alterações efectuadas:

server:~# /etc/init.d/dansguardian restart

Configuração de clientes

É possível configurar o browser Firefox para utilizar um proxy, acedendo ao menu Ferramentas –> Opções… –> Avançadas –> Rede –> Definições…, activar a opção Configuração manual do proxy e inserir o endereço do servidor proxy (192.168.1.100) e a porta (8080). Podem-se definir excepções para o próprio posto (127.0.0.1) e para a rede local (192.168.1.0/24):

No caso de sistemas Linux, é possível declarar a variável “http_proxy” com a URL do proxy a utilizar:

fribeiro@server:~$ export http_proxy="http://192.168.1.100:8080/"

No entanto, na próxima sessão terá que ser declarada novamente.

Um método mais duradouro é declarar a variável automaticamente a cada login, incluindo a declaração no ficheiro ~/.profile do utilizador:

fribeiro@server:~$ echo 'http_proxy="http://192.168.1.100:8080/"' >> ~/.profile

A declaração pode ainda ser feita de modo automático e para todos os utilizadores, se incluída no ficheiro de sistema /etc/profiles:

server:~# echo 'http_proxy="http://192.168.1.100:8080/"' >> /etc/profile

Utilização

Após configurar o browser para utilizar o proxy dansguardian, sempre que o utilizador tentar aceder a um site com conteúdo indesejável, aparecerá uma mensagem informando que o acesso foi bloqueado e qual a razão. Um bom teste é tentar aceder à página de testes da Eicar:

A configuração de base do dansguardian é extremamente restritiva! Por exemplo, será negado o acesso a ficheiros relativamente comuns, como do tipo “iso”, “zip” ou “mp3”. As listas de filtros poderão ser encontradas na directoria /etc/dansguardian/lists. No entanto, a sua configuração sai fora do âmbito deste guia.

Referências