Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Autenticação "transparente" com pfsense + squid + active directory

    Scheduled Pinned Locked Moved Portuguese
    114 Posts 24 Posters 83.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      LFCavalcanti
      last edited by

      Fala galera!

      Eu não li o Tópico todo, é muito longo, mas resumindo:

      gostaria de saber se deu certo e também se funciona para Windows Server 2008.

      –

      Luiz Fernando Cavalcanti
      IT Manager
      Arriviera Technology Group

      1 Reply Last reply Reply Quote 0
      • marcellocM
        marcelloc
        last edited by

        O procedimento funciona mas não testei em um ambiente 2008.

        Treinamentos de Elite: http://sys-squad.com

        Help a community developer! ;D

        1 Reply Last reply Reply Quote 0
        • G
          gst.freitas
          last edited by

          Pessoal,

          Não seria melhor fazer um novo post com resumo em definitivo.. e fixar para que seja usado como tutorial..

          1 Reply Last reply Reply Quote 0
          • marcellocM
            marcelloc
            last edited by

            Seria melhor colocar isso no blog.  ;)  Alguém se habilita?

            Treinamentos de Elite: http://sys-squad.com

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • F
              filipe.nanclarez
              last edited by

              Eu me habilito com certeza, já tenho um txt quase pronto. Inclusive, se quiser, posso colocar esse passo a passo completo, pois o txt que fiz, contempla a instalação do pfSense, integração com o AD via NTLM (este post) depois integração com o RADIUS para vpn autenticando no AD, e WPAD no DHCP para configuração automática de proxy.

              Mas não sei como fazer (aqui no fórum) ….

              O que preciso ? Já tenho ele pronto porque estava preparando um tutorial para o meu funcionário fazer lá na empresa ...

              Funciona bem, e funciona no 2008 sim, eu faço no 2008 R2 (64x)

              Marcelo, com relação a sintaxe para controlar a strings do popup, procurei mas não achei, vc tem essa sintaxe ?

              1 Reply Last reply Reply Quote 0
              • JackLJ
                JackL
                last edited by

                @filipe.nanclarez:

                Mas não sei como fazer (aqui no fórum) ….
                O que preciso ? Já tenho ele pronto porque estava preparando um tutorial para o meu funcionário fazer lá na empresa ...

                filipe.nanclarez, basta acessar no Blog da Comunidade Brasileira do pfSense (http://www.pfsense-br.org/blog/), se registrar (criar uma conta) e postar o tutorial por lá… Você pode usar links, imagens e tudo que julgar necessário para ilustrar o tutorial.

                Assim que tiver publicado por lá,  basta avisar por aqui que o marcelloc insere uma chamada ao seu tutorial nos links fixos que ficam aqui em cima (área "sticky" do fórum).

                Abraços!
                Jack

                Treinamentos de Elite: http://sys-squad.com
                Soluções: https://conexti.com.br

                1 Reply Last reply Reply Quote 0
                • F
                  filipe.nanclarez
                  last edited by

                  @JackL:

                  @filipe.nanclarez:

                  Mas não sei como fazer (aqui no fórum) ….
                  O que preciso ? Já tenho ele pronto porque estava preparando um tutorial para o meu funcionário fazer lá na empresa ...

                  filipe.nanclarez, basta acessar no Blog da Comunidade Brasileira do pfSense (http://www.pfsense-br.org/blog/), se registrar (criar uma conta) e postar o tutorial por lá… Você pode usar links, imagens e tudo que julgar necessário para ilustrar o tutorial.

                  Assim que tiver publicado por lá,  basta avisar por aqui que o marcelloc insere uma chamada ao seu tutorial nos links fixos que ficam aqui em cima (área "sticky" do fórum).

                  Abraços!
                  Jack

                  Ok, obrigado. Assim que eu terminar aviso aqui.

                  1 Reply Last reply Reply Quote 0
                  • A
                    alanjhone
                    last edited by

                    Galera alguem poderia post um tutorial, porque tentei fazer do geito que sta no topico mais nao conseguir

                    1 Reply Last reply Reply Quote 0
                    • F
                      filipe.nanclarez
                      last edited by

                      @alanjhone:

                      Galera alguem poderia post um tutorial, porque tentei fazer do geito que sta no topico mais nao conseguir

                      Estou fazendo, assim que terminar eu aviso aqui …

                      Qual erro que deu no seu setup ?

                      1 Reply Last reply Reply Quote 0
                      • W
                        wilsaojr
                        last edited by

                        Filipe, Bom dia.

                        Cara, estou apannhando feio aqui para implementar esse cenário, dê um help por favor.

                        Instalei os pacotes conforme dicas do Marcello, porém quando instalo o samba via pkg_add ele não instala o suporte a ADS, como você fez para instala-lo?

                        mesmo sem o suporte ao ADS, quando teste via kinit mesmo tendo certeza que coloco a senha correta ele retorna kinit: password incorrect

                        dê uma luz por favor, nobre mortal que já passou por isso!!!

                        1 Reply Last reply Reply Quote 0
                        • C
                          cristianonix
                          last edited by

                          Olá pessoal estou com problema, nao estou conseguindo achar o arquivos de configuração do heimdal mesmo reiniciando ou fazendo logout.
                          Alguem sabe porque acontece, e qual a solução?

                          1 Reply Last reply Reply Quote 0
                          • marcellocM
                            marcelloc
                            last edited by

                            cristianonix,

                            Bem vindo ao fórum!  :)

                            Você instalou o pacote seguiu o procedimento?

                            att,
                            Marcello Coutinho

                            Treinamentos de Elite: http://sys-squad.com

                            Help a community developer! ;D

                            1 Reply Last reply Reply Quote 0
                            • C
                              cristianonix
                              last edited by

                              Obrigado , estou feliz em entrar no fórum pfsense, espero ajudar muito e  ser ajudado.
                              Gostaria de agradecer pelo seu excelente trabalho Marcello Coutinho, pelo que voce fez no dansguardian.Muito Fera.

                              Uso pfsense 2.0.1  64bits.

                              Instalei o seguintes pacotes, e instalei as bibliotecas do do procedimento.
                              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

                              Reiniciei e fiz logout, mesmo assim não funcionou

                              Não acho os arquivos de confs do kerberos, só achei o do samba.
                              Preciso disso para autenticar no dominio, via ntlm.

                              1 Reply Last reply Reply Quote 0
                              • marcellocM
                                marcelloc
                                last edited by

                                @cristianonix:

                                Não acho os arquivos de confs do kerberos, só achei o do samba.

                                Se me recordo bem do tutorial, alguns arquivos são criados na mão.

                                leia o post de novo com mais atenção ainda.
                                O procedimento não é trivial mas também não é impossivel  :)

                                Treinamentos de Elite: http://sys-squad.com

                                Help a community developer! ;D

                                1 Reply Last reply Reply Quote 0
                                • C
                                  cristianonix
                                  last edited by

                                  Ok, vou ler novamente.

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    cristianonix
                                    last edited by

                                    Bom refiz todo o processo, criei os arquivos olha ai, mas deu problema, nao mostra os usuários e grupos utilizando wbinfo -u e grupos, wbinfo -g, mas wbinfo -t  e wbinfo -p  funciona. Já consegui adicionar o servidor no AD, pois aparece meu netbios name no computers do Ad, só que nao listo usuário no meu servidor linux. SAbe oque pode ser?

                                    cat /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 = FREESOLUTIONS.INFO
                                       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]
                                    
                                       FREESOLUTIONS.INFO = {
                                               kdc = 192.168.100.181:88
                                               admin_server = 192.168.100.181:749
                                               default_domain = domain.
                                       }
                                    
                                    [domain_realm]
                                    
                                    .domain. = FREESOLUTIONS.INFO
                                    domain. = FREESOLUTIONS.INFO
                                    
                                    [kdc]
                                    
                                    profile = /var/heimdal/kdc.conf
                                    
                                    [appdefaults]
                                       pam = {
                                               debug = false
                                               ticket_lifetime = 36000
                                               renew_lifetime = 36000
                                               forwardable = true
                                               krb4_convert = false
                                       }
                                    
                                    

                                    cat /usr/local/etc/smb.conf

                                    [global]
                                      netbios name = FREEBSD
                                      workgroup = FREESOLUTIONS
                                      realm = FREESOLUTIONS.INFO
                                      server string = Domain Proxy Server
                                      encrypt passwords = yes
                                      security = ADS

                                    wins server = 192.168.100.181

                                    password server = 192.168.100.181

                                    password server = FREESOLUTIONS.INFO

                                    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
                                    hosts allow = 192.168

                                    –------------

                                    cat /var/heimdal/kadm5.acl

                                    */administrador@FREESOLUTIONS.INFO     *

                                    –-----

                                    cat /var/heimdal/kdc.conf

                                    [kdcdfefaults]
                                           acl_file = /var/heimdal/kadm5.acl
                                           dict_file = /usr/share/dict/words
                                           admin_keytab = /var/heimdal/kadm5.keytab
                                           v4_mode = noreauth
                                    [libdefaults]
                                           default_realm = FREESOLUTIONS.
                                    [realms]
                                           FREESOLUTIONS. = {
                                                   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
                                                }

                                    1 Reply Last reply Reply Quote 0
                                    • marcellocM
                                      marcelloc
                                      last edited by

                                      Onde você quer listar estes usuarios?

                                      Se a maquina já esta no ad, coloque as regras do squid,squidguard/dansguardian e pronto.

                                      att,
                                      Marcello Coutinho

                                      Treinamentos de Elite: http://sys-squad.com

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        cristianonix
                                        last edited by

                                        quando digito  wbinfo -u

                                        não aparece nada no pfsense.

                                        1 Reply Last reply Reply Quote 0
                                        • marcellocM
                                          marcelloc
                                          last edited by

                                          você já colocou as configurações de autenticação no squid?

                                          O que aparece no access.log?

                                          Treinamentos de Elite: http://sys-squad.com

                                          Help a community developer! ;D

                                          1 Reply Last reply Reply Quote 0
                                          • U
                                            ubezerra
                                            last edited by

                                            Caros,

                                            Consegui inserir o Firewall no domínio, iniciar o samba, sem erros, e configurar o seu serviço para reconhecer o winbind, que também é iniciado
                                            Porém estou parado justamente no winbind

                                            Abaixo seguem meus arquivos de configuração

                                            SAMBA

                                            
                                            [global]
                                            
                                            netbios name = FIREWALL
                                            workgroup = DEVPARTNER
                                            realm = DEVPARTNER.LOCAL
                                            server string = Domain Proxy Server
                                            encrypt passwords = yes
                                            security = ADS
                                            password server = server01.devpartner.local
                                            log level = 3
                                            log file = /var/log/samba/%m.log
                                            max log size = 50
                                            socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
                                            printcap name = /etc/printcap
                                            preferred master = No
                                            dns proxy = No
                                            ldap ssl = no
                                            idmap uid = 10000-20000
                                            idmap gid = 10000-20000
                                            idmap backend = idmap_rid:DEVPARTNER=10000-20000
                                            winbind use default domain = yes
                                            winbind separator = /
                                            winbind enum users = yes
                                            winbind enum groups = yes
                                            cups options = raw
                                            
                                            

                                            krb5

                                            [logging]
                                                    default = FILE:/var/log/krb5libs.log
                                                    kdc = FILE:/var/log/krb5kdc.log
                                                    admin_server = FILE:/var/log/ksadmind.log
                                            
                                            [libdefaults]
                                                default_realm = DEVPARTNER.LOCAL
                                                dns_lookup_kdc = true
                                                dns_lookup_realm = true
                                                ticket_lifetime = 24h
                                                forwardable = yes
                                            ; for Windows 2003
                                            ;    default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
                                            ;    default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
                                            ;    permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
                                            
                                            ; for Windows 2008 with AES
                                                default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-
                                            md5
                                                default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-
                                            md5
                                                permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md
                                            5
                                            
                                            [realms]
                                                DEVPARTNER.LOCAL = {
                                                    kdc = 192.168.0.10:88
                                                    admin_server = server01.devpartner.local.:749
                                                    default_domain = devpartner.
                                                }
                                            
                                            [domain_realm]
                                                .devpartner.local = DEVPARTNER.LOCAL
                                                devpartner.local = DEVPARTNER.LOCAL
                                            [kdc]
                                                    profile = /var/heimdal/kdc.conf
                                            [appdefaults]
                                                    pam = {
                                                            debug = false
                                                    ticket_lifetime = 36000
                                                    renew_lifetime = 36000
                                                    forwardable = true
                                                    krb4_convert = false
                                                    }
                                            
                                            

                                            kdc

                                            [kdcdefaults]
                                            acl_file = /var/heimdal/kadm5.acl
                                                    dict_file = /usr/share/dict/words
                                                    admin_keytab = /var/heimdal/kadm5.keytab
                                                    v4_mode = noreauth
                                            [libdefaults]
                                                    default_realm = DEVPARTNER.
                                            [realms]
                                                    DEVPARTNER. = {
                                                            master_key_type = des-cbc-crc
                                                            supported_enctypes = des3-hmac-sha1:normal arcfour-hmac:normal d
                                            es-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
                                            des-cbc-crc:v4 des-cbc-crc:afs3
                                            
                                            

                                            kadm.acl

                                            */administrator@DEVPARTNER.LOCAL        *
                                            
                                            

                                            serviço do samba

                                            #!/bin/sh
                                            #
                                            # $FreeBSD: ports/net/samba36/files/samba.in,v 1.2 2012/01/14 08:56:26 dougb Exp $
                                            #
                                            
                                            # PROVIDE: nmbd smbd
                                            # PROVIDE: winbindd
                                            # REQUIRE: NETWORKING SERVERS DAEMON ldconfig resolv
                                            # BEFORE: LOGIN
                                            # KEYWORD: shutdown
                                            #
                                            # Add the following lines to /etc/rc.conf.local or /etc/rc.conf
                                            # to enable this service:
                                            #
                                            samba_enable="YES"
                                            # or, for fine grain control:
                                            nmbd_enable="YES"
                                            smbd_enable="YES"
                                            # You need to enable winbindd separately, by adding:
                                            winbindd_enable="YES"
                                            #
                                            # Configuration file can be set with:
                                            samba_config="/usr/local/etc/smb.conf"
                                            #
                                            
                                            . /etc/rc.subr
                                            
                                            name="samba"
                                            rcvar=samba_enable
                                            
                                            # Defaults
                                            samba_enable=${samba_enable:=NO}
                                            samba_config_default="/usr/local/etc/smb.conf"
                                            samba_config=${samba_config="${samba_config_default}"}
                                            command_args=${samba_config:+-s "${samba_config}"}
                                            # Fetch parameters from configuration file
                                            testparm_command="/usr/local/bin/testparm"
                                            smbcontrol_command="/usr/local/bin/smbcontrol"
                                            samba_parm="${testparm_command} -s -v --parameter-name"
                                            samba_idmap=$(${samba_parm} 'idmap uid' "${samba_config}" 2>/dev/null)
                                            samba_lockdir=$(${samba_parm} 'lock directory' "${samba_config}" 2>/dev/null)
                                            # Load configuration
                                            load_rc_config "${name}"
                                            # Setup dependent variables
                                            if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then
                                                nmbd_enable=${nmbd_enable=YES}
                                                smbd_enable=${smbd_enable=YES}
                                                # Check that winbindd is actually configured
                                                if [ -n "${samba_idmap}" ]; then
                                            	winbindd_enable=${winbindd_enable=YES}
                                                fi
                                            fi
                                            # XXX: Hack to enable check of the dependent variables
                                            eval real_${rcvar}="\${${rcvar}:=NO}"	${rcvar}=YES
                                            # nmbd
                                            rcvar=nmbd_enable
                                            nmbd_enable=${nmbd_enable:=NO}
                                            nmbd_flags=${nmbd_flags="-D"}
                                            # smbd
                                            rcvar=smbd_enable
                                            smbd_enable=${smbd_enable:=NO}
                                            smbd_flags=${smbd_flags="-D"}
                                            # winbindd
                                            rcvar=winbindd_enable
                                            winbindd_enable=${winbindd_enable:=NO}
                                            winbindd_flags=${winbindd_flags=''}
                                            # Custom commands
                                            extra_commands="reload status"
                                            start_precmd="samba_start_precmd"
                                            start_cmd="samba_cmd"
                                            stop_cmd="samba_cmd"
                                            status_cmd="samba_cmd"
                                            restart_precmd="samba_checkconfig"
                                            reload_precmd="samba_checkconfig"
                                            reload_cmd="samba_reload_cmd"
                                            rcvar_cmd="samba_rcvar_cmd"
                                            #
                                            samba_daemons="nmbd smbd"
                                            samba_daemons="${samba_daemons} winbindd"
                                            # Requirements
                                            required_files="${samba_config}"
                                            required_dirs="${samba_lockdir}"
                                            
                                            samba_checkconfig() {
                                                echo -n "Performing sanity check on Samba configuration: "
                                                if ${testparm_command} -s ${samba_config:+"${samba_config}"} >/dev/null 2>&1; then
                                            	echo "OK"
                                                else
                                            	echo "FAILED"
                                            	return 1
                                                fi
                                                return 0
                                            }
                                            
                                            samba_start_precmd() {
                                                # XXX: Never delete winbindd_idmap, winbindd_cache and group_mapping
                                                if [ -n "${samba_lockdir}" -a -d "${samba_lockdir}" ]; then
                                            	echo -n "Removing stale Samba tdb files: "
                                            	for file in brlock.tdb browse.dat connections.tdb gencache.tdb \
                                            		    locking.tdb messages.tdb namelist.debug sessionid.tdb \
                                            		    unexpected.tdb
                                            	do
                                            	    rm "${samba_lockdir}/${file}" /dev/null && echo -n '.'
                                            	done
                                            	echo " done"
                                                fi
                                            }
                                            
                                            samba_rcvar_cmd() {
                                                local rcvar
                                                rcvar=${name}_enable
                                                eval ${rcvar}=\${real_${rcvar}}
                                                # Prevent recursive calling
                                                unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
                                                # Check master variable
                                                run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
                                            }
                                            
                                            samba_reload_cmd() {
                                                local name rcvar command pidfile
                                                # Prevent recursive calling
                                                unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
                                                # Apply to all daemons
                                                for name in ${samba_daemons}; do
                                                	rcvar=${name}_enable
                                            	command="/usr/local/sbin/${name}"
                                            	pidfile="/var/run/samba/${name}${pid_extra}.pid"
                                            	# Daemon should be enabled and running
                                            	if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then
                                            	    if [ -n "$(check_pidfile "${pidfile}" "${command}")" ]; then
                                            		debug "reloading ${name} configuration"
                                            		echo "Reloading ${name}."
                                            		# XXX: Hack with pid_extra
                                            		${smbcontrol_command} "${name}${pid_extra}" 'reload-config' ${command_args} >/dev/null 2>&1
                                            	    fi
                                            	fi
                                                done
                                            }
                                            
                                            samba_cmd() {
                                                local name rcvar rcvars v command pidfile samba_daemons result
                                                # Prevent recursive calling
                                                unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
                                                # Stop processes in the reverse order
                                                if [ "${rc_arg}" = "stop" ] ; then
                                            	samba_daemons=$(reverse_list ${samba_daemons})
                                                fi
                                                # Assume success
                                                result=0
                                                # Apply to all daemons
                                                for name in ${samba_daemons}; do
                                            	rcvar=${name}_enable
                                            	# XXX
                                            	rcvars=''; v=''
                                            	command="/usr/local/sbin/${name}"
                                            	pidfile="/var/run/samba/${name}${pid_extra}.pid"
                                            	# Daemon should be enabled and running
                                            	if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then
                                            	    run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
                                            	    # If any of the of the commands failed, take it as a total result
                                            	    result=$((${result} || $?))
                                            	fi
                                                done
                                                return ${result}
                                            }
                                            
                                            run_rc_command "$1"
                                            
                                            

                                            Ao testar o wbinfo -u -t -g ele apresenta o erro que o domínio winbind não foi encontrado.
                                            Além disso a autenticação com o AD não está funcional.
                                            Outra dúvida, gostaria de integrar essa autenticação com permissões de grupos do AD. Vi no blog pauloxmachado que isso era possível, mas não sem a janela de autenticação do popup.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.