Squid:Squid autenticando com o Samba

Procedimento

Preparando o Samba
Aqui estaremos configurando o samba para fornecer autenticação ao squid.

Para isso iremos adicionar criar um compartilhamento de rede e criarmos o arquivo de autenticação lá

Samba - Criando/Alterando o netlogon
Crie ou altere o diretório netlogon

mkdir /home/netlogon

Crie o arquivo proxyauth

echo "allow" > /home/netlogon/proxyauth

Definindo a permissão chmod a+r /home/netlogon/proxyauth

Alterando as configurações do Samba
Edite o arquivo /etc/samba/smb.conf.

Crie ou edite item netlogon deixando da seguinte forma

[netlogon] comment = Network Logon Service path = /home/netlogon browseable = No

Salve e feche o arquivo.

Reiniciando o Samba e testando
Reinicie o servidor apache com o comando

service smb restart

Instalando os pacotes necessários
yum -y install samba-client yum -y install squid

Testando a autenticação
Para testar a autenticação faça o seguinte

Digite /usr/lib/squid/smb_auth -d -W SEU_DOMINIO -U IP_DO_SERVIDOR Coloque o usuário e a senha usuário senha

Exemplo: [root@firewall1 ~]# /usr/lib/squid/smb_auth -W EBASSO -U 192.168.1.10 ebasso senhaverdadeira OK ebasso senhafalsa ERR

Depois de um Control-C para fechar

Editando o arquivo /etc/squid/squid.conf
Comente a linha
 * 1) http_access deny all

Adicione a seguinte configuração

auth_param basic program /usr/lib/squid/smb_auth -W SEU_DOMINIO -U IP_DO_SERVIDOR auth_param basic children 5 auth_param basic realm Acesso Internet SEU_DOMINIO auth_param basic credentialsttl 2 hour acl autenticacao proxy_auth REQUIRED http_access allow autenticacao
 * 1) Autenticacao integrada com a base do SaMBa

Lembrando de trocar os itens SEU_DOMINIO e IP_DO_SERVIDOR, respectivamente, pelo seu domínio da rede e o ip do servidor samba

Reiniciando o Squid e testando
Reinicie o servidor apache com o comando

service squid restart

Abra o browser e teste.

Apêndice - Versão completa do Squid.conf
http_port 192.168.1.10:3128 hierarchy_stoplist cgi-bin ? maximum_object_size 512 MB cache_dir ufs /var/spool/squid 3500 16 256 acl QUERY urlpath_regex cgi-bin \? acl apache rep_header Server ^Apache broken_vary_encoding allow apache access_log /var/log/squid/access.log squid refresh_pattern ^ftp:          1440    20%     10080 refresh_pattern ^gopher:       1440    0%      1440 refresh_pattern. 0      20%     4320 acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 acl Safe_ports port 80         # http acl Safe_ports port 21         # ftp acl Safe_ports port 443        # https acl Safe_ports port 70         # gopher acl Safe_ports port 210        # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280        # http-mgmt acl Safe_ports port 488        # gss-http acl Safe_ports port 591        # filemaker acl Safe_ports port 777        # multiling http acl CONNECT method CONNECT cache deny QUERY http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_reply_access allow all auth_param basic program /usr/lib/squid/smb_auth -W EBASSO -U 192.168.1.10 auth_param basic children 5 auth_param basic realm Acesso Internet EBASSO auth_param basic credentialsttl 2 hour acl autenticacao proxy_auth REQUIRED http_access allow autenticacao icp_access allow all coredump_dir /var/spool/squid
 * 1) http_access deny all
 * 2) http_access allow all
 * 1) Autenticacao integrada com a base do Samba