Fui uma grande surpresa minha, ao ver que no PFSense 2.3.1 foi criado um nova feature, que permite interceptar o tráfego HTTPs via squid, e ainda mais no modo transparente.
De fato, já funcionava antes, mas o processo para realizar essa
função, além de trabalho, era bem complicado, com a geração do
certificado, configuração do squid.conf, seja através do squid.inc ou
das opções customizadas na Guia Geral do Squid.
Vou assumir que já esteja instalado o PFSense 2.3 e funcionando corretamente com sua LAN e WAN.
O Squid simplesmente estabelece uma conexão TCP com o servidor de destino e responde ao cliente com uma resposta HTTP 200 para indicar que a conexão foi estabelecida.
Uma vez que o túnel criptografado tenha sido estabelecido, o squid passa os pacotes entre o cliente e o servidor, mas não tem nenhuma visibilidade para o tráfego, uma vez que é protegido por criptografia SSL.
E ao longo dos anos muitos sites começaram a ativar a criptografia HTTPS por padrão, como é o caso do google, gmail, facebook entre outros, tornando o monitoramento muito limitado, caso não fosse configuração interceptação proxy HTTPS.
Felizmente o squid suporta “man in the middle SSL Filter”, que permitirá visualizar o conteúdo que passa através do tráfego.
Apesar de suportar isso a algum tempo, sua configuração era no mínimo complicada, para não falar outra coisa. Mas na versão mais nova do PFSense esta tarefa se tornou tão simples como habilitar o próprio Squid.
Então vamos aos passos para habilitar essa funcionalidade no Squid.
Após localizar o Squid3 da lista de pacotes click no botão mais “+” do lado direito do pacote para iniciar a instalação do pacote.
O package manager irá automaticamente fazer download e instalar o Squid 3.
Vou assumir que já esteja instalado o PFSense 2.3 e funcionando corretamente com sua LAN e WAN.
Por que habilitar HTTPS
Por default o squid não monitora e não pode monitorar tráfego criptografado HTTPS.O Squid simplesmente estabelece uma conexão TCP com o servidor de destino e responde ao cliente com uma resposta HTTP 200 para indicar que a conexão foi estabelecida.
Uma vez que o túnel criptografado tenha sido estabelecido, o squid passa os pacotes entre o cliente e o servidor, mas não tem nenhuma visibilidade para o tráfego, uma vez que é protegido por criptografia SSL.
E ao longo dos anos muitos sites começaram a ativar a criptografia HTTPS por padrão, como é o caso do google, gmail, facebook entre outros, tornando o monitoramento muito limitado, caso não fosse configuração interceptação proxy HTTPS.
Felizmente o squid suporta “man in the middle SSL Filter”, que permitirá visualizar o conteúdo que passa através do tráfego.
Apesar de suportar isso a algum tempo, sua configuração era no mínimo complicada, para não falar outra coisa. Mas na versão mais nova do PFSense esta tarefa se tornou tão simples como habilitar o próprio Squid.
Então vamos aos passos para habilitar essa funcionalidade no Squid.
Passo 1 – Instalar o Pacote Squid 3
O primeiro passo é instalarmos o Squid usando o Package Manager do PFSense, indo em System->Packages.Após localizar o Squid3 da lista de pacotes click no botão mais “+” do lado direito do pacote para iniciar a instalação do pacote.
O package manager irá automaticamente fazer download e instalar o Squid 3.
Instalando pacote Squid 3 do Gerenciador de Pacotes do PFSense
Progresso de instalação do Pacote Squid3
Configure as seguintes opções:
Página de Configuração do Squid3
Para habilitar o modo proxy transparente configure as seguinte opções:
Vá até o pé da página e clique em save para salvar e aplicar as configurações feitas.
Se você não habilitar o modo transparente, terá que configurar o browser do cliente, e apontar as configurações de proxy para o IP do PFSense.
Neste ponto já temos o nosso proxy Squid configurado e pronto para uso no modo transparente. Já seria interessante testar nesse momento se está funcionado.
A partir do gerenciador de Certificados click em export CA para baixar o certificado, que salvara um arquivo com extensão .crt.
Clique no botão de instalação de certificado para iniciar o assistente de importação.
Clique em Avançar na primeira página do assistente de importação de certificados.
Selecione a opção colocar todos os certificados no armazenamento a seguir.
Clique no botão procurar e selecione Autoridades de certificação raiz confiáveis.
Clique em próximo e clique em Concluir na página de confirmação de importação.
Quando solicitado, clique em sim para confirmar o aviso de segurança.
Você deverá ver uma mensagem indicando que a importação do certificado foi bem-sucedida.
Acesse a página de configurações do squid (Services \ Squid Proxy Server) e defina as configurações abaixo.
Interceptação HTTPS / SSL – Verificada
Interface (s) de Interceptação SSL – Selecione LAN
CA – Selecione a autoridade de certificação criada na etapa 4
Clique em salvar na parte inferior da página para aplicar as configurações.
Passo 2 – Configurações Gerais do Squid
Após a instalação do pacote Squid, as configurações gerais devem ser feitas. A página de configuração podem ser encontrada em Services \ Squid Proxy Server.Configure as seguintes opções:
- Enable Squid Proxy – Checado
- Keep Settings/Data – Checado
- Proxy Interface(s) – Selecione LAN e Loopback.
Página de Configuração do Squid3
Passo 3 – Configuração do Proxy Transparente
Logo abaixo das configurações Gerais, vamos encontrar as configurações de proxy transparente. Na maioria dos casos, você irá utilizar o proxy transparente de forma que não seja necessário nenhuma configuração adicional nos browsers dos cliente. Quando ativamos o proxy transparente, o firewall redireciona automaticamente todo tráfego WEB (HTTP) para a entrada do servidor proxy.Para habilitar o modo proxy transparente configure as seguinte opções:
- Transparent HTTP Proxy – Checado
- Transparent Proxy Interface(s) – LAN
Vá até o pé da página e clique em save para salvar e aplicar as configurações feitas.
Se você não habilitar o modo transparente, terá que configurar o browser do cliente, e apontar as configurações de proxy para o IP do PFSense.
Neste ponto já temos o nosso proxy Squid configurado e pronto para uso no modo transparente. Já seria interessante testar nesse momento se está funcionado.
Passo 4 – Configurando Certificado de Autoridade (Certificate Authority)
Um certificado de autoridade deverá ser configurado no pfSense antes de habilitarmos a filtro HTTPS no Squid. A CA irá user usada para gerar novos certificados SSL para os clientes em termpo real e então criptografar e descriptografar o tráfego da web automaticamente.- Acesso o gerenciado de certificado no menu System \ Cert Manager.
- Clique em “+” para criar um novo certificado de autoridade.
- Descriptive Name: Escolha um nome para sua CA. Este nome será visível para os clientes.
- Method: Selecione “Create an internal Certificate Authority” no menu dropdown.
- Key length: É recomendado 2048 para máxima compatibilidade, mas você pode usar 4096 bits para máxima segurança.
- Digest Algorithm – use SHA256 ou superior.
- LifeTime – Configure para 3650 dias (10 anos).
- Distinguished Name – Preencha todos os campos como Country, State, etc.
Passo 5 – Exportando o Certificado CA
Após a criação da nova CA, essa deve ser exportada. Este certificado irá deverá ser instalado em qualquer cliente que irá usar o proxy.A partir do gerenciador de Certificados click em export CA para baixar o certificado, que salvara um arquivo com extensão .crt.
Passo 6 – Importando o Certificado
Para importar o certificado para um computador com Windows, clique duas vezes no arquivo .crt para abrir a caixa de diálogo do certificado.Clique no botão de instalação de certificado para iniciar o assistente de importação.
Clique em Avançar na primeira página do assistente de importação de certificados.
Selecione a opção colocar todos os certificados no armazenamento a seguir.
Clique no botão procurar e selecione Autoridades de certificação raiz confiáveis.
Clique em próximo e clique em Concluir na página de confirmação de importação.
Quando solicitado, clique em sim para confirmar o aviso de segurança.
Você deverá ver uma mensagem indicando que a importação do certificado foi bem-sucedida.
Passo 6 – Habilitando Filtro SSL em Man in The Middle
Depois de carregar o certificado nos computadores clientes, você estará pronto para ativar a filtragem de SSL no Squid.Acesse a página de configurações do squid (Services \ Squid Proxy Server) e defina as configurações abaixo.
Interceptação HTTPS / SSL – Verificada
Interface (s) de Interceptação SSL – Selecione LAN
CA – Selecione a autoridade de certificação criada na etapa 4
Clique em salvar na parte inferior da página para aplicar as configurações.
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.