SquidGuard : como importar blocklist ?

Vamos apresentar como importar uma blocklist e inserir no Squidguard. Dessa forma, podemos utilizar diferentes blocklists disponíveis na Internet para  nossas regras de bloqueio.

English version: click HERE

Além disso, as blocklists contêm categorias que dividem os domínios e URLs que podem ser bloqueados. Consequentemente, a utilização de blocklists facilita a tarefa do administrador de redes. 

Lista do tutorial sobre Squid e SquidGuard:

Parte 1: Squid Proxy Instalação e Configuração.

Parte 2: Squid Proxy: Filtrar clientes por IP e MAC

Parte 3: Squid: Autenticação de Usuário

Parte 4: SquidGuard : Instalação e Configuração

Parte 5: SquidGuard : como importar blocklist ?

As blocklists facilitam o trabalho do administrador de redes devido a economia no tempo de busca dos domínios que devem ser bloqueados.

Dessa forma, um administrador de redes pode fazer um download de uma blocklist que contêm domínios específicos e utilizá-los em sua rede. 

Nesse post vamos apresentar como realizar o download da Blocklist para o  SquidGuard. Em seguida, vamos descompactar a blocklist e copiar para o diretório da base de dados do squidguard.

 Além disso, vamos mostrar a estrutura de categorias da blocklist o shallalist. Logo depois vamos adicionar um bloqueio utilizando uma categoria da blocklist.

Então, faremos uma atualização da base de dados do squidguard para as alterações feitas. Depois disso, faremos testes e discutiremos sobre a solução proposta.   

Instalar squid & squidGuard  

Para instalar o squid e squidguard podemos acessar o post anterior AQUI. 

Alternativamente temos o vídeo AQUI.

Download  Blocklist  

Para realizar o download das blocklist podemos acessar o site: http://www.squidguard.org/blacklists.html . Em seguida vamos escolher uma das blocklists. Nesse exemplo, vamos usar a Shalla. Portanto vamos clicar em Shalla. 

Squidguard Lists
Squidguard Lists

Dentro do site da Shalla, vamos acessar a sessão de Download. Depois disso, faremos o download da blocklist para um local em nosso computador. Observe que o arquivo da blocklist está compactado.  

Shalla List
Shalla List
Download shallalist.tar.gz
Download shallalist.tar.gz

Descompactar   shallalist.tar.gz  

Agora vamos descompactar o arquivo que fizemos o download. Vale ressaltar que é importante verificar onde foi feito o download do arquivo da blocklist. Assim, para descompactar usaremos o comando apresentado abaixo:  

tar -xvzf shallalist.tar.gz   

Verificar as categorias   

Vamos verificar as categorias que compõem a blocklist que descompactamos. Dessa forma, podemos verificar as diferentes categorias e analisar os domínios e urls que compõem cada categoria.

Vale ressaltar a importância de dedicar um tempo na análise dessas categorias. Além disso caso seja necessário, podemos adicionar ou remover domínios e urls das categorias. 

Como exemplo, vamos acessar uma categoria music e vamos verificar os domínios que estão listados. Depois disso vamos verificar um domínio específico. Os comandos usados como exemplo estão listados abaixo. 

cd BL  
ls
cd music  
ls
cat domains | grep last 

Copiar blocklist para o squidguard  

O próximo passo será copiar a blocklist para o diretório da base de dados do squidguard. Portanto, vamos copiar o diretório BL para /var/lib/squidguard/db/.

Dessa forma, estamos copiando o diretório BL, que contém a blocklist para o diretório específico de base de dados do  squidguard . 

Estamos usando o comando abaixo como super usuário “sudo” e também com a opção “-R”. Dessa forma, faremos uma cópia recursiva do diretório da blocklist e seus subdiretórios.  

sudo cp -R BL /var/lib/squidguard/db/ 

Adicionar um bloqueio por categoria

Agora vamos adicionar um bloqueio utilizando uma das categorias da blocklist importada. Para isso, vamos editar o arquivo squidGuard.conf e vamos adicionar uma regra baseada em destino.

Assim, vamos chamar essa regra de “dest music “  e dentro dela vamos usar o domainlist apontando para o diretório da blocklist  que é “BL/music/domains”. Vale lembrar que esse diretório está dentro de /var/lib/squidguard/db/.

Portanto, como no início do arquivo de configuração já indicamos que iremos trabalhar com a base de dados localizada em /var/lib/squidguard/db/. 

sudo nano /etc/squidguard/squidGuard.conf   

Vamos adicionar a regra “dest music ” antes das ACLs . Nessa regra estamos dizendo que usaremos os domínios e as urls que compõem a categoria music da blocklist importada. 

dest music{   

domainlist BL/music/domains   

urllist BL/music/urls   

} 

Agora vamos adicionar uma condição na ACL default. Assim, adicionamos a condição “pass !block !music”. Consequentemente, essa condição faz com que todo o tráfego possa passar exceto o que for bloqueado na regra block e na regra music.

A regra block foi criada no post anterior sobre squidguard AQUI. No entanto a regra musc foi criada agora nesse post. 

default {   

pass !block !music   

redirect http://admin.foo.bar.de/cgi-bin/blocked.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u  

 } 

Exemplo do squidGuard.conf

Atualizar a base de dados  

Depois de adicionadas as novas regras, vamos atualizar a base de dados do squidguard. No entanto, precisamos dar permissão de acesso para o squid na pasta /var/lib/squidguard/db/. Dessa forma, vamos usar o comando abaixo. 

sudo chown proxy:proxy -R /var/lib/squidguard/db/ 

Agora, vamos usar o comando abaixo para fazer update na base de dados do squidguard. 

sudo squidGuard -b -d -C all 

Em seguida, daremos permissão novamente para o squid acessar os dados da base de dados. Isso porque após o update, foram gerados novos arquivos com extensão “.db” .

Consequentemente, precisamos garantir que o squid tenha acesso a esses arquivos. Portanto vamos usar o comando abaixo. 

sudo chown proxy:proxy -R /var/lib/squidguard/db/ 

Uma vez feita toda a configuração e atualização da base de dados, vamos reiniciar o squid. Dessa forma, reiniciando o squid vamos garantir que as alterações sejam aplicadas. 

sudo service squid restart 

Testes

Como teste, podemos tentar acessar algum dos domínios presentes na categoria music da blocklist .  No vídeo abaixo o teste foi feito para o site last.fm. 

squidGuard.conf
#
# CONFIG FILE FOR SQUIDGUARD
#

dbhome /var/lib/squidguard/db
logdir /var/log/squidguard

dest music{
	domainlist BL/music/domains
	urllist BL/music/urls
	}

dest block {
	domainlist dalbert/block_domain
	urllist dalbert/block_url
}
# ACL RULES:
#

acl {
	#admin {
	#	pass	 any
	#}

	#foo-clients within workhours {
	#	pass	 good !in-addr !porn any
	#} else {
	#	pass any
	#}

	#bar-clients {
	#	pass	local none
	#}

	default {
		pass !block !music
		redirect http://admin.foo.bar.de/cgi-bin/blocked.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u
	}
}

O vídeo com o tutorial de toda a configuração está abaixo: 

Juliana Mascarenhas

Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer

Veja Mais:

SquidGuard : Instalação e Configuração

Squid: Autenticação de Usuário

Squid Proxy: Filtrar clientes por IP e MAC

Squid Proxy Instalação e Configuração.

Snort PfSense : Detectar ataque DoS