Avançar para o conteúdo
Início » Artigos » Como Integrar o Squid ao AD com Controle por Grupo e Relatórios via SARG

Como Integrar o Squid ao AD com Controle por Grupo e Relatórios via SARG

Este tutorial explica como configurar o Squid em um servidor Linux integrado ao Active Directory (AD), com autenticação por grupos de usuários e relatórios gerados pelo SARG.

Requisitos

  • Servidor Linux (Debian ou Ubuntu)

  • Servidor Active Directory (AD) funcional

  • Squid instalado

  • SARG para relatórios


Instalação de Pacotes Necessários

sudo apt update
sudo apt install squid winbind samba krb5-user libnss-winbind libpam-winbind ntp sarg apache2 -y

Durante a instalação do krb5-user, informe o nome do seu realm (ex: AD.EMPRESA.LAB).


Configuração do Kerberos

Edite /etc/krb5.conf:

[libdefaults]
    default_realm = AD.EMPRESA.LAB
    dns_lookup_realm = false
    dns_lookup_kdc = true

[realms]
    AD.EMPRESA.LAB = {
        kdc = ad.empresa.lab
        admin_server = ad.empresa.lab
    }

Teste:

kinit administrator

Configuração do Samba e Winbind

Edite /etc/samba/smb.conf:

[global]
   workgroup = ADMD
   security = ads
   realm = AD.EMPRESA.LAB
   winbind use default domain = yes
   winbind enum users  = yes
   winbind enum groups = yes
   idmap config * : backend = tdb
   idmap config * : range = 10000-20000

Reinicie os serviços:

systemctl restart smbd nmbd winbind

Ingressar no Domínio

net ads join -U administrator

Verifique:

wbinfo -u  # Lista de usuários
wbinfo -g  # Lista de grupos

Configuração do Squid

Edite /etc/squid/squid.conf:

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 10
auth_param ntlm keep_alive on

acl autenticados proxy_auth REQUIRED
external_acl_type wbinfo_group_helper children-startup=1 children-max=10 %LOGIN /usr/lib/squid/ext_wbinfo_group_acl
acl grupo_bloqueado external wbinfo_group_helper ADMD\\bloqueado
acl grupo_restrito  external wbinfo_group_helper ADMD\\restrito
acl grupo_diretoria external wbinfo_group_helper ADMD\\diretoria

acl url_liberados dstdomain "/etc/squid/url_liberados"
acl url_restrito dstdomain "/etc/squid/url_restrito"
acl url_liberados_geral dstdomain "/etc/squid/url_liberados_geral"

http_access allow url_liberados_geral
http_access deny grupo_bloqueado !url_liberados
http_access deny grupo_restrito url_restrito
http_access deny grupo_diretoria url_restrito
http_access allow autenticados
http_access deny all

access_log /var/log/squid/access.log squid

Reinicie:

systemctl restart squid

Crie as Listas de Domínios

sudo mkdir -p /etc/squid
sudo nano /etc/squid/url_liberados
sudo nano /etc/squid/url_restrito
sudo nano /etc/squid/url_liberados_geral

Instalação e Configuração do SARG

sudo apt install sarg apache2 -y
sudo mkdir -p /var/www/html/sarg
sudo chown -R www-data:www-data /var/www/html/sarg

Edite /etc/sarg/sarg.conf:

access_log /var/log/squid/access.log
output_dir /var/www/html/sarg
overwrite_report yes
user_ip no
topsites_num 50
date_format e

Gere o relatório:

sudo LC_ALL=C sarg -d today

Acesse em: http://IP_DO_SERVIDOR/sarg


Protegendo o SARG com Senha

sudo htpasswd -c /etc/sarg/.htpasswd sargadmin

Crie /etc/apache2/conf-available/sarg.conf:

<Directory /var/www/html/sarg>
    AuthType Basic
    AuthName "Relatório SARG Protegido"
    AuthUserFile /etc/sarg/.htpasswd
    Require valid-user
</Directory>
sudo a2enconf sarg
sudo systemctl restart apache2

Conclusão

Agora o Squid está:

  • Integrado ao AD

  • Autenticando por grupo de usuários

  • Gerando relatórios com o SARG

  • Protegido por senha

Ideal para ambientes corporativos que precisam de rastreabilidade e controle de acesso web.

PROFISSIONALDESDE 2025