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
Preparando o Squid
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
#http_access deny all
Adicione a seguinte configuração
# Autenticacao integrada com a base do SaMBa 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
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_access deny all #http_access allow all http_reply_access allow all # Autenticacao integrada com a base do Samba 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