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

Междоменная аутентификация с использованием Kerberos

На сервере Linux я хочу получить доступ к серверу Windows из домена Windows sub.dnsdomain с использованием учетной записи из родительского домена Windows dnsdomain. Учетная запись имеет права администратора на этом сервере и может входить в систему с помощью RDP.

Я настроил области Kerberos для обоих доменов на сервере Linux. Я могу получить билет Kerberos, используя kinit user. Я могу получить доступ к серверам из dnsdomain. Но я не могу получить доступ к серверу из sub.dnsdomain.

[libdefaults]
        default_realm = DNSDOMAIN
        dns_lookup_realm = false
        #ticket_lifetime = 24h
        renew_lifetime = 7d
        rdns = false
        default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
        default_tgs_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-md5
        ticket_lifetime = 600
        kdc_timesync = 1
        ccache_type = 4

# The following krb5.conf variables are only for MIT Kerberos.
        kdc_timesync = 1
        ccache_type = 4
        forwardable = true
        proxiable = true

# The following libdefaults parameters are only for Heimdal Kerberos.
        fcc-mit-ticketflags = true

[realms]
        DNSDOMAIN = {
                kdc = dc1.dnsdomain:88
                kdc = dc2.dnsdomain:88
                admin_server = dc1.dnsdomain:749
                default_domain = dnsdomain
        }
        SUB.DNSDOMAIN = {
                kdc = subdc1.sub.dnsdomain:88
                kdc = subdc2.sub.dnsdomain:88
                admin_server = subdc1.sub.dnsdomain:749
                default_domain = sub.dnsdomain
        }

[domain_realm]
        .dnsdomain = DNSDOMAIN
        dnsdomain = DNSDOMAIN
        .sub.dnsdomain = SUB.DNSDOMAIN
        sub.dnsdomain = SUB.DNSDOMAIN

[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true

Примечание. Имя домена Windows отличается от имен DNS. Я не использую его в конфигурации Kerberos.

Чем я могу это сделать:

$ kinit user
Password for user@DNSDOMAIN: 
$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: user@DNSDOMAIN

Valid starting       Expires              Service principal
07.08.2020 14:06:07  07.08.2020 14:16:00  krbtgt/DNSDOMAIN@DNSDOMAIN
        renew until 10.08.2020 14:06:07
$ rpcclient server.dnsdomain -k
rpcclient $> srvinfo
        XXXXXXX         
        platform_id     :       500
        os version      :       6.3
        server type     :       0x801013
rpcclient $> quit
$ rpcclient subserver.sub.dnsdomain -k
Cannot connect to server.  Error was NT_STATUS_LOGON_FAILURE

Также, если я пытаюсь подключиться через WinRM к серверу в поддомене, я получаю сообщение об ошибке:

Server not found in Kerberos database

Как получить доступ к серверу в поддомене, используя учетную запись из родительского домена?