Ir para o conteúdo

Capítulo 37 – Relatórios de Navegação

Introdução

O SARG (Squid Analysis Report Generator) é uma ferramenta simples e eficiente para auditar acessos web registrados pelo Squid Web Proxy. Ele extrai informações do access.log e gera relatórios HTML com estatísticas por usuário, site, horário e volume de tráfego.

Este procedimento orienta a instalação do SARG diretamente no OPNsense, a geração periódica dos relatórios e a publicação segura desses relatórios por meio do Nginx com autenticação e TLS.

Visão Geral do Processo

  1. Instalar o pacote SARG.
  2. Configurar o SARG para ler o log do Squid e gerar relatórios em um diretório dedicado.
  3. Realizar a primeira geração de relatório para validação.
  4. Publicar os relatórios via Nginx (porta HTTPS dedicada), protegidos por login/senha.
  5. Criar uma tarefa agendada (Cron) para compilar os relatórios automaticamente.

Cenário e Pré-requisitos

  • O Squid Web Proxy está instalado e registrando acessos (menu: Services → Squid Web Proxy → Access Log).
  • O plugin Nginx (os-nginx) está instalado e habilitado (menu: System → Firmware → Plugins).
  • Acesso SSH/Console ao firewall com usuário que possua privilégios de superusuário.
  • Certificado TLS disponível para publicação via Nginx (pode ser o mesmo da WebGUI).

Local de publicação

Os relatórios serão gerados em /var/html/squid-reports e publicados pelo Nginx em HTTPS/10000.


Procedimento

1) Instalar e configurar o SARG

  1. Acesse o firewall via SSH ou Console.

    # Instala o pacote SARG
    pkg install -y sarg
    
  2. Crie e ajuste o arquivo de configuração base:

    1. Entre na pasta de configuração do SARG

      cd /usr/local/etc/sarg
      

    2. Faça um backup do arquivo padrão

      cp sarg.conf sarg.conf.default
      

    3. Grave uma configuração enxuta e funcional

      cat << 'EOF' > sarg.conf
      access_log /var/log/squid/access.log
      graphs yes
      graph_days_bytes_bar_color orange
      title "Auditoria de Acesso à Internet"
      font_face Tahoma,Verdana,Arial
      header_color darkblue
      output_dir /var/html/squid-reports
      resolve_ip dns
      overwrite_report yes
      lastlog 90
      EOF
      

    4. Crie o diretório de saída dos relatórios:

      mkdir -p /var/html/squid-reports
      
    5. Gere o primeiro relatório para validar:

      sarg -x
      

Importante

Se o comando terminar sem erros, o diretório /var/html/squid-reports conterá o índice e os relatórios HTML. Caso não gere conteúdo, verifique se o /var/log/squid/access.log está sendo populado.


2) Publicar os relatórios com Nginx (com senha)

A publicação será feita via Nginx em HTTPS na porta 10000, com autenticação básica.

  1. Criar credencial de acesso

    • Acesse: Services → Nginx → Configuration → HTTP(s) → Credential
    • Clique em + Add e preencha:

    • Username: relatorio (exemplo)

    • Password: defina uma senha forte
    • Save
  2. Criar uma lista de usuários (Userlist)

    • Acesse: HTTP(s) → Userlist
    • + Add:

    • Name: Acesso SARG

    • Users: selecione o usuário criado no passo anterior
    • Save
  3. Criar um Location para servir os relatórios

    • Acesse: HTTP(s) → Location
    • + Add:

    • Description: Sarg

    • URL Pattern: / (raiz)
    • File System Root: /var/html/squid-reports
    • Basic Authentication: Enable
    • Basic Credentials List: selecione Acesso SARG
    • Save
  4. Criar um HTTP Server dedicado

    • Acesse: HTTP(s) → HTTP Server
    • + Add e marque advanced mode:

    • HTTP Listen Address: deixe vazio

    • HTTPS Listen Address: 10000
    • Default Server: marcado
    • ServerName: _ (inserir um underline)
    • Location: selecione Sarg
    • TLS Certificate: selecione o certificado (pode ser o da WebGUI)
    • Save
  5. Habilitar o Nginx

    • Acesse: General Settings
    • Marque Enable Nginx e Apply.
  6. Criar a regra de firewall para acesso aos relatórios

    • Acesse: Firewall → Rules → (LAN ou rede de gestão)
    • + Add:

    • Action: Pass

    • Protocol: TCP
    • Destination: This Firewall
    • Destination Port Range: 10000
    • Description: Acesso HTTPS Relatórios SARG
    • Save e Apply Changes.

Teste de acesso

No navegador, acesse https://IP_DO_FIREWALL:10000/. Informe as credenciais criadas. O índice de relatórios do SARG deverá ser exibido.


3) Agendar a geração automática dos relatórios

Crie uma ação personalizada no OPNsense para executar o SARG e ajustar permissões dos arquivos gerados.

No SSH/Console, execute o comando abaixo:

cat << 'EOF' > /usr/local/opnsense/service/conf/actions.d/actions_sarg.conf
[compile]
command:/usr/local/bin/sarg && chown -R www:www /var/html/squid-reports
parameters:
type:script
message:Compile Squid Proxy Reports
description:Compile Squid Proxy Reports
EOF

# Recarrega o backend para reconhecer a nova ação
service configd restart

Agora crie a tarefa no Cron:

  • Acesse System → Settings → Cron → + Add
  • Command: Compile Squid Proxy Reports
  • Schedule: a cada 4 horas (ou conforme desejar)
  • Save.

Boas Práticas e Recomendações

  • Proteja o acesso aos relatórios com usuários distintos e senhas fortes.
  • Restrinja o acesso à porta 10000/TCP apenas às redes de gestão ou administração.
  • Ajuste os parâmetros do sarg.conf (linha lastlog) conforme a retenção de dados da empresa.
  • Caso o diretório /var/html/squid-reports fique grande, diminua o período de retenção.

Conclusão

Com o SARG instalado, configurado e publicado de forma segura via Nginx, a organização passa a contar com relatórios de auditoria de navegação de rápida consulta, protegidos por TLS e autenticação, e atualizados automaticamente. Esse recurso complementa o Squid e facilita o acompanhamento de conformidade, o atendimento a auditorias e o suporte ao time de segurança.