Você está na página 1de 10

METODOLOGIA (PASSO A PASSO)

Para a realização das configurações e testes do Firewall PFsense é


necessário o Software Oracle Virtual Box versão 5.1.22 ou superior, já com
as máquinas virtuais criadas, uma delas rodando o PFSense e a outra um
sistema operacional cliente, a escolha do usuário. A primeira, rodando o
Firewall configurada com duas placas de rede, a primeira conectada à
internet e a segunda conectada à rede interna local. 

A versão do PFSense instalada deve ser a 2.4 ou superior. Não serão


abordadas configurações como alteração de nome de máquina e domínio,
senha de acesso e configurações irrelevantes ao propósito desse
documento. É necessário que o usuário possua esse conhecimento e já
tenha feitos as configurações iniciais previamente. 

Utilizando a máquina com o sistema operacional cliente, acesse a interface


de configuração WEB do PFSense. Para que tudo transcorra corretamente,
é necessário desabilitar o acesso SSL na interface WEB de configuração do
PFSense, apesar de ser uma falha de segurança e não recomendado, é
necessário, pelo menos inicialmente. 

Essa configuração não se tornará um grande problema, desde que não


exista acesso externo ao PFSense, ou que o mesmo seja feito através de
uma conexão VPN. Para realizar esses procedimentos, o caminho a ser
acessado é "System → Advanced". 

A opção a ser alterada está na figura 2.

Figura 2: Opção a ser selecionada


Realizado esse procedimento, é necessário iniciar a instalação dos pacotes
necessários para o funcionamento do Firewall. O primeiro a ser instalado é
o Squid, para isso, o caminho acessado é "System → Package Manager". A
guia deve ser selecionada conforme a figura 3. Nesse momento, o pacote
SquidGuard também pode ser instalado para dar agilidade aos
procedimentos de configuração.
Figura 3: No campo Search Term procure Squid e instale o pacote
Após a realização da instalação, é necessário configurar o cache local do
Squid e iniciar o serviço, os passos necessários encontram-se nas figuras
de 4 a 10. Primeiro, acesse "Services → Squid Proxy Server" e siga os
passos contidos nas figuras.

Clique no botão "Save", que se encontra no final da página.


É necessário salvar as configurações com o botão "Save" localizado no final
da página. O Proxy Squid, nesse momento, já está funcionando, é
necessário configurar os arquivos de autoconfiguração do PAC para isso
navegue até o menu "Diagnostics → Command Prompt" e execute o
comando conforme a figura 11.

O botão "Execute" deve ser acionado para concluir a execução do


comando. Feito isso, é necessário navegar até o arquivo, sempre utilizando
a interface de configuração WEB, siga o caminho "Diagnostics → Edit File"
e selecione o botão "Browse" e navegue até o caminho /usr/local/www/ e
localize o arquivo "proxy.pac", edite-o e coloque as seguintes informações
no mesmo, alterando somente o nome do domínio na última linha do
arquivo, mantendo o wpad: 
function FindProxyForURL(url, host){
   var hostIP = dnsResolve(host);
   return "PROXY wpad.seudominio:3128"
}
Retorne ao executor de comandos do PFSense e execute os seguintes
comandos: 

# ln -s /usr/local/www/proxy.pac /usr/local/www/wpad.dat
# ln -s /usr/local/www/proxy.pac /usr/local/www/wpad.da 

Esses comandos irão criar links simbólicos aos outros dois arquivos,
informando ao sistema que os três têm o mesmo conteúdo. Tendo
realizados com sucesso os passos anteriores, é necessário que os
seguintes arquivos "mime.types" e "mime.types-dist" sejam alterados. Eles
estão contidos no seguinte caminho /usr/local/etc/nginx, utilize o
procedimento anteriormente explicado para acessar os arquivos e incluir,
em ambos, as seguintes linhas: 

application/x-ns-proxy-autoconfig      pac;
application/x-ns-proxy-autoconfig      dat;
application/x-ns-proxy-autoconfig      da;

É extremamente importante que as configurações estejam exatamente


conforme citadas, visto que qualquer erro pode interromper o funcionamento
tanto do NGinx, que é o servidor WEB do PFSense, quanto do Firewall e
Proxy. Tendo escolhidos já o nome da máquina e domínio em que a mesma
se encontra, deve ser criado um apontamento no servidor DNS para
"wpad.seudominio". 

O procedimento está descrito nas imagens a seguir, navegue até "Services


→ DNS Resolver", navegue até o fim da página e selecione "Host Overrides
→ add", preencha as informações conforme a figura:

O próximo passo é definir como o DHCP vai distribuir as informações,


navegue até "Services → DHCP Server", navegue até o fim da página e
quando encontrar a opção "Additional BOOTP/DHCP Options", clique em
"Display Advanced" e adicione as opções conforme a figura:

As opções ficarão conforme a tabela abaixo:


252 String http://wpad.seudominio/proxy.pac
252 String http://wpad.seudominio/wpad.dat
252 String http://wpad.seudominio/wpad.da
Já estará tudo funcionando, o necessário agora é somente criar regras no
Firewall que impeça o acesso à internet sem passar pelo Proxy. Para isso,
acesse "Firewall → Rules" e exclua todas as regras já existentes; e inclua,
com o botão "ADD" duas novas, preenchendo-as da seguinte forma: 

A primeira regra, permite acesso ao DNS, deve permitir passagem pela


porta 53 do Firewall, segue abaixo as configurações já preenchidas:

Clique em "Save" no final da página, a próxima regra permite acesso ao


servidor de Proxy, que fará a comunicação com a internet. O procedimento
de criação da regra é exatamente o mesmo, o que muda são as
informações preenchidas, segue as imagens com as informações que
devem ser inclusas na regra:
As regras do Firewall devem ficar da seguinte forma:

Feitas essas configurações, é necessário acessar diretamente o PFSense e


em sua interface de linha de comando escolher a opção 11, que reiniciará o
servidor WEB para que as configurações feitas entrem em ação. Depois
disso, deve-se reiniciar a máquina PFSense e também a máquina cliente. 
SQUIDGUARD

Para utilização do SquidGuard, nesse ponto o pacote já deve estar


instalado, o menu "Services → SquidGuard Proxy Filter" na aba "Blacklist"
deve ser adicionado o link de download da blacklist a ser utilizada, conforme
a figura.

Selecione o botão "Download" e o mesmo se iniciará. Após o download das


listas negras do SquidGuard é necessário habilitar sua utilização, mas antes
disso é necessário definir como regra padrão "Allow" ou todo o trafego para
internet será bloqueado. Na guia "Common ACL", na opção "Target Rules
List" expandida, no final da página há a opção "Default Access [all]" que
deve estar como "Allow" e acima dela estão listadas as categorias dos sites
a serem bloqueadas.

Dessa forma, o SquidGuard, permite acesso a tudo, exceto ao que estiver


bloqueado. Com as listas configuradas, o serviço pode ser habilitado e
iniciado. Na guia "General Settings", as opções a serem marcadas estão
contidas nas figuras a seguir:

Configurando WPAD Autoconfigure


para o pacote Squid
O software pfSense® pode ser configurado para fornecer dados de
configuração automática de proxy aos clientes para direcionar os usuários ao
squid em execução no sistema pfSense ou em outro sistema local, assumindo
que as configurações do sistema estejam configuradas para este
comportamento. Embora os dados possam ser servidos pelo firewall, a tarefa é
mais adequada para outro servidor da Web local, se houver um disponível.

Nota

Para usar o servidor web no firewall para servir esses dados, a GUI deve ser
executada no modo HTTP, ou o pacote vhosts pode ser usado para configurar
um servidor HTTP alternativo na porta 80. Nenhum destes é recomendado
tanto quanto executar um local separado servidor da web para esta tarefa.
Esse processo é conhecido como WPAD, abreviação de Web Proxy
AutoDiscovery Protocol . Se um navegador da web estiver configurado para
autodiscovery, ele tentará alguns métodos para descobrir a localização de um
proxy.

Um host WPAD pode ser fornecido por meio da opção 252 de número DHCP
(valor da string contendo a URL inteira para o arquivo WPAD) ou DNS, que é
fácil de fazer com o encaminhador DNS integrado.

Por que isso seria feito?


Para usar a autenticação do squid, o squid não pode ser usado no modo
transparente. O tráfego HTTPS também não pode ser filtrado usando o modo
transparente. Quando o squid é executado no modo normal, um IP proxy e uma
porta devem ser configurados em cada máquina cliente, o que pode ser
tedioso. Isso também pode causar problemas em laptops road warrior que
entram e saem da rede. Em vez de redefinir sua configuração de proxy cada
vez que eles entram e saem, o autoconfigure permite que eles entrem e saiam
sem muitos problemas.

A maioria, senão todos, os navegadores modernos são fornecidos com a


configuração de autoconfiguração desativada, portanto, ainda pode ser
necessário enviar / inserir essa configuração nos PCs clientes. Mesmo assim,
outra vantagem de usar o autoconfigure é que caso o squid mude para outro
endereço IP, apenas um arquivo deve ser alterado para informar aos clientes o
endereço IP atualizado. (Isso pode ser fácil de fazer em um domínio do
Windows com AD, mas não para muitos outros!)
Pré-requisitos
Esta receita assume que o squid já está operando em uma configuração não
transparente. Para obter ajuda com isso, consulte Uma breve introdução aos
proxies e relatórios da Web: Squid, SquidGuard e Lightsquid e no Fórum
Netgate .

Crie wpad.dat
Antes de começar, um arquivo wpad.dat deve ser criado. Este é um único
arquivo com uma função JavaScript que informa ao navegador como encontrar
um nome de host proxy e uma porta. Esta função pode ser tão simples ou tão
complexa quanto desejado; existem muitos exemplos na web. Neste exemplo,
todos os clientes serão direcionados para a instância do squid no firewall.

O conteúdo do arquivo wpad.dat de exemplo é:

function FindProxyForURL(url,host)
{
return "PROXY 192.168.1.1:3128";
}
A função nesse arquivo diz ao navegador para procurar um proxy
em 192.168.1.1 na porta 3128 .

Agora carregue esse arquivo para o sistema pfSense ou outro servidor web
acessível localmente com scp, ou crie-o usando o editor de arquivos
embutido. O arquivo deve ir em / usr / local / www / .

Devido às diferentes maneiras que várias versões de navegador tentam


acessar o arquivo, esse mesmo código deve existir em pelo menos três lugares
diferentes:

/usr/local/www/wpad.dat
/usr/local/www/wpad.da
/usr/local/www/proxy.pac
(Usuários mais avançados podem fazer isso a partir do shell e usar ln para
vincular os arquivos.)

Recomendamos apontar o wpad. para um servidor da web interno que pode


responder a solicitações de wpad.dat e arquivos associados. Pode ser qualquer
servidor da web, mas normalmente deve ser servido a partir
do VirtualHost padrão e também de um wpad chamado , devido às diferenças
em como os navegadores solicitam o arquivo.
Para fazer isso funcionar usando o roteador PfSense para servir o arquivo, os
endereços IP locais precisarão ser capazes de acessar o endereço IP da
interface local do roteador PfSense. Eles não precisam acessar a WebGUI com
uma senha, este arquivo será servido sem autenticação. A GUI também deve
ser executada no modo HTTP, que é menos seguro. Se a GUI estiver
configurada para usar HTTP, nunca abra o acesso à GUI pela WAN.

Configurar DNS
Agora, para configurar a parte DNS. O WPAD pegará o nome de domínio
fornecido à máquina, provavelmente atribuído pelo DHCP, e acrescentará
o wpad. . Se o domínio for example.com , ele
procurará wpad.example.com . Esta tarefa pode ser realizada com o DNS
Forwarder / DNS Resolver no roteador pfSense ou com outro servidor DNS
interno usado por PCs clientes.

Um navegador cliente tentará acessar http://wpad.example.com/wpad.dat -


entre outros. Mais detalhes sobre os nomes de host testados pelo WPAD estão
disponíveis no artigo do WPAD na Wikipedia .

Para adicionar a entrada usando o encaminhador DNS no roteador pfSense,


navegue até Serviços> Encaminhador DNS . Clique  para adicionar um
novo Host Override .

Digite o seguinte (substitua o domínio e o endereço IP por seus valores reais):

 Host : wpad
 Domínio : example.com
 Endereço IP : 192.168.1.1
 Descrição : Host WPAD Autoconfigure
Clique em Salvar .

Você também pode gostar