Proxy com Squid3 + SquidGuard no Ubuntu
Proxy com Squid3 + SquidGuard é uma ótima solução para controlar acesso a internet. Seja em uma grande rede com mais de 500 usuários ou uma pequena rede.
Na minha opinião, quem tem uma empresa onde o acesso a internet é liberado sem a utilização de proxy está sem duvida nenhuma perdendo dinheiro.
Experiencia própria, quando o usuário tem a opção de acessar a internet ele vai acessar, não pense que ele terá consciência que o acesso a alguns sites pode danificar o seu computador com vírus ou coisas do tipo. Se o cara pode acessar, ele vai acessar!
Então a solução é sempre colocar um proxy para controlar esses acessos. Quando falamos de proxy rodando em Linux, estamos falando do Squid.
Abaixo está um passo a passo para instalar o squid3 + squidGuard no Ubuntu, lembrando que essa mesma configuração pode ser utilizada para o Debian.
Se você tiver alguma duvida nos comandos de instalação que iremos utilizar hoje, você pode baixar o Ebook Grátis do Curso Linux Ubuntu, nele eu demonstrei um bom conteúdo sobre como fazer gerenciamento de pacotes no Ubuntu.
Antes de iniciar eu gostaria de deixar registrado o seguinte:
Essa configuração de Proxy com Squid3 + SquidGuard é a configuração padrão que eu utilizo para gerênciar mais de 200 usuários, ou seja, essa configuração funciona muito bem para o meu caso de uso, e claro poderá funcionar para o seu também.
Existem muitas maneiras de configurar um Proxy Squid, esse passo a passo mostra apenas uma forma, mas que pode resolver o seu problema.
Maiores problemas do acesso a internet sem proxy
Lembra que eu falei no inicio do artigo: Empresa que não utiliza proxy para controlar a internet está perdendo dinheiro.É isso mesmo, a maior reclamação das empresas onde eu já configurei um proxy é que seus funcionários não estão mais trabalhando pois só ficam na internet.
É isso mesmo o que acontece, infelizmente a grande maioria não sabe utilizar a internet da maneira correta, e isso só é resolvido com a instalação de um proxy rodando em Linux.
Outro problema grande é o consumo da banda de internet, sem proxy em uma rede com 200 funcionários um link de 10 Mb seria facilmente consumido, com acesso ao youtube ou sites de rádio on-line por exemplo.
Acesso a sites maliciosos também é um grande problema, mas isso não preciso nem dar exemplos, todos nós sabemos.
Como será o nosso ambiente para configurar esse proxy em Linux?
Eu estou utilizando o Ubuntu 12.04, mas você pode utilizar o Debian também tranqüilamente.O Squid é o nosso servidor proxy;Se você tiver alguma duvida nos comandos de instalação que iremos utilizar hoje, você pode baixar o Ebook Grátis do Curso Linux Ubuntu.
O squidGuard é o software que irá controlar nossas Blacklists, ou seja nele vamos dizer quais sites não podem ser acessados.
1) Instalação do squid
apt-get install squid3
2) Instalação do squidGuard
apt-get install squidguard
3) Configuração do squid
vim /etc/squid3/squid.conf
3.1) Configuração de autenticação no LDAP
Adicione a linha abaixo para chamar o script:auth_param basic program /usr/lib/squid3/ldap_auth.sh
3.1.2) Criar ao script para passar os parâmetros do servidor ldap
vim /usr/lib/squid3/ldap_auth.sh—-inicio do conteudo do script—-
#!/bin/sh
exec /usr/lib/squid3/squid_ldap_auth -b “ou=People,dc=dominio,dc=com,dc=br” 10.1.1.1
—-fim do conteudo do script—-
chmod 755 /usr/lib/squid3/ldap_auth.shEstou usando LDAP para autenticar no squid, mas nada impede de utilizar o ncsa_auth, no arquivo de configuração do squid temos esse exemplo:
# auth_param basic program /usr/lib/squid3/ncsa_auth /usr/etc/passwd
3.1.3) Configuração da regra no squid para fazer autenticação ( ACL )
vim /etc/squid3/squid.confAdiciona um nova linha depois de http_access allow localhost
# ------ inicio da configuração -------
acl USUARIOS proxy_auth REQUIRED
# ------ fim da configuração -------
3.2) Fazendo a liberação da uma rede para navegar pelo proxy
vim /etc/squid3/squid.conf# ------ inicio da configuração -------
acl rede_1 src 192.168.1.0/24 http_access allow rede_1 USUARIOS
# ------ fim da configuração -------
3.3) Regra para bloquear sites, direto no squid
# ------ inicio da configuração -------
acl SITE_PROIBIDO dstdomain .facebook.com .facebook.com.br
# ------ fim da configuração -------Nossa http_access deve chamar essa acl “SITE_PROIBIDO” com a opção de !
# ------ inicio da configuração -------
acl rede_12 src 192.168.12.0/24 http_access allow rede_12 USUARIOS !SITE_PROIBIDO
# ------ fim da configuração -------
3.4) Configuração do controle de banda de internet
#------------- INICIO DO CONTROLE DE BANDA ---------------------- acl DOMINIO_LIVRE dstdomain .algum-site.com.br
# Significa que teremos dois controles de banda delay_pools 2
# PRIMEIRO CONTROLE DE BANDA - sem limite de banda para acesso normal delay_class 1 2 delay_parameters 1 -1/-1 -1/-1 delay_access 1 allow DOMINIO_LIVRE
# SEGUNDO CONTROLE DE BANDA - Limita a sua banda para +- 4MB delay_class 2 2 delay_parameters 2 4000000/4000000 400000/400000 delay_access 2 allow all #-------------------------------------------------------------
3.5) Trocando a porta e servidor DNS do squid
Eu gosto sempre de rodar o proxy na porta 8080, então editamos o arquivo:vim /etc/squid3/squid.conf
# ------ inicio da configuração -------
http_port 8080
# ------ fim da configuração -------Também gosto de usar o DNS do google, por isso adiciona a linha abaixo:
# ------ inicio da configuração -------
dns_nameservers 8.8.8.8 8.8.8.4
# ------ fim da configuração -------Essas duas configurações são opicionais.
3.6) Ativar as novas configurações
squid3 -k reconfigurePronto, com isso o seu proxy já está configurado, mas o acesso a internet está liberado. Somente o controle de banda está ativo.
3.7) Restringir o tamanho do Download
Editar o arquivo /etc/squid3/squid.confDescomentar a linha abaixo, e ajustar para sua necessidade.
# ------ inicio da configuração -------
reply_body_max_size 5 MB
# ------ fim da configuração -------
4) Configurando o squidGuard
Bom agora é simples, temos apenas que dizer para o Squid3 que ele precisar repassar as solicitações para o squidGuard. Assim podemos fazer todos os filtros necessários para restringir sites.Vamos utilizar um Blacklist para facilitar nosso trabalho.
4.1) Baixar / Instalar as Blacklists para o SquidGuard
Nesse site: http://urlblacklist.com/?sec=downloadObs: Link direto: http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist
Veja mais BlackLists em http://www.squidguard.org/blacklists.html
Com o arquivo em mãos vamos fazer a configuração do SquidGuard.
tar -xzvf bigblacklist.tar.gz cd blacklist mv * /var/lib/squidguard/dbDepois disso basta configurar o arquivo do /etc/squidguard/squidGuard.conf e indicar a blackList a ser utilizada
4.2) Configuração do arquivo do /etc/squidguard/squidGuard.conf
#--- INICO DO ARQUIVO dbhome /var/lib/squidguard/db logdir /var/log/squidguard
# # ACL RULES: # dest audio-video { domainlist audio-video/domains urllist audio-video/urls } # ... mais configurações aqui acl {
default { pass !ads !socialnetworking !mail !adult !antispyware !audio-video !chat !filehosting !filesharing !games !hacking !instantmessaging !malware !onlinegames !phishing !porn !proxy !radio !remote-control !sexuality !updatesites !virusinfected !news all redirect http://www.seu-site.com.br/proibido.html }
}
#--- FIM DO ARQUIVOOBS.: Verifique se o arquivo de configuração do squidGuard está com a permissão correta, se não tiver teremos que executar o comando abaixo.
chown proxy:proxy -R /etc/squidguard/squidGuard.conf
4.3) Configurar o Squid para trabalhar com o SquidGuard
Precisamos editar o arquivo de configuração do squid /etc/squid3/squid.confAdicionar a linha abaixo:
url_rewrite_program /usr/bin/squidGuard –c /etc/squidguard/squidGuard.conf
4.3) Gerar o banco de dados do SquidGuard
Para refazer o banco de dados do squidGuardcd /var/lib/squidguard/db/; squidGuard -C all ; chown proxy:proxy -R /var/lib/squidguard/db/ ; squid3 -k reconfigure
Obs.: Cada vez que for atualizado o BlackList, teremos que rodar o comando acima, para refazer o banco de dados do SquidGuard, trocar a permissão dos arquivos para o usuário do proxy e reiniciar o squid.
Essa parte é muito importante para o funcionamento do proxy, qualquer erro de permissão pode sim dar erro no SquidGuard.
4.4) Como fazer teste do seu proxy Squid3 + SquidGuard
Para testar sua configuração, analise o diretório /var/lib/squidguard/db/.Veja que nesse diretório, temos vários sub diretório, exemplo:
Diretório:
audio-videoDentro desse diretório temos geralmente dois arquivos:
domains
urlsNesses arquivos estão os domínios e urls que o squidGuard irá bloquear, você pode editar esse arquivo normalmente, e depois mandar gerar o novo banco de dados com o comando abaixo:
cd /var/lib/squidguard/db/; squidGuard -C all ; chown proxy:proxy -R /var/lib/squidguard/db/ ; squid3 -k reconfigure
Para testar: Pegue um domínio qualquer que esteja sendo utilizado no arquivo /var/lib/squidguard/db/audio-video/domains e tente acessar.
Você deve ser redirecionado para o site que foi indicado no arquivo /etc/squidguard/squidGuard.conf, veja o parametro “redirect http://www.seu-site.com.br/proibido.html”
Conclusão:
Solução perfeita para controlar acesso a internet não existe, essa é a minha opinião, mesmo com todos esses Blacklists alguém sempre vai acessar algum site que não é para uso do trabalho.Eu também uso uma outra prática de configuração de proxy que é: Bloquear tudo, e libera conforme demanda, usando Whitelists, da muito mais trabalho com toda certeza, mas também é muito mais confiável, depende muito do perfil da empresa onde será implantado.
Nenhum comentário:
Postar um comentário