Bastille + Squid + Dansguardian = Nicolas navegando seguro

Depois da odisséia para que a máquina de Nicolas funcionasse veio a hora de por restrições e implementar um pouco de segurança na máquina do meu filhote.

Inicialmente rodei o Bastille para fazer o Hardening do S.O. tirando as possiveis brechas de segurança. Como fiz isso fica para um outro post que saira muito em breve.

Depois foi a vez da dupla Squid + Dansguardian evitando assim acessos a sites indevidos. Apesar dele ter apenas 4 anos alguns cliques em banners infonesivos podem levá-lo ao lado negro da internet, coisa que ainda está muito cedo para acontecer.

Agora vou mostrar como isso foi feito de forma fácil e rápida

Inicialmente instalei o pacotes necessários

OBS: Não vou colocar o sudo antes porque tudo foi feito no Debian Lenny, lembre-se de usar o sudo antes dos comandos se estiver usando o Ubuntu.

aptitude install squid dansguardian sysvconfig

Após a instalação configurei o Squid

cp /etc/squid/squid.conf /etc/squid/squid.conf.original

vim /etc/squid.conf

No Squid configurei as seguintes linhas:

http_port 3128 transparent

cache_effective_user proxy

Após configurar o Squid foi necessário reiniciá-lo

service squid restart

OBS: O comando service normalmente é usado em distros RedHat like, porém podemos usá-lo nos Debian like instalando o pacote sysvconfig.

Depois foi a vez de configurar o Dansguardian

vim /etc/dansguardian/dansguardian.conf

Comentei a seguinte linha:

UNCONFIGURED - Please remove this line after configuration

Editei a linha abaixo:

# language to use from languagedir.
# language = ‘ukenglish’ #Configuracao original comentado por Alex
language = ‘portuguese’

Fiz o download da blacklist

Descompactei a blacklist no diretório /etc/dansguardian

cd /etc/dansguardian

tar zxvf bigblacklist.tar.gz

Editei o arquivo /etc/dansguarian/bannedsitelist tirando o comentário das categorias que queria bloquear.

Nota: Se quiser baixar meu arquivo bannedsitelist clique AQUI.

Após as configurações foi necessário iniciar o Dansguardian

service dansguardian start

Para finalizar configurei o iptables para fazer proxy transparente executando os seguintes comandos

iptables -t nat -A OUTPUT -p tcp –dport 80 -m owner –uid-owner proxy -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m tcp –dport 3128 -m owner –uid-owner dansguardian -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 8080
iptables -t nat -A OUTPUT -p tcp -m tcp –dport 3128 -j REDIRECT –to-ports 8080

Para que isso fosse executado após reinciar a máquina criei um pequeno script de inicialização

iptables-save > /etc/firewall

vim /etc/init.d/iptrestore

#!/bin/sh
iptables-restore < /etc/firewall

chmod 755 /etc/init.d/iptrestore

update-rc.d iptrestore defaults

Depois disso tudo veio a hora do teste. Digitei no Iceweasel www.playboy.com e shoowwww.

As fotos das mulheres peladas foram substituidas pela tela abaixo:

7 Responses to “Bastille + Squid + Dansguardian = Nicolas navegando seguro”

  1. Tadinho do teu filho!! hauhauau

    Vlw pela dica!!

  2. Cara, valeu pela dica…

    Eu ainda acho um pouco difícil esse tipo de configuração no linux. Existe alguma interface gráfica em GTK para fazer esse tipo de configuração? (firewall, permissões a sites.. etc)

  3. Po, o dansguardian bloqueou somente o servidor e nada nas máquinas clientes.
    Como faço para liberar o servidor e bloquear somente nos clientes?

    E outra, porque é 8080 nas regras do firewall a porta em vez de 3128 do squid?

  4. Olá Rodrigo,

    Para liberar o servidor adicione no arquivo exceptioniplist o ip do servidor

    Para bloquear as estações adicione na regra do iptables a opção -s ip_da_rede em todas as regras.

    O Dansguardian escuta na porta 8080, o squid redireciona todas as requisições para ele.

    Sds,

    Alex

  5. iptables -t nat -A OUTPUT -p tcp –dport 80 -m owner –uid-owner proxy -s 192.168.0.1/24 -j ACCEPT

    assim?

  6. Tentei redirecionar com o Firestarter, mas não sei por que motivo ele não aceitou o redirecionamento transparente.

  7. Não ta funcionando o proxy transparente… apenas o servidor esta boqueando…

Leave a Reply