Configurando Proxy Transparente com Squid Proxy e PfSense

1. Instalando PFSense

Confira o manual de instalação aqui:http://www.nanoshots.com.br/2015/08/instalacao-e-configuracao-do-firewall.html


2. Instalando os pacotes do Squid e SquidGuard

Na no menu "System", vá até a aba "Packages"


 



Na aba Available Packages, procure por Squid e SquidGuard entre os pacotes e em seguida clique no "+" para instalá-los como modulos no pfSense.








3. Configurando o Proxy Server

Configurações Gerais 

Acesse Services > Proxy Server e na aba "General" marque a opção "Transparent proxy" e "Allow users on interface" e Deixe a interface do Proxy configurada para a placa de rede interna.




No campo "Bypass proxy for these source IPs" coloque os IPs da sua rede que você não queira que passe pelo Proxy.


Configurando o Cache de Disco 

Na aba Cache Mgmt vamos configurar o cache do sistema de Proxy.



Hard Disk Cache: Aqui vamos definir o tamanho total do cache que será armazenado em disco. Vamos solicitar uma quantia bacana de arquivos cacheados que não acarrete em perda de desempenho do sistema. Esse valor deve ser em torno de 2000 a 4000 (2GB a 4 GB)

Hard Disk Cache System: É o diretório onde vão ser armazenados os arquivos de cache. Recomendo que deixe o mesmo no diretório /var/squid/cache por Default.

Memory Cache Size: Aqui vamos definir o tamanho de memória do sistema para alocar os arquivos cacheados. Esse campo deve ser preenchido com NO MÁXIMO 50% da memória total do servidor em MB. Neste exemplo estou trabalhando em um servidor com 1 GB de RAM, ou seja 1024 MB de RAM, então podemos configurá-lo com 512 MB.

Minimum Object Size: Corresponde ao tamanho mínimo dos arquivos armazenados em cache. Esse podemos deixar em 0 por Default.

Maximum Object Size: Corresponde ao tamanho máximo de arquivos armazenados em cache. Caso configuremos o valor correspondente a 10000 (10 MB), todos os arquivos e downloads com menos de 10 MB vão ficar cacheados na memória até que a mesma fique cheia. Todos os arquivos e Downloads maiores passariam direto pelo SQUID. Esse valor é relativo ao fluxo da sua rede, por padrão eu gosto de deixar o mesmo com 10% da memória de cache, ou seja 5000

Maximum Object Size in RAM: Quantidade máxima de objetos armazenados dentro da mémoria Ram do servidor. Padrão 32 objetos. EX: 40.000/32 = 1.250 objetos armazenados na mémoria para cache.

Do Not Cache: Aqui podemos preencher quais dominios, IP’s que não serão cacheados pelo nosso servidor. Ex: www.bradesco.com.br



Controlando o acesso 

Na aba Acess Control iremos definir algumas configurações referentes a rede e aos filtros. 
 

 

 
 
 
 
 
 

Allowed subnets: Aqui vamos definir as subredes em que o Proxy vai se aplicar.

Whitelist: Aqui vamos definir os sites que vão passar livres pelo Squid.

Blacklist: Aqui vamos definir os sites e termos que vão ser bloqueados imediatamente pelo Squid.



Configurando os Filtros do SquidGuard 

Ativando os Filtros 
Acesse o menu de filtros do Squid em Services > Proxy filter e ative o proxy guard clicando em "Enable", em seguida ative as opções "Enable GUI log" e  "Enable log"


Baixando a Blacklist

Mais abaixo, ative a opção da Blacklist e na Blacklist Options e na Blacklist URL baixe o seguinte arquivo:
http://www.shallalist.de/Downloads/shallalist.tar.gz


Em seguida na aba Blacklist, veja se a URL que definimos está no campo de Black List Update e clique em Download para baixar o pacote de atualização.




Configurando a Blacklist 


Agora na aba Common ACL clique em Target Rules List  para mostrar os grupos de ACLs, agora só marcas as mesmas como desejar. Em seguida clique em Save.



Fonte: http://www.nanoshots.com.br/2015/09/configurando-proxy-transparente-com.html

.