The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Squid kerberos AD 2008, !*! DarK, 31-Окт-11, 16:12  [смотреть все]
настраиваю связку Squid AD авторизация через протокол kerberos. На данный момент работаю с NTLM. Но хочу попробовать c kerberos так как есть проблемы с NTLM.
AD 2008 - ABC.LOCAL
Squid 2.7 stable 9
Пробовал вот это
ktpass -princ HTTP/proxy.adc.local@ABC.LOCAL -mapuser admin@abc -crypto rc4-hmac-nt pass squid-pass -ptype KRB5_NT_SRV_HST -out proxy.abc.local.keytab
Дает вот это
Targeting domain controller: dc1.abc.local
Using legacy password setting method
Successfully mapped HTTP/proxy.abc.local to admin.
WARNING: pType and account type do not match. This might cause problems.
Key created.
Output keytab to proxy.abc.local.keytab:
Keytab version: 0x502
keysize 73 HTTP/proxy.abc.local@ABC.LOCAL ptype 3 (KRB5_NT_SRV_HST
9 etype 0x17 (RC4-HMAC) keylength 16 (0x7835c079c3561c28e66259ca2b9a8b98)

Копирую этот proxy.abc.local.keytab в /etc/squid

далее ввожу команду
kinit -V -k -t proxy.abc.local.keytab.pdc HTTP/proxy.abc.local
Using default cache: /tmp/krb5cc_0
Using principal: HTTP/proxy.abc.local@ABC.LOCAL
Using keytab: proxy.abc.local.keytab
kinit: Client 'HTTP/proxy.abc.local@ABC.LOCAL' not found in Kerberos database while getting initial credentials

Помогите в чем проблема ???

  • Squid kerberos AD 2008, !*! DarK, 11:00 , 01-Ноя-11 (1)

    > kinit: Client 'HTTP/proxy.abc.local@ABC.LOCAL' not found in Kerberos database while getting
    > initial credentials
    > Помогите в чем проблема ???

    Хотя после создания keytab-а. У пользователя admin вход в домен изменился на HTTP/proxy.abc.local

    • Squid kerberos AD 2008, !*! Cristian, 13:02 , 01-Ноя-11 (2)
      Вот вариант того, как работает у меня.
      ktpass -princ HTTP//squidname.domain.name.loc@DOMAIN.NAME.LOC -mapuser squid_user@DOMAIN.NAME.LOC -crypto rc4-hmac-nt -pass "12345678" -out c:\krb5.keytab
      (у пользователя, на которого генерируется билет, необходимо запретить смену пароля и срок действия пароля неограничен)

      После чего "krb5.keytab" размещаем в /etc/krb5.keytab (FreeBSD 8.2) и назначаем такие права:
      ============================================
      -r-xr-xr-x   1 nobody  nobody krb5.keytab
      ============================================

      Проверяем:
      ============================================
      % kinit -t /etc/krb5.keytab -k HTTP/squidname.domain.name.loc
      % klist
      Credentials cache: FILE:/tmp/krb5cc_0
              Principal: HTTP//squidname.domain.name.loc@DOMAIN.NAME.LOC

        Issued           Expires          Principal
      Nov  1 11:06:09  Nov  1 21:06:09  krbtgt/DOMAIN.NAME.LOC@DOMAIN.NAME.LOC
      ============================================


      в конфиге Squid-a:
      ============================================
      auth_param negotiate program /usr/local/libexec/squid/squid_kerb_auth -d -s HTTP//squidname.domain.name.loc@DOMAIN.NAME.LOC
      #-d debug режим, смотрим в cache.log (можно убрать после отладки)

      auth_param negotiate children 10
      auth_param negotiate keep_alive on

      acl REQUIRED proxy_auth REQUIRED           #REQUIRED - все пользователи, которые прошли авторизацию
      http_access    allow REQUIRED
      ============================================

      В DNS на серверах необходимо создать запись squidname.domain.name.loc, которая будет соответствовать IP-адресу вашему прокси.

      В браузерах клиентов необходимо указывать адрес прокси "squidname.domain.name.loc", по IP работать не будет!!!!

      Надеюсь данная информация поможет вам в решение ваших проблем


      • Squid kerberos AD 2008, !*! DarK, 17:11 , 01-Ноя-11 (3)
        >[оверквотинг удален]
        > auth_param negotiate keep_alive on
        > acl REQUIRED proxy_auth REQUIRED        
        >   #REQUIRED - все пользователи, которые прошли авторизацию
        > http_access    allow REQUIRED
        > ============================================
        > В DNS на серверах необходимо создать запись squidname.domain.name.loc, которая будет соответствовать
        > IP-адресу вашему прокси.
        > В браузерах клиентов необходимо указывать адрес прокси "squidname.domain.name.loc",
        > по IP работать не будет!!!!
        > Надеюсь данная информация поможет вам в решение ваших проблем

        Большое спасибо! Протестирую и сразу отпишусь))

        • Squid kerberos AD 2008, !*! DarK, 21:27 , 01-Ноя-11 (4)
          > Большое спасибо! Протестирую и сразу отпишусь))

          C:\Users\Администратор.DC1>ktpass -princ HTTP//proxy.babilon.local@BABILON.LOCAL
          -mapuser squid_user@BABILON.LOCAL -crypto rc4-hmac-nt -pass "Uzel963" -out c:\k
          rb5.keytab
          Targeting domain controller: dc1.babilon.local
          Using legacy password setting method
          Successfully mapped HTTP//proxy.babilon.local to squid_user.
          WARNING: pType and account type do not match. This might cause problems.
          Key created.
          Output keytab to c:\krb5.keytab:
          Keytab version: 0x502
          keysize 75 HTTP//proxy.babilon.local@BABILON.LOCAL ptype 0 (KRB5_NT_UNKNOWN) vno
          3 etype 0x17 (RC4-HMAC) keylength 16 (0xde0e25a54cb8ed52daa6ca713e59b9d4)


          Копирую krb5.keytab в /etc/

          -r-xr-xr-x 1 nobody nobody 81 Nov  1 22:16 /etc/krb5.keytab

          proxy ~ #  kinit -t /etc/krb5.keytab -k HTTP/proxy.babilon.local
          kinit: Client 'HTTP/proxy.babilon.local@BABILON.LOCAL' not found in Kerberos database while getting initial credentials

          В примере HTTP//domain.name.loc т.е. два слеша если делаю так
          proxy ~ #  kinit -t /etc/krb5.keytab -k HTTP//proxy.babilon.local
          kinit: No key table entry found for HTTP//proxy.babilon.local@BABILON.LOCAL while getting initial credentials

          все равно гдето ошибка, что опять не так ?

          и да у меня не FreeBSD а Gentoo если конечно это на что то влияет

        • Squid kerberos AD 2008, !*! DarK, 09:38 , 02-Ноя-11 (5)
          Все делаю по примеру. У созданного пользователя логин меняется на HTTP/proxy.babilon.local
          Но такая фигня  
          proxy ~ #  kinit -t /etc/squid/proxy.babilon.local.keytab -k HTTP/proxy.babilon.local
          kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting initial credentials

          Я так понял keytab неправильно создается.  

          • Squid kerberos AD 2008, !*! Cristian, 11:36 , 02-Ноя-11 (6)
            > Все делаю по примеру. У созданного пользователя логин меняется на HTTP/proxy.babilon.local
            > Но такая фигня
            > proxy ~ #  kinit -t /etc/squid/proxy.babilon.local.keytab -k HTTP/proxy.babilon.local
            > kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting
            > initial credentials
            > Я так понял keytab неправильно создается.

            Прошу прощения. Действительно, в строке генерации ключа необходимо указывать один слеш (ktpass -princ HTTP/domain)

            С генерируйте снова keytab, с одним слешем и попробуйте проверить (kinit)
            Заранее проверьте, резолвиться ли ваш "babilon.local" на сервере прокси где вы запускаете kinit.

            Какая у вас операционная система, где установлен Squid? На разных OS могут отличаться ключи запуска, для kinit.

            • Squid kerberos AD 2008, !*! DarK, 13:05 , 02-Ноя-11 (7)
              >[оверквотинг удален]
              >> kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting
              >> initial credentials
              >> Я так понял keytab неправильно создается.
              > Прошу прощения. Действительно, в строке генерации ключа необходимо указывать один слеш
              > (ktpass -princ HTTP/domain)
              > С генерируйте снова keytab, с одним слешем и попробуйте проверить (kinit)
              > Заранее проверьте, резолвиться ли ваш "babilon.local" на сервере прокси где вы запускаете
              > kinit.
              > Какая у вас операционная система, где установлен Squid? На разных OS могут
              > отличаться ключи запуска, для kinit.

              Да я менял. HTTP/proxy.babilon.local тоже не работает. Ошибка
              kinit -t /etc/squid/proxy.babilon.local.keytab -k HTTP/proxy.babilon.local
              kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting initial credentials
              Gentoo OS, Squid 2.7 установлен на нем.
              Домен контроллер windows server 2008 R2 enterprise. AD + DNS


              • Squid kerberos AD 2008, !*! DarK, 08:30 , 03-Ноя-11 (8)
                >[оверквотинг удален]
                >> Заранее проверьте, резолвиться ли ваш "babilon.local" на сервере прокси где вы запускаете
                >> kinit.
                >> Какая у вас операционная система, где установлен Squid? На разных OS могут
                >> отличаться ключи запуска, для kinit.
                > Да я менял. HTTP/proxy.babilon.local тоже не работает. Ошибка
                > kinit -t /etc/squid/proxy.babilon.local.keytab -k HTTP/proxy.babilon.local
                > kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting
                > initial credentials
                > Gentoo OS, Squid 2.7 установлен на нем.
                > Домен контроллер windows server 2008 R2 enterprise. AD + DNS

                Проблема решилась, просто при создании Keytaba использовал шифрование AES, теперь
                proxy ~ # kinit -V -k -t /etc/squid/proxy.babilon.local.keytab HTTP/proxy.babilon.local
                Using default cache: /tmp/krb5cc_0
                Using principal: HTTP/proxy.babilon.local@BABILON.LOCAL
                Using keytab: /etc/squid/proxy.babilon.local.keytab
                Authenticated to Kerberos v5

                Но теперь не проходит авторизация в cache.log
                2011/11/03 09:26:32| squid_kerb_auth: Got 'YR TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAHIXAAAADw==' from squid (length: 59).
                2011/11/03 09:26:32| squid_kerb_auth: parseNegTokenInit failed with rc=101
                2011/11/03 09:26:32| squid_kerb_auth: received type 1 NTLM token
                2011/11/03 09:26:32| squid_kerb_auth: Got 'YR TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAHIXAAAADw==' from squid (length: 59).
                2011/11/03 09:26:32| squid_kerb_auth: parseNegTokenInit failed with rc=101
                2011/11/03 09:26:32| squid_kerb_auth: received type 1 NTLM token
                C этим как бороться :) ?


                • Squid kerberos AD 2008, !*! Cristian, 11:16 , 03-Ноя-11 (9)
                  Вы на верном пути реализации Kerberos авторизации =)

                  Будет полезным прочесть это "http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerb..., если не читали.

                  Я не знаю откуда вы взяли и собрали из исходников SQUID, а потому рекомендую добавить в исполняемый файл запуска это:
                  KRB5_KTNAME=/dir/to/HTTP.keytab
                  export KRB5_KTNAME

                  Второй момент который нужно учесть, это синхронизация времени. Время между серверами прокси, АД и пользователем, не должно отличатся более чем 5 минут.

                  В браузере пользователя указываться не IP-proxy а FQDN, кроме того kerberos авторизация работает в explorer-версиях начиная с 7-й. На 6-й и ниже не работает!!!

                  auth_param negotiate program /dir/to/squid/squid_kerb_auth -d -s HTTP//proxy.babilon.local@BABILON.LOCAL

                  Надеюсь у Вас все получиться!

                  • Squid kerberos AD 2008, !*! DarK, 13:48 , 03-Ноя-11 (10)
                    >[оверквотинг удален]
                    > потому рекомендую добавить в исполняемый файл запуска это:
                    > KRB5_KTNAME=/dir/to/HTTP.keytab
                    > export KRB5_KTNAME
                    > Второй момент который нужно учесть, это синхронизация времени. Время между серверами прокси,
                    > АД и пользователем, не должно отличатся более чем 5 минут.
                    > В браузере пользователя указываться не IP-proxy а FQDN, кроме того kerberos авторизация
                    > работает в explorer-версиях начиная с 7-й. На 6-й и ниже не
                    > работает!!!
                    > auth_param negotiate program /dir/to/squid/squid_kerb_auth -d -s HTTP//proxy.babilon.local@BABILON.LOCAL
                    > Надеюсь у Вас все получиться!

                    Ок. Все равно спасибо вам. буду смотреть дальше надеюсь когда нибудь получиться настроить эту связку ))





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру