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 81.7k 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.
    • D
      dougf4nnie
      last edited by

      Senhores Boa Noite!

      Primeiramente obrigado marcelloc pelo caminho das pedras :).

      Durante o dia realizei alguns testes seguindo a orientação do macelloc e consegui uns tropeços e acertos, agora vim informar que obtive êxito na configuração com autenticação transparente sem o pop-up.

      Cenário:

      Controlador de dominio usado para autenticar: Windows Server 2008 R2.
      Clientes testados: Windows XP e 7
      Versão do squid utilizado: Squid Cache: Version 2.7.STABLE9

      Problemas encontrados:

      Ao reiniciar o servidor pfsense e tentar navegar novamente… a janela de autenticação era apresentada... logo fui ver se o serviço do samba (winbindd) estava e iniciado, mas o mesmo estava parado.

      Tentei iniciar e o serviço não subia:

      [2.0.1-RELEASE][root@trinity.domain.local]/: /usr/local/etc/rc.d/samba onestart
      Removing stale Samba tdb files: . done
      Starting winbindd.
      [2.0.1-RELEASE][root@trinity.domain.local]/: /usr/local/etc/rc.d/samba onestatus
      winbindd is not running.

      Fui ver o log do samba e encontro:

      lib/pidfile.c:130(pidfile_create ERROR: can't open /var/run/samba/winbindd.pid: Error was No such file or directory

      Ou seja… quando o pfsense reiniciou o diretorio /var/run/samba tinha sumido!... só foi cria-lo novamente na mão e o serviço voltou a funcionar juntamente com à autenticação transparente.

      Agora vem as dúvidas:

      1. Como fazer para que o serviço seja iniciado automaticamente? (criei e editei o arquivo /etc/rc.conf mas ele some depois que inicia o servidor).
      2. Depois que o servidor inicia é necessário utilizar novamente o comando kinit?
      3. Quando instalei o samba ele gerou um erro informando que havia um conflito de pacote que existia, porém se eu removesse ele implicava dizendo que o squid depende dele... o que fiz foi forçar a instalação e ele pulou essa etapa.
      1 Reply Last reply Reply Quote 0
      • F
        filipe.nanclarez
        last edited by

        Peraí pessoal, não é possível. Todo mundo tá fazendo isso dar certo.

        Estou a três dias nisso. Não é possível que eu sou tão leigo assim.

        doug, como voce fez isso funcionar. Segui o tutorial, e ainda não achei a parte onde precisa instalar o winbind. Na realidade, tentei dar um start no serviço do samba e não rolou, sem falar nos logs que até agora não aparecem.

        Fiz passo a passo, e quando tento usar o kinit, ele dá password invalid ….

        Já fiz, e refiz, e formatei várias vezes.

        Tem algo que eu não sei ? algum comando que está sendo dado, por se muito óbvio e eu não estou fazendo ?

        Por gentileza, meu ambiente é o mesmo que o seu, me ajude a fazer funcionar, pelo menos uma vez ...

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

          @filipe.nanclarez:

          marcelloc, vou instalar um 2003 para podermos isolar as variaveis

          Em qual versão do pf voce fez ? e a versão do squid ?

          pfsense 2.0.1 64 bits
          squid 2.x da instalação dos pacotes

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

          Help a community developer! ;D

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

            @dougf4nnie:

            1. Como fazer para que o serviço seja iniciado automaticamente? (criei e editei o arquivo /etc/rc.conf mas ele some depois que inicia o servidor).

            Edite o arquivo /usr/local/etc/rc.d/samba e mude tudo o que estiver com NO para YES

            @dougf4nnie:

            1. Depois que o servidor inicia é necessário utilizar novamente o comando kinit?

            Acredito que não. Já vi minha chave vencer e o serviço continuou no ar. Porém é melhor testar

            @dougf4nnie:

            1. Quando instalei o samba ele gerou um erro informando que havia um conflito de pacote que existia, porém se eu removesse ele implicava dizendo que o squid depende dele… o que fiz foi forçar a instalação e ele pulou essa etapa.

            pkg_add -r é utilizado com uma certa freqüência nas instalações de pacotes no pfsense.

            Parabéns pelo setup.  ;)

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

            Help a community developer! ;D

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

              @filipe.nanclarez:

              Segui o tutorial, e ainda não achei a parte onde precisa instalar o winbind. Na realidade, tentei dar um start no serviço do samba e não rolou, sem falar nos logs que até agora não aparecem.

              Altere o script de inicialização como descrito acima.
              O winbind é um dos binarios instalados pelo pacote do samba

              @filipe.nanclarez:

              Fiz passo a passo, e quando tento usar o kinit, ele dá password invalid ….

              Já tentou uma senha sem caracteres especiais ou a prova de configuração de teclados?

              @filipe.nanclarez:

              Já fiz, e refiz, e formatei várias vezes.
              Tem algo que eu não sei ? algum comando que está sendo dado, por se muito óbvio e eu não estou fazendo ?
              Por gentileza, meu ambiente é o mesmo que o seu, me ajude a fazer funcionar, pelo menos uma vez …

              Continue tentando, não desista! Tenho certeza que o problema vai estar em algum detalhe deixado para trás. :)

              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

                puxa gente … que sofrimento ...

                venho compartilhar com vocês como fiz para conseguir fazer o kinit funcionar ...

                lendo um artigo a respeito em http://www.vivaolinux.com.br/artigo/Linux-e-Active-Directory-(Integrando-COMPLETAMENTE-sua-estacao-Linux-a-um-dominio-MS-Windows-2000-2003-Server)?pagina=5

                vi a seguinte frase ...

                IMPORTANTE: Observe que o realm foi especificado com caracteres em maiúsculo. Este é um requisito do krb5. Caso você se esqueça e coloque em minúsculo ocorrerá um erro (que será visto mais adiante).

                dificil de acreditar, mas era exatamente isso que estava dando problema ….

                agora vou continuar com os testes ....

                obrigado a todos ...

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

                  Bom, estava nos pequenos detalhes.  :)

                  Se você voltar no tutorial, vai ver que o realm está em maiúsculo.

                  Segunda dica, o universo unix/linux é praticamente 100% case sensitive, ou seja, caracteres minúsculos são diferentes de caracteres maiúsculos.

                  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

                    é, não tenho como negar que eu já sabia do case sensitive, só não tive essa percepção por estar acostumado com windows.

                    agora, só estou estranhando o seguite, quando dou o net ads join, e digito a senha, ele fica sem fazer nada, não dá msg, não volta para o prompt, fica lá …

                    demora tudo isso mesmo ? já cancelei tentei denovo, esperei mais de 20min ... e nada ....

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

                      Quando esta tudo ok, o processo com um servidor na mesma rede local demora 1 segundo. :P

                      Confere a resolução de nome denovo e tenta pingar o servidor ad para testara comunicação.

                      Você já verificou se no arquivo de configuração do samba não esta faltando acertar alguma coisa?

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

                      Help a community developer! ;D

                      1 Reply Last reply Reply Quote 0
                      • D
                        dougf4nnie
                        last edited by

                        marcelloc,

                        Fiz a alteração que você recomendou: editei o arquivo /usr/local/etc/rc.d/samba mudando tudo que estava com NO para YES. Esta dica resolveu a questão de iniciar o serviço do samba que antes so funcionava com o comando onestart no final.

                        Acredito que agora o que falta resolver é a questão do diretorio que é apagado quando reinicio o pfsense (/var/run/samba), este dir. é necessário para subir o serviço do samba, pra poder funcionar normal tenho que criar manualmente… alguma idéia?

                        E ae filipe.nanclarez, algum progresso?

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

                          Coloca o mkdir no script também.

                          mkdir -p /var/run/samba

                          Talvez seja necessário colocar o caminho completo do  mkdir no script de inicialização.

                          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

                            Então, formatei novamente as VMs, instalei primeiro o DC certinho, do zero sem nenhum erro eventviewer.

                            Depois, fiz o passo a passo cuidadosamente. Fiquei contente com o kinit que deu certo.

                            Mas o join não vai. dá o seguinte erro.

                            kinit succeeded but ads_sasl_spnego_krb5_bind failed: Invalid credentials
                            Failed to join domain: failed to connect to AD: Invalid credentials

                            Já procurei esse erro na net e vi várias pessoas com esse problema, mas não achei uma solução ainda …

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

                              Já que pequenos detalhes podem passar batidos, pergunto:

                              O usuário que você esta usando para entrar no domínio tem permissão administrativa?

                              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

                                @marcelloc:

                                Já que pequenos detalhes podem passar batidos, pergunto:

                                O usuário que você esta usando para entrar no domínio tem permissão administrativa?

                                Sim, estou usando a conta de "Administrator" … com uma senha simples, "1Abcde"

                                mas note, o kinit funciona, isso que eu não entendi, o klist tambem ...

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

                                  tem como aumentar o nivel do log, ou algo parecido para saber onde está o problema ?

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

                                    @filipe.nanclarez:

                                    kinit succeeded but ads_sasl_spnego_krb5_bind failed: Invalid credentials

                                    Eu particularmente nunca passei por este erro. :(

                                    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

                                      Dando a volta no problema,

                                      existe alguma outra maneira, de fazer a integração da autenticação ?

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        johnnybe
                                        last edited by

                                        @marcelloc:

                                        @filipe.nanclarez:

                                        kinit succeeded but ads_sasl_spnego_krb5_bind failed: Invalid credentials

                                        Eu particularmente nunca passei por este erro. :(

                                        Talvez ajude:
                                        Eu já vi isso acontecer. O ambiente não era de autenticação transparente, mas a mensagem de erro foi idêntica: Invalid credentials.
                                        Isto acontecia toda vez que um determinado usuário tentava autenticar. Depois de horas batendo cabeça com detalhes, descobriu-se que
                                        havia uma máquina com o mesmo nome do usuário no AD.
                                        Seria bom verificar se não há duplicidade de nomes.

                                        you would not believe the view up here

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

                                          Hum, bem lembrado.

                                          Bem chequei isso tambem, mas como é um ambiente virtual, só existe o AD e o pf na rede, e só tem um usuário, que é o administrator.

                                          Mas obrigado pelo toque …

                                          Olhando no event viewer do Windows, achei o seguinte, quando tento adicionar a maquina no domino:

                                          An account failed to log on.

                                          Subject:
                                          Security ID: NULL SID
                                          Account Name: -
                                          Account Domain: -
                                          Logon ID: 0x0

                                          Logon Type: 3

                                          Account For Which Logon Failed:
                                          Security ID: NULL SID
                                          Account Name:
                                          Account Domain:

                                          Failure Information:
                                          Failure Reason: An Error occured during Logon.
                                          Status: 0xc000006a
                                          Sub Status: 0x0

                                          Process Information:
                                          Caller Process ID: 0x0
                                          Caller Process Name: -

                                          Network Information:
                                          Workstation Name: -
                                          Source Network Address: 192.168.15.101
                                          Source Port: 58739

                                          Detailed Authentication Information:
                                          Logon Process: Kerberos
                                          Authentication Package: Kerberos
                                          Transited Services: -
                                          Package Name (NTLM only): -
                                          Key Length: 0

                                          This event is generated when a logon request fails. It is generated on the computer where access was attempted.

                                          The Subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.

                                          The Logon Type field indicates the kind of logon that was requested. The most common types are 2 (interactive) and 3 (network).

                                          The Process Information fields indicate which account and process on the system requested the logon.

                                          The Network Information fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.

                                          The authentication information fields provide detailed information about this specific logon request.

                                          • Transited services indicate which intermediate services have participated in this logon request.
                                          • Package name indicates which sub-protocol was used among the NTLM protocols.
                                          • Key length indicates the length of the generated session key. This will be 0 if no session key was requested.
                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            dougf4nnie
                                            last edited by

                                            @marcelloc:

                                            Coloca o mkdir no script também.

                                            mkdir -p /var/run/samba

                                            Talvez seja necessário colocar o caminho completo do  mkdir no script de inicialização.

                                            weee! funcionou! agora o dir. é criado normalmente :). Já a inicialização do samba eu resolvi renomeando o arquivo /usr/local/etc/rc.d/samba para samba.sh.

                                            Também já fiz alguns testes criando as acls no SquidGuard e separando os usuarios (manualmente: 'user1') e por enquanto esta funcionando. Bem… vou continuar demais testes, mais uma vez valeu  ;)

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