Eu segui os passos encontrados no link: link
E a autenticação do kerberos sem restrição de associação do grupo do AD funciona muito bem, mas não quero que todos os usuários tenham acesso à Internet. Eu quero apenas para usuários no grupo AD Internet_access para ter acesso. Então fiz modificações, mas não funciona. Aqui estão os detalhes:
Versão do PFSense 2.4.2
Pacotes instalados: squid
Arquivo de configuração do Kerberos (/etc/krb5.conf):
[libdefaults] default_realm = DOMAIN.LOCAL dns_lookup_realm = false dns_lookup_kdc = true kdc_timesync = 1 ccache_type = 4 forwardable = yes rdns = no default_keytab_name = /path/to/squid.keytab default_tgs_enctypes = aes128-cts-hmac-sha1-96 default_tkt_enctypes = aes128-cts-hmac-sha1-96 permitted_enctypes = aes128-cts-hmac-sha1-96 clock_skew = 300 [realms] DOMAIN.LOCAL = { kdc = server.domain.local admin_server = server.domain.local default_domain = DOMAIN.LOCAL } [domain_realm] .domain.local = DOMAIN.LOCAL domain.local = DOMAIN.LOCAL [logging] kdc = FILE:/var/log/kdc.log Default = FILE:/var/log/krb5lib.log
Modificação do arquivo de configuração do Squid (Custom Options (Before Auth) na configuração da interface da Web do squid do PFSense):
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -d -s HTTP/proxyserver.domain.local auth_param negotiate children 1000 auth_param negotiate keep_alive on external_acl_type kerberos_group ttl=3600 negative_ttl=3600 %LOGIN /usr/local/libexec/squid/ext_kerberos_ldap_group_acl -a -g Internet_access -D DOMAIN.LOCAL acl auth proxy_auth REQUIRED acl GroupProxy external kerberos_group http_access deny !auth http_access allow GroupProxy auth http_access deny all
Acho que o problema pode estar no comando ext_kerberos_ldap_group_acl que sempre retorna "ERR Solicitação inválida. Nenhum nome de usuário" quando executado na CLI, independentemente de seus argumentos. Eu pesquisei domumentação, mas não há ajuda real de lá. Também não consigo encontrar o script de inicialização do squid no PFsense, então posso definir as variáveis KRB5_KTNAME e KRB5_CONFIG.
Eu ficaria muito agradecido se houvesse alguma explicação sobre como fazer essa configuração ser bem-sucedida.