The pfSense Store

Author Topic: autenticação "transparente" com pfsense + squid + active directory  (Read 25856 times)

0 Members and 1 Guest are viewing this topic.

Offline marcelloc

  • Moderator
  • Hero Member
  • *****
  • Posts: 9930
    • View Profile
Senhores,

Seguindo um tutorial um pouco antigo sobre squid+ntlm, compilei o kerberos(heimdal) e o samba(3.6.3) para o pfsense e consegui autenticar sem popup de tela de autenticação.

Estou agora adaptando este tutorial do site para o squid3 usando negotiate com kerberos e ldap.

http://wiki.squid-cache.org/ConfigExamples/Authenticate/WindowsActiveDirectory

Os pacotes necessarios no pfsense são:

i386
http://e-sac.siteseguro.ws/packages/8/All/samba36-3.6.3.tbz
http://e-sac.siteseguro.ws/packages/8/All/heimdal-1.4_1.tbz

amd64
http://e-sac.siteseguro.ws/packages/amd64/8/All/samba36-3.6.3.tbz
http://e-sac.siteseguro.ws/packages/amd64/8/All/heimdal-1.4_1.tbz

Algo que já percebi é que os keytabs serão gerados no proprio ad e transferidos para o pfsense.

Não gosto de instalar o samba no pfsense por ele ser um firewall, mas existem situações onde o cliente só tem uma maquina para isso.

Se eu conseguir finalizar o procedimento posto aqui.
Se alguem já conseguiu isso no pfsense, pode postar aqui tambem  ;)

att,
Marcello Coutinho
« Last Edit: March 22, 2012, 03:21:35 pm by marcelloc »

Offline fneto

  • Jr. Member
  • **
  • Posts: 81
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #1 on: March 22, 2012, 11:15:06 pm »
Então Marcello, eu não consegui configurar isso no pfSense, minha solução para uma máquina só foi instalar o vmware no host e criar 2 máquinas virtuais, uma com pfSense e outra com o Squid no modo NTLM.

Se conseguir fazer iso com uma máquina só vai agilizar e muito minha vida, então mais do que nunca já me disponho a ajudar como testador ou de outra maneira que você precise, compilando gerando algum script ou etc...

Atenciosamente...

Offline marcelloc

  • Moderator
  • Hero Member
  • *****
  • Posts: 9930
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #2 on: March 22, 2012, 11:59:23 pm »
fneto,

Com ntlm eu já consegui, estou tentando via negociate e keytab.


Segui este tutorial antigo com o squid do pfsense apenas prestando atenção nas pastas.

/etc/krb5.conf ok
mude /var/kerberos/krb5kdc/kdc.conf para /var/heimdal/kdc.conf
mude /var/kerberos/krb5kdc/kadm5.acl para /var/heimdal/kadm5.acl
mude gpasswd -a proxy winbindd_priv para chgrp proxy /var/run/squid/windindd_priv...

Offline fneto

  • Jr. Member
  • **
  • Posts: 81
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #3 on: March 23, 2012, 11:33:44 am »
O arquivo do tutorial não está legal, não consegui abrir nem como TXT nem como PDF, aparece todo zoado!


Offline filipe.nanclarez

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #5 on: March 25, 2012, 09:09:22 pm »
Então, olá para todos, boa noite.

Bem eu estou a procura exatamente disso, fazer o ntlm funcionar no squid do pfsense. Abri até um tópico para isso.

Lí o arquivo abaixo, mas parece que o ambiente é diferente.

Eu preciso instalar todos esses pacotes, mesmo na distribuição no pfSense ?

Ou basta alterar esses arquivos ?

Seria interessante nos ajudar, já que voce já conseguiu fazer funcionar ...

Offline marcelloc

  • Moderator
  • Hero Member
  • *****
  • Posts: 9930
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #6 on: March 25, 2012, 11:45:55 pm »
Filipe,

Juntando tudo em um único post, fica assim:

Instale os pacotes no seu pfsense através da console/ssh respeitando a plataforma instalada e por garantia, copie algumas libs necessárias para gssapi e kerberos que não estão incluídas no pfsense

i386
Code: [Select]
pkg_add -r http://e-sac.siteseguro.ws/packages/8/All/samba36-3.6.3.tbz
pkg_add -r http://e-sac.siteseguro.ws/packages/8/All/heimdal-1.4_1.tbz
cd /usr/local/lib
fetch http://e-sac.siteseguro.ws/pfsense/8/All/ldd/libasn1.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/All/ldd/libgssapi.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/All/ldd/libheimntlm.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/All/ldd/libhx509.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/All/ldd/libkrb5.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/All/ldd/libroken.so.10

amd64
Code: [Select]
pkg_add -r http://e-sac.siteseguro.ws/packages/amd64/8/All/samba36-3.6.3.tbz
pkg_add -r http://e-sac.siteseguro.ws/packages/amd64/8/All/heimdal-1.4_1.tbz
cd /usr/local/lib
fetch http://e-sac.siteseguro.ws/pfsense/8/amd64/All/ldd/libasn1.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/amd64/All/ldd/libgssapi.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/amd64/All/ldd/libheimntlm.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/amd64/All/ldd/libhx509.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/amd64/All/ldd/libkrb5.so.10
fetch http://e-sac.siteseguro.ws/pfsense/8/amd64/All/ldd/libroken.so.10

Siga este tutorial antigo com o squid do pfsense instalado acertando os caminhos de pastas/comandos por conta da divergência entre os sistemas operacionais.

/etc/krb5.conf está ok
mude /var/kerberos/krb5kdc/kdc.conf para /var/heimdal/kdc.conf
mude /var/kerberos/krb5kdc/kadm5.acl para /var/heimdal/kadm5.acl
mude gpasswd -a proxy winbindd_priv para chgrp proxy /var/db/samba/winbindd_privileged

Quando estiver com o pfsense no domínio e conseguindo fazer os testes via kinit/klist e wbinfo -t, acesse:

services -> proxy server -> general settings -> custom options

e cole estas linhas

Code: [Select]
auth_param ntlm program /usr/local/bin/ntlm_auth --use-cached-creds --helper-protocol=squid-2.5-ntlmssp;auth_param ntlm children 30;auth_param ntlm keep_alive on;acl password proxy_auth REQUIRED;http_access allow password
Agora no cliente, basta marcar o proxy no browser.

NOTA IMPORTANTE PARA WINDOWS 7

No windows 7 são implementadas uma série de novas politicas de segurança , uma delas inclusive barra a autenticação transparente que usamos em nossos proxys. Para resolver este problema siga este pequeno manual que orienta como dever ser feita esta liberação

Antes de mais nada , para rodar este procedimento é necessário que você seja administrador da máquina local.
Execute o Execute o comando "gpedit.msc" e navegue na arvore seguindo esta sequencia:
  • Diretiva computador local
  • Configurações do windows
  • Configurações de segurança
  • Diretivas locais
  • Opções de segurança
  • Segurança de rede: nível de autenticação lan manager
  • Marque a opção: enviar lm e ntlm - usar nivel de segurança NTLMv2

att,
Marcello Coutinho
« Last Edit: March 26, 2012, 12:37:57 am by marcelloc »

Offline filipe.nanclarez

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #7 on: March 26, 2012, 05:58:16 am »
Ok, muito obrigado pela atenção.  ;D

Vou fazer os testes já agora, e posto aqui os resultados ....


Offline filipe.nanclarez

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #8 on: March 26, 2012, 09:27:40 am »
Marcelo, o primeiro arquivo quando fui procurar, não achei ...

/etc/krb5.conf está ok

Voce escreveu que está ok, significa que preciso criá-lo ?

Essa parte de atentar para mudança, não entendi muito bem, quer dizer que no tutorial, onde estiver esses nomes, o caminho dos arquivos será diferente por causa da versão, mas o conteudo devemos alterar de acordo com o tutorial ?

O arquivo smb.samba.conf tambem está aparecendo como novo.
« Last Edit: March 26, 2012, 09:40:59 am by filipe.nanclarez »

Offline marcelloc

  • Moderator
  • Hero Member
  • *****
  • Posts: 9930
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #9 on: March 26, 2012, 09:51:02 am »
Marcelo, o primeiro arquivo quando fui procurar, não achei ...

/etc/krb5.conf está ok

Voce escreveu que está ok, significa que preciso criá-lo ?

Isso mesmo

Essa parte de atentar para mudança, não entendi muito bem, quer dizer que no tutorial, onde estiver esses nomes, o caminho dos arquivos será diferente por causa da versão, mas o conteudo devemos alterar de acordo com o tutorial ?
certo denovo, onde voce encontrar no doc a referencia para /var/kerberos/krb5kdc/kdc.conf leia e configure como /var/heimdal/kdc.conf

O arquivo smb.samba.conf tambem está aparecendo como novo.
procure o arquivo com este comando
find / -name smb.conf
Não estou perto da maquina agora para conferir o caminho.

Offline filipe.nanclarez

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #10 on: March 26, 2012, 10:51:15 am »
Ok, os que não achei, fui criando segundo seu caminho, os que achei, editei conforme o tutorial. Mas antes de inserir o pf no dominio, o comando kinit está dadno "not found".

Seguem abaixo os conteúdos dos meus arquivos com a minhas configurações tentando seguir o tutorial.

Estou fazendo em um ambiente virtual, antes de por em produção

Ip do meu pdc = 192.168.15.2
nome do meu PDC = pdc001
OS do pdc = W2K8R2 x64
FQDN do dominio = virtual.local
Nome Admin = Administrator
senha admin = 1@abcde

/usr/local/etc/smb.conf
[global]
   netbios name = pdc001
   workgroup = virtual
   realm = virtual.local
   server string = Domain Proxy Server
   encrypt passwords = yes
   security = ADS
   password server = pdc001.virtual.local
   log level = 3
   log file = /var/log/samba/%m.log
   max log size = 50
   socket options = TCP_NODELAY SO_SNDBUF=8192
   printcap name = /etc/printcap
   preferred master = no
   dns proxy = no
   ldap ssl = no
   idmap uid = 10000-20000
   idmap gid = 10000-20000
   winbind use default domain = yes
   cups options = raw


/etc/krb5.conf
[logging]
   default = FILE:/var/log/krb5libs.log
   kdc = FILE:/var/log/krb5kdc.log
   admin_server = FILE:/var/log/ksadmind.log
[libdefaults]
   default_realm = virtual.local.
   dns_lookup_realm = false
   dns_lookup_kdc = false
   ticket_lifetime = 24h
   forwardable = yes
   default_tgs_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
   default_tkt_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
   preferred_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
[realms]
   virtual.local = {
           kdc = pdc001.virtual.local.:88
           admin_server = pdc001.virtual.local.:749
           default_domain = domain.
   }
[domain_realm]
   .domain. = virtual.local.
   domain. = virtual.local.
[kdc]
   profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
   pam = {
           debug = false
           ticket_lifetime = 36000
           renew_lifetime = 36000
           forwardable = true
           krb4_convert = false
   }


/var/heimdal/kdc.conf
[kdcdfefaults]
        acl_file = /var/kerberos/krb5kdc/kadm5.acl
        dict_file = /usr/share/dict/words
        admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
        v4_mode = noreauth
[libdefaults]
        default_realm = virtual.
[realms]
        virtual. = {
                master_key_type = des-cbc-crc
                supported_enctypes = des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
des-cbc-crc:v4 des-cbc-crc:afs3
             }

/var/heimdal/kadm5.acl
*/administrator@virtual.local     *
« Last Edit: March 26, 2012, 11:01:41 am by filipe.nanclarez »

Offline marcelloc

  • Moderator
  • Hero Member
  • *****
  • Posts: 9930
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #11 on: March 26, 2012, 11:06:51 am »
Depois que você instalou o heimdal e o samba você fez um logoff em seguida logon para ele atualizar o path dos binários?

Offline filipe.nanclarez

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #12 on: March 26, 2012, 11:07:59 am »
Depois que você instalou o heimdal e o samba você fez um logoff em seguida logon para ele atualizar o path dos binários?

Ops, não.

Estou reiniciando ...

Offline marcelloc

  • Moderator
  • Hero Member
  • *****
  • Posts: 9930
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #13 on: March 26, 2012, 11:08:38 am »
Só um logoff na console já resolve, não precisa de boot.  ;)

Offline filipe.nanclarez

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Re: autenticação "transparente" com pfsense + squid + active directory
« Reply #14 on: March 26, 2012, 11:09:59 am »
Só um logoff na console já resolve, não precisa de boot.  ;)

Ok, confesso, não sei como fazer logoff no pfsense, mas já tá reiniciado. Vou tentar o kinit agora ...