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 82.2k 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.
    • 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
                            • F
                              filipe.nanclarez
                              last edited by

                              Consegui !!!! Não sei porque mais fiz isso na sequencia do kinit

                              Agora edite o arquivo /etc/nsswitch.conf

                              vim /etc/nsswitch.conf

                              altere as linhas:

                              passwd: compat

                              group: compat

                              para:

                              passwd: compat winbind

                              group: compat winbind

                              reinicie os serviços

                              nmbd restart

                              smbd restart

                              winbindd restart

                              depois coloque no domino com o seguinte comando …

                              net rpc join DOMINIO -U administrador

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

                                filipe.nanclarez,

                                Você fez um join via rpc e não via ads.
                                Este procedimento pode funcionar porém é mais antigo ainda.

                                Parabéns pela configuração e não esqueça de monitorar o funcionamento. ;)

                                att,
                                Marcello Coutinho

                                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

                                  humm, deve ser por isso que ferrou todo o meu AD, agora o servidor não funfa mais…

                                  rsrs

                                  e eu que pensei que estava indo bem ...

                                  vamos lá, tô formatando tudo novamente ...

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

                                    UHUUUUUUUU

                                    ;D ;D ;D ;D ;D ;D

                                    Consegui….

                                    Pessoal, apenas para compartilhar com voces um resumo da historia.

                                    1º O primeiro erro com o kinit, eu não tinha colocado o realm em maiuscula.

                                    2º O segundo problema com Invalid Credentials, eu estava colocando no NetBios Name o nome do PDC, mas é o nome do pfSense. Agradeço ao johnnybe que deu a luz nesse caso.

                                    3º No exemplo, em alguns lugares tem um ponto "." apos o nome do domínio.
                                    Eu achei que isso era um erro de digitação, mas não é. Só é erro de digitação no comando net ads join, onde no exemplo ele coloca o ponto no final. Nesse caso dá erro. Mas nos arquivos, o ponto existe, e funciona com ele sim.

                                    4º As ultimas alterações que mencioei sobre alterar o /etc/nsswitch.conf, e dar o join via rpc, devem ser ignoradas. Foram tentativas ás cegas, mas depois de formatar tudo, e refazer do zero, elas não são necessárias. Basta respeitar as observações acima.

                                    Espero que ajude aos novos que não estão muito familiarizados ao ambiente como eu.

                                    Agradeço especialmente ao marcelloc, pela paciencia, e ao dougf4nie pelo interesse.

                                    ;)

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

                                      Pessoal, só mais uma coisinha.

                                      Não é querer pedir demais, mas acontece o seguinte.

                                      O PC no dominio, e logado, entra na net certinho, registrando o usuário etc…

                                      Agora, reproduzi um ambiente, onde outra vm simulando um note externo, fora do dominio, tenta acessar a net. Ele pede a senha, mas quando eu digito, não entra, volta o popup. Já tentei

                                      administrator
                                      administrator@virtual.local
                                      adiministrator@VIRTUAL.LOCAL
                                      VIRTUAL\administrator
                                      virtual\administrator

                                      ... e nada.

                                      Os funcionários tá blz, não tá pedindo a senha, mas para os clientes, se pedir a senha, eu gostaria de passar um usuário e eles poderem navegar normal.

                                      Alguma idéia?

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

                                        veja qual é o winbind separator no smb.conf, o exemplo do tutorial sugere o +

                                        /usr/local/bin/ntlm_auth –helper-protocol=squid-2.5-basic

                                        mydomain+myuser mypasswd
                                        OK

                                        Se não der certo, tente colocar estas linhas no campo custom do squid, lembrando que tem que substituir <enter>por ;

                                        warning: basic authentication sends passwords plaintext

                                        a network sniffer can and will discover passwords

                                        auth_param basic program /usr/local/bin/ntlm_auth –helper-protocol=squid-2.5-basic
                                        auth_param basic children 5
                                        auth_param basic realm Squid proxy-caching web server
                                        auth_param basic credentialsttl 2 hours

                                        juntando tudo fica mais ou menos asssim:

                                        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;auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic;auth_param basic children 5;auth_param basic realm Squid proxy-caching web server;auth_param basic credentialsttl 2 hours;acl password proxy_auth REQUIRED;http_access allow password
                                        ```</enter>

                                        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 achei esse parametro no meu smb.conf, nem no backup …

                                          o comado

                                          /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic

                                          dá erro, "no such user"

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

                                            marcelloc, desfarça, eu viajei ali …

                                            então, estavamos achando que era uma coisa e é outra.

                                            quando entrei novamente na conta de usuaário tambem deu popup.

                                            ai eu fui fazer os testes novamente no shell, e tava dando host não encontrado.

                                            ai eu vi que no resolv.conf, ele tinha voltado as linhas que eu tinha comentado, quando eu reiniciei o servidor...

                                            depois que eu comente as linhas de loopback, funcionou direito, tanto o usuario do dominio, quanto o pc que está fora do dominio e digita a senha.

                                            como fazer para as alterações no resolv.conf ficarem permanentes ?

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