Você está na página 1de 4

Configurando proxy/cache Squid com autenticao

Bem pessoal, vou configurar um proxy/cache Squid bem simples, mas bem seguro. Este tutorial destinado s derivaes do Debian e Ubuntu. Vamos colocar a mo na massa! Atualizando o distro: # aptitude update Atualizando o sistema: # apt-get dist-upgrade Instalando o Squid 2.7: # apt-get install squid O Squid foi instalado e configurado com suas configuraes padres. Testando o Squid: # squid -k reconfigure ok Agora vamos at o arquivo de configurao do Squid, onde todas as configuraes sero feitas. # cd /etc/squid # vim squid.conf ### WELCOME TO SQUID 2.7.STABLE4 (ricardo.honorio@gmail.com)### ############### ############### Autenticao do usurio # Aqui ser feita a autenticao dos usurios para o acesso a rede pblica auth_param basic auth_param basic auth_param basic auth_param basic auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd children 5 realm Digite seu login RT INFORMATICA credentialsttl 2 hours casesensitive off

############## ############## Porta padro, Host Name e acl # Aqui determinamos as portas padres a serem usadas por todos usurios http_port 3128 visible_hostname proxy-web ricardo.honorio@gmail.com acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl

SSL_ports port 443 # https SSL_ports port 563 # snews SSL_ports port 873 # rsync Safe_ports port 80 # http Safe_ports port 21 # ftp Safe_ports port 443 # https Safe_ports port 70 # gopher Safe_ports port 210 # wais Safe_ports port 1025-65535 # unregistered ports Safe_ports port 280 # http-mgmt Safe_ports port 488 # gss-http Safe_ports port 591 # filemaker Safe_ports port 777 # multiling http Safe_ports port 631 # cups Safe_ports port 873 # rsync Safe_ports port 901 # SWAT purge method PURGE CONNECT method CONNECT

############# ############# Pgina de erro do squid em acessos bloqueados # Determinamos que a pgina de erro do Squid ser em portugus, veja no exemplo abaixo: error_directory /usr/share/squid/errors/Portuguese ############ ############ Bloqueio de sites # Acl que ir bloquear url e palavras. Ex.: orkut qualquer site com a palavra orkut ser barrado. acl proibir_sites dstdomain "/etc/squid/sites" acl proibir_palavras url_regex -i "/etc/squid/palavras" ########## ########## Acl password proxy # Acl de autenticao - esta acl solicitar ao usurio login e senha acl password proxy_auth REQUIRED ######### ######### Liberao e bloqueio das ACLs # Neste momento liberamos acessos e bloqueamos acessos, allow libera e deny bloqueia http_access http_access http_access http_access http_access http_access http_access http_access http_access http_access http_access http_access deny proibir_palavras deny proibir_sites allow manager localhost deny manager allow purge localhost deny purge deny !Safe_ports deny CONNECT !SSL_ports allow password allow localhost allow localnet deny all

icp_access allow localnet icp_access deny all hierarchy_stoplist cgi-bin ? ######## ######## Arquivo de log do Squid # Arquivo de log do Squid, todos os logs de usurios ficam neste arquivo access_log /var/log/squid/access.log squid ######### ######### Refresh na pgina # Determinado de quanto em quanto tempo iremos limpar o cache refresh_pattern refresh_pattern refresh_pattern refresh_pattern ^ftp: 1440 20% 10080 ^gopher: 1440 0% 1440 -i (/cgi-bin/|\?) 0 0% 0 . 0 20% 4320

######### ######### Evitando conflito com o Apache # Evitando conflito com o Apache, pois utilizaremos o Apache acl apache rep_header Server ^Apache broken_vary_encoding allow apache extension_methods REPORT MERGE MKACTIVITY CHECKOUT hosts_file /etc/hosts coredump_dir /var/spool/squid Agora criaremos as pastas de bloquear sites por palavras: # cd /etc/squid O comando touch cria arquivos: # touch palavras # touch sites O comando vim edita um arquivo: # vim palavras playboy A sequncia de teclas :wq! salva e sai do vim. Faa o mesmo para "sites": # vim sites www.uol.com.br :wq! Reinicie o Squid:

# /etc/init.d/squid stop # /etc/init.d/squid start Ou: # squid -k reconfigure Agora instalaremos o Apache para criar os usurios do Squid: # apt-get install apache2 Testando o Apache: De qualquer mquina da rede digitar o IP do servidor que foi instalado o Apache e o Squid e a seguinte mensagem dever aparecer: It works! Sendo assim, Apache instalado com sucesso! Depois do Apache instalado, vamos criar os usurios do Squid: # cd /etc/squid Criando o usurio root, que ser o primeiro usurio do nosso Squid: # htpasswd -c /etc/squid/passwd root Senha: 123 Repetir: 123 Aps o root, crie os demais usurios s: # htpasswd /etc/squid/passwd usurio Senha: 1234 Repetir: 1234 Lembrado que o comando ncsa_auth deve estar em /usr/bin. Aps estas configuraes s reiniciar o Squid e configur-los nos terminais clientes. Reiniciando o Squid: # /etc/init.d/squid stop #/etc/init.d/squid start Nos terminais clientes, no navegador v em: Ferramentas > Opes da internet > Conexes > Configurao de lan Usar o endereo de proxy igual ao IP da mquina que est rodando o Squid. A porta ser a que determinamos em nosso Squid, no caso 3128. E pronto! Seu proxy/cache est funcionando. Abraos.