Назад | Перейти на главную страницу

Проблемы с Kerberos при попытке войти в Samba 4 Active Directory Domain Controller из Windows

Я пытаюсь настроить сервер Ubuntu с Samba 4 в качестве контроллера домена Active Directory и получаю сообщение об ошибке, когда пытаюсь подключиться с компьютера Windows.

Вот журнал ошибки Samba (я заменил имя своего домена для конфиденциальности):

[2014/07/04 15:09:48.437798,  3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
  Kerberos: AS-REQ Administrator@mydomain.com from ipv4:10.8.0.14:36394 for krbtgt/mydomain.com@mydomain.com
[2014/07/04 15:09:48.442161,  3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
  Kerberos: Client sent patypes: 128
[2014/07/04 15:09:48.442329,  3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
  Kerberos: Looking for PK-INIT(ietf) pa-data -- Administrator@mydomain.com
[2014/07/04 15:09:48.442438,  3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
  Kerberos: Looking for PK-INIT(win2k) pa-data -- Administrator@mydomain.com
[2014/07/04 15:09:48.442539,  3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
  Kerberos: Looking for ENC-TS pa-data -- Administrator@mydomain.com
[2014/07/04 15:09:48.442658,  3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
  Kerberos: Need to use PA-ENC-TIMESTAMP/PA-PK-AS-REQ
[2014/07/04 15:09:48.535053,  3] ../source4/smbd/service_stream.c:66(stream_terminate_connection)
  Terminating connection - 'kdc_tcp_call_loop: tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED'
[2014/07/04 15:09:48.535219,  3] ../source4/smbd/process_single.c:114(single_terminate)
  single_terminate: reason[kdc_tcp_call_loop: tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED]

Однако, если я попытаюсь войти в систему локально, проблем не возникнет:

# smbclient //localhost/netlogon -U Administrator
Enter Administrator's password: 
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
smb: \> ls
  .                                   D        0  Mon May 26 12:54:45 2014
  ..                                  D        0  Mon May 26 12:56:28 2014

                36484 blocks of size 8388608. 27650 blocks available
smb: \> 

# kinit
Password for administrator@MYDOMAIN.COM: 
Warning: Your password will expire in 5 days on jue 10 jul 2014 14:47:07 ART
# klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@MYDOMAIN.COM

Valid starting     Expires            Service principal
04/07/14 16:38:31  05/07/14 02:38:31  krbtgt/MYDOMAIN.COM@MYDOMAIN.COM
        renew until 05/07/14 16:38:24

В чем может быть проблема? Что означает ошибка «Необходимо использовать PA-ENC-TIMESTAMP / PA-PK-AS-REQ»?

Вот дополнительная информация, которая может быть важной.

Информация о сервере:

Содержание smb.conf

# Global parameters
[global]
        workgroup = MYDOMAIN
        realm = MYDOMAIN.COM
        netbios name = COLLIE
        server role = active directory domain controller
        dns forwarder = 10.1.1.1
        idmap_ldb:use rfc2307 = yes
        log level = 3

[netlogon]
        path = /var/lib/samba/sysvol/huntmob.com/scripts
        read only = No

[sysvol]
        path = /var/lib/samba/sysvol
        read only = No

# Sharing general
[files] 
path = /var/lib/samba/usershares/files
read only = no

[todos]
path = /var/lib/samba/usershares/todos
read only = no

[dbox]
path = /var/lib/samba/usershares/dbox
read only = no

Информация о клиенте Windows

На этом этапе установки я работаю с виртуальной машиной под управлением Windows 7 Professional, которая размещена в блоке Kubuntu, который подключается через VPN к офису, где находится сервер Samba.

Я знаю, что это немного запутано, но только на этом этапе сервер Samba будет обслуживать только локальные машины Windows. Однако я не думаю, что это является причиной проблемы, поскольку окно Window, кажется, нормально достигает сервера Samba.

В соответствии с документация MS-KILE

Когда клиенты выполняют начальную аутентификацию на основе пароля, они ДОЛЖНЫ предоставить тип предварительной аутентификации PA-ENC-TIMESTAMP при создании исходного запроса AS.

Очевидно, ваш клиент Windows этого не делает.

Я не имею отношения к тому, чтобы хорошо знать сторону Windows, но, возможно, есть параметры «режима совместимости» для аутентификации, которые не должны быть включены для работы Samba 4.