Vamos precisar saber algumas informações e vamos precisar criar um usuário no Windows.
Precisamos saber qual é domínio do AD (Active Directory).
Clique no iniciar, depois em executar, digite
dsa.msc e pressione ENTER.
Com este comando ele vai abrir o gerenciamento de usuários e grupos do AD, verifique qual é o nome do domínio.
Exemplo: dominio.local
Criar usuário:
Vamos criar um usuário para autenticar o Squid onde você cria seus usuários.
Crie um usuário com o nome "squid" e defina um senha para ele.
Instalação do Squid:
# yast -i squid
Depois de instalado o Squid cria o diretório /etc/squid com os arquivos de configuração e são eles que vamos usar, digite:
# cd /etc/squid
Faça uma cópia do squid.conf:
# cp squid.conf squid.conf.old
Agora vamos editar o arquivo squid.conf:
# vi squid.conf
Procure a linha:
#http_port 3128
Descomente-a, deixando assim:
# porta pela qual o Squid libera o acesso
http_port 3128
Salve e saia.
<ESC> :wq <ENTER>
Pesquise pelo binário squid_ldap_auth:
# find / -iname squid_ldap_auth
Você deve obter o caminho completo do binário:
/usr/sbin/squid_ldap_auth
Agora vamos editar o arquivo squid.conf novamente:
# vi squid.conf
Localize a linha:
#auth_param basic program /usr/libexec/ncsa_auth /usr/etc/passwd
Adicione abaixo dela as seguintes linhas:
auth_param basic program /usr/sbin/squid_ldap_auth -R -b dc=dominio,dc=local -f sAMAccountName=%s -h 192.168.0.254 -D
cn=squid,cn=users,dc=dominio,dc=local -w password
Explicação:
- dc=dominio,dc=local = domínio do AD (meu exemplo no início, dominio.local)
- 192.168.0.254 = Endereço IP do servidor AD
- cn=squid,cn=users,dc=dominio,dc=local = Caminho completo de onde está o usuário
- password = A senha que foi definida no AD
Descomente as seguinte linhas também:
auth_param basic children 5
auth_param basic realm Digite sua senha
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
Vamos criar as ACLs.
Procure a linha:
#acl password proxy_auth REQUIRED
Descomente-a:
acl password proxy_auth REQUIRED
Crie ACLs com as seguintes informações:
# Regras de bloqueio/desbloqueio de conteudo
# Libera sites sem autenticação para alguns usuários
acl admins proxy_auth_regex -i "/etc/squid/rules/administradores"
# Controle de downloads
acl sites_sem_autenticacao dstdom_regex -i "/etc/squid/rules/sites_sem_autenticacao"
# Controle de uso do MSN
acl msn_urls urlpath_regex -i "/etc/squid/rules/msn_urls"
#acl msn_ips dst -i "/etc/squid/rules/msn_ips"
# Controle de downloads
acl downloads_proibidos urlpath_regex -i "/etc/squid/rules/downloads_proibidos"
acl downloads_permitidos urlpath_regex -i "/etc/squid/rules/downloads_permitidos"
# Controle de palavras
acl palavras_proibidas url_regex -i "/etc/squid/rules/palavras_proibidas"
acl palavras_permitidas url_regex -i "/etc/squid/rules/palavras_permitidas"
# Controle de dominios
acl sites_proibidos dstdom_regex -i "/etc/squid/rules/sites_proibidos"
acl sites_permitidos dstdom_regex -i "/etc/squid/rules/sites_permitidos"
# Controle de URL's
acl urls_proibidas url_regex -i "/etc/squid/rules/urls_proibidas"
acl urls_permitidas url_regex -i "/etc/squid/rules/urls_permitidas"
Configure as regras agora:
# Acesso sem Restricoes para Administradores
http_access allow admins
# Sites Liberados para todos os usuarios
http_access allow sites_sem_autenticacao
# Controle de uso do MSN
http_access deny msn_urls
#http_access deny msn_ips
# Controle de downloads
http_access deny downloads_proibidos !downloads_permitidos !sites_permitidos !urls_permitidas
# Controle de palavras
http_access deny palavras_proibidas !sites_permitidos !urls_permitidas
# Controle de sites
http_access deny sites_proibidos
# Controle de URL's
http_access deny urls_proibidas !urls_permitidas
# Libera acesso para usuarios autenticados
http_access allow password
# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
Feito isso salve e feche o arquivo.
<ESC> :wq <ENTER>