Instalando Squid - TuxTI
Instalando Squid
De TuxTI
Esse tutorial aborda a instalação do squid na versão 3 no sistema operacional Debian 6.0.
O Squid é um programa de proxy que pode ser instalado em Windows, Linux, FreeBSD e outros Unix. Com ele é possível criar filtros de páginas, cache de sites visitados e autenticação para uso da internet.
Em uma instalação padrão do squid os arquivos e pastas principais estão localizados em:
/etc/squid3/: Pasta onde ficam os arquivos de configuração;
/etc/squid3/squid.conf: Arquivo de configuração principal;
/var/log/squid3: Arquivos de log.
2.3 Terceira Parte
3 Restrição de acesso por IPs e listas de sites
5 Arquivo Final
Para iniciar a instalação do squid execute o comando abaixo com o usuário root:
Após instalar os pacotes, crie a pasta abaixo para colocar o cache dos sites acessados, e defina permissões de uso para o usuário proxy:
chown proxy /var/cache/squid
Edite o arquivo de configuração do squid /etc/squid3/squid.conf e deixe com o conteúdo abaixo:
### Parâmetros de Configuração
cache_dir ufs /var/cache/squid/ 300 16 256
### Listas de Controle de Acesso
acl rede_local src 192.168.0.0/24, 192.168.1.0/24
### Liberações e Restrições de Acesso
A primeira parte da configuração contém parâmetros de configuração do squid:
- http_port
Especifica a porta do serviço, por padrão é a 3128
- cache_dir
Define a pasta onde serão salvos os arquivos de cache das paginas visitadas.
A segunda parte são os parâmetros que definem as listas de de controle, essas listas serão utilizadas na última sessão para controle de acesso.
O parâmetro acl define as Listas de Controle de Acesso, o seu formato é:
acl Nome_da_Acl Tipo Argumentos
Se pegarmos o exemplo abaixo:
|     |   |               |
|     |   ------------------> Argumentos: São passadas duas Sub-redes.
|     ----------------------> Tipo: 'src' usado para especificar endereços de origem
----------------------------> Nome da Lista: Esse nome 'rede_local' será utilizado
na sessão de controle de acesso
Os outros tipos de acl:
Para criar listas de endereços de destino
Listas de Protocolos
Portas de serviços
Metodo de requisição
Lista de palavras ou endereços a serem verificados na url requisitada. Vamos utilizar esse tipo mais adiante.
A lista completa pode ser vista nesse link: http://www.squid-cache.org/Doc/config/acl/ [1]
E a terceira sessão está o controle de acesso, onde squid faz as liberações ou restrições. A leitura das regras é feita na mesma ordem que está escrita no arquivo de configuração, e quando uma regra casa é executada uma ação, e se encerra a leitura das regras. Então deve-se ter atenção com a posição das regras.
Permite (allow) ou Nega (deny) acesso de acordo com as Listas de Controle de Acesso (acl), o seu formato é:
http_access Ação(allow ou deny) Argumentos
Restrição de acesso por IPs e listas de sites
A forma mais básica criar restrições, dessa forma podem ser feitos bloqueios ou liberações pelo endereço IP da máquina do usuário.
Crie um arquivo chamado sites_bloqueados.txt dentro da pasta /etc/squid3/, e dentro dele coloque o palavras ou endereço de alguns sites que seriam bloqueados na sua rede, como por exemplo:
garotassensuais.com.br
Agora crie um arquivo chamado ips_liberados.txt dentro da pasta /etc/squid3/, e dentro do arquivo coloque endereços de IP que podem ter acesso irrestrito, como no exemplo:
Agora edite o arquivo squid.conf e acrescente as regras de acl abaixo junto com as outras acl's:
acl sites_bloqueados url_regex "/etc/squid3/sites_bloqueados.txt"
acl ips_liberados url_regex "/etc/squid3/ips_liberados.txt"
E na parte das restrições de acesso coloque as linhas abaixo antes da linha que libera a rede local ("http_access allow rede_local")
Mas nessa lista de bloqueios pode ser bloqueado um site por engano, por exemplo, o site www.sexoesaude.com.br seria bloqueado também, então podemos criar uma lista de exceção, crie um arquivo chamado sites_liberados.txt dentro da pasta /etc/squid3/, e dentro coloque sites liberados:
sexoesaude.com.br
Agora edite o arquivo squid.conf e acrescente a regra de acl abaixo junto com as outras acl's:
acl sites_liberados url_regex "/etc/squid3/sites_liberados.txt"
E modifique a linha que está assim: http_access deny sites_bloqueados
Para: http_access deny sites_bloqueados !sites_liberados
O sinal de exclamação ! indica uma exceção.
Abaixo seguem alguns comandos úteis.
Reinicia o serviço do Squid.
Faz com que o processo do Squid releia o arquivo de configuração, se rodar o comando anterior "service squid3 restart", você vai perceber que o programa vai demorar para rodar, por que o squid vai ter que parar o cache (Armazenamento de paginas), e isso leva um pouco de tempo, então quando fizer a alteração em alguma regra no arquivo de configuração, é melhor utilizar o comando: "squid3 -k reconfigure"