Problema com o Squid + HTTPS/SSL interception consumindo toda a memória



  • O pfSense do meu trabalho está atingindo 99% do consumo de memória, no início do dia o seu consumo está entre 5...6%, o consumo começa aumentar durante o dia, na metade do dia já está em 45...50% e depois de alguns minutos dispara para 55...60...70...85...99% em questões de segundos, se deixar o pfSense entra em colapso e trava.

    Durante o problema, o squid é o serviço que está consumindo mais memória. Tenho notado com os testes que o vilão está relacionado a opção "HTTPS/SSL Interception: Enable SSL filtering" + "SSL/MITM Mode: Splice All", deixei esta opção desativada por 2 dias e o consumo da memória ficou estável entre 5...10%.

    Uma forma de evitar o travamento é clicando na opção "Clear Disk Cache NOW" no menu Services / Squid Proxy Server / Local Cache / Squid Hard Disk Cache Settings, com isso o consumo da memória retorna ao seu normal.

    Não sei mais o que fazer, tentei várias sugestões de configurações do cache e nada resolve, também tentei fazer uma nova instalação do pfSense e mesmo assim o problema persiste.

    SEGUEM CONFIGURAÇÕES:

    pfSense 2.4.4-RELEASE (amd64)
    squid 0.4.44_6
    squidGuard 1.16.18_1
    Lightsquid 3.0.6_4

    CPU Type:
    Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz
    Current: 3000 MHz, Max: 3001 MHz
    4 CPUs: 1 package(s) x 4 core(s)
    AES-NI CPU Crypto: Yes (inactive)

    Memory: 16GB
    Hard Disk: 1TB

    SQUID PROXY SERVER
    Transparent HTTP Proxy: Enable
    HTTPS/SSL Interception: Enable SSL filtering
    SSL/MITM Mode: Splice All

    LOCAL CACHE
    == Squid Cache General Settings ==
    Cache Replacement Policy: Heap LFUDA
    Low-Water Mark in %: 60
    High-Water Mark in %: 65

    == Squid Hard Disk Cache Settings ==
    Hard Disk Cache Size: 100
    Hard Disk Cache System: ufs
    Level 1 Directories: 16
    Minimum Object Size: 0
    Maximum Object Size: 4

    == Squid Memory Cache Settings ==
    Memory Cache Size: 64
    Maximum Object Size in RAM: 256
    Memory Replacement Policy: Heap GDSF

    Alguém pode me ajudar, por favor?



  • Caramba e é uma configuração "parruda" digamos assim se comparado ao que o pfsense pede.

    Estou usando o E2Guardian, mas não coloquei em produção ainda, então o consumo de memória esta lá embaixo ainda. 6% de 8144Mb

    Espero que alguém consiga dar uma sugestão e que seja a sua solução.



  • @obmor Então, achei que nunca teríamos que nos preocupar com essa configuração, quando habilitei a interceptação HTTPS/SSL no Squid e também o SquidGuard a máquina estava com 8GB, depois que começou a ter esses problemas achei que precisasse de mais memória, coloquei mais 8GB ficando com 16GB, e mesmo assim não foi a solução. Também espero, obrigado!



  • Para quem estiver enfrentando o mesmo problema, uma solução provisória seria instalar o pacote Cron no pfSense e adicionar uma tarefa para reiniciar o serviço do Squid em um determinado horário do dia:

    0 12 * * * root /usr/local/sbin/squid -k reconfigure

    Vou monitorar durante uma semana e depois posto aqui o resultado.



  • Uma pena não ser uma solução correta digamos assim, mas ter algo paliativo já é algo que pode salvar um no desespero 😅

    Boa sorte com os testes.



  • Passo pelo mesmo problema aqui no meu trabalho. A cada 10 ou 11 dias tenho que apagar o cache e reiniciar a máquina para resolver.



  • Durante o monitoramento percebi que o Squid precisava ser reiniciado mais de uma vez ao dia, acrescentei mais dois horários e também alterei o path do cron para utilizar a rotina padrão do Squid.

    00 10 * * * root /usr/local/etc/rc.d/squid.sh restart
    00 13 * * * root /usr/local/etc/rc.d/squid.sh restart
    00 16 * * * root /usr/local/etc/rc.d/squid.sh restart

    O reinício é rápido e até o momento ninguém reclamou de queda, pelo que tenho percebido afeta somente o acesso a sites, a conferência que era a minha maior preocupação continua funcionando normalmente durante a execução da rotina.

    O que acho mais estranho é que temos uns 200 dispositivos conectados em nossa rede ( Ethernet e Wi-Fi ) e já ouvi pessoas reclamando do mesmo problema com 1200 dispositivos na rede.