LINUX.ORG.RU

Проблемы с SSO на связке SSHd + Winbind + Kerberos

 , , ,


0

2

Доброго дня. Столкнулся с проблемой в настройке OSS на debina/ubuntu, а конкретно с настройкой SSHd. Привожу конфиги.

/etc/ssh/sshd_config

# Kerberos options
KerberosAuthentication yes
KerberosGetAFSToken yes
KerberosOrLocalPasswd yes
KerberosTicketCleanup yes

# GSSAPI options
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
GSSAPIKeyExchange yes

AllowGroups adm BUILTIN\administrators

UsePAM yes

/etc/samba/smb.conf

[global]
workgroup = MARKET
realm = MARKET.LOCAL
security = ADS
encrypt passwords = true
dns proxy = no
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no

load printers = yes
show add printer wizard = yes
printcap name = cups
disable spoolss = no

idmap uid = 10000 - 40000
idmap gid = 10000 - 40000
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = no
winbind normalize names = yes
winbind nested groups = yes
template shell = /bin/bash
winbind refresh tickets = yes
kerberos method  = secrets and keytab

winbind offline logon = yes
winbind cache time = 300
#password server = market.local
dedicated keytab file = /etc/krb5.keytab

/etc/krb5.conf

[libdefaults]
    default_realm = MARKET.LOCAL

    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    v4_instance_resolve = false
    v4_name_convert = {
        host = {
            rcmd = host
            ftp = ftp
        }
        plain = {
            something = something-else
        }
    }
    fcc-mit-ticketflags = true

[realms]
    MARKET.LOCAL = {
        kdc = market.local
        admin_server = market.local
        default_domain = market.local
    }

[domain_realm]
    .market.local = MARKET.LOCAL
    market.local = MARKET.LOCAL

[login]
    krb4_convert = false
    krb4_get_tickets = false

# net ads keytab list

Vno  Type                                        Principal
  2  des-cbc-crc                                 HOST/admin-pc.market.local@MARKET.LOCAL
  2  des-cbc-md5                                 HOST/admin-pc.market.local@MARKET.LOCAL
  2  aes128-cts-hmac-sha1-96                     HOST/admin-pc.market.local@MARKET.LOCAL
  2  aes256-cts-hmac-sha1-96                     HOST/admin-pc.market.local@MARKET.LOCAL
  2  arcfour-hmac-md5                            HOST/admin-pc.market.local@MARKET.LOCAL
  2  des-cbc-crc                                 HOST/admin-pc@MARKET.LOCAL
  2  des-cbc-md5                                 HOST/admin-pc@MARKET.LOCAL
  2  aes128-cts-hmac-sha1-96                     HOST/admin-pc@MARKET.LOCAL
  2  aes256-cts-hmac-sha1-96                     HOST/admin-pc@MARKET.LOCAL
  2  arcfour-hmac-md5                            HOST/admin-pc@MARKET.LOCAL
  2  des-cbc-crc                                 ADMIN-PC$@MARKET.LOCAL
  2  des-cbc-md5                                 ADMIN-PC$@MARKET.LOCAL
  2  des-cbc-crc                                 host/admin-pc@MARKET.LOCAL
  2  des-cbc-crc                                 host/admin-pc.market.local@MARKET.LOCAL
  2  des-cbc-md5                                 host/admin-pc@MARKET.LOCAL
  2  des-cbc-md5                                 host/admin-pc.market.local@MARKET.LOCAL
  2  aes128-cts-hmac-sha1-96                     host/admin-pc@MARKET.LOCAL
  2  aes128-cts-hmac-sha1-96                     host/admin-pc.market.local@MARKET.LOCAL
  2  aes256-cts-hmac-sha1-96                     host/admin-pc.market.local@MARKET.LOCAL
  2  arcfour-hmac-md5                            host/admin-pc.market.local@MARKET.LOCAL
  2  arcfour-hmac-md5                            host/admin-pc@MARKET.LOCAL
  2  aes256-cts-hmac-sha1-96                     host/admin-pc@MARKET.LOCAL
  2  aes128-cts-hmac-sha1-96                     ADMIN-PC$@MARKET.LOCAL
  2  arcfour-hmac-md5                            ADMIN-PC$@MARKET.LOCAL
  2  aes256-cts-hmac-sha1-96                     ADMIN-PC$@MARKET.LOCAL

# groups MARKET\\vitto

MARKET\vitto : MARKET\пользователи_домена
MARKET\adm-ssh
MARKET\администраторы_домена
MARKET\пользователи_терминала_sever
MARKET\terminalusers
MARKET\администраторы_схемы
MARKET\администраторы_предприятия
MARKET\debugger_users
MARKET\группа_с_запрещением_репликации_паролей_rodc
BUILTIN\users
BUILTIN\administrators

# id MARKET\\vitto

uid=10005(MARKET\vitto)
gid=10001(MARKET\пользователи_домена)
группы=10001(MARKET\пользователи_домена),
10041(MARKET\adm-ssh),
10003(MARKET\администраторы_домена),
10035(MARKET\пользователи_терминала_sever),
10027(MARKET\terminalusers),
10010(MARKET\администраторы_схемы),
10008(MARKET\администраторы_предприятия),
10024(MARKET\debugger_users),
10030(MARKET\группа_с_запрещением_репликации_паролей_rodc),
10037(BUILTIN\users),
10036(BUILTIN\administrators)

# getent passwd

...
vitto:x:1000:1000:vitto,,,,:/home/vitto:/bin/bash
...
MARKET\vitto:*:10005:10003:%viewname%:/home/MARKET/vitto:/bin/bash
...

В принципе, если разрешить доступ всем, т.е. закомментить опцию AllowGroups, то я могу авторизоваться по паролю от имени доменных пользователей ssh MARKET\\vitto@admin-pc.market.local

Но через GSSAPI авторизация не проходит. Странность в том, что на локальной машине тоже есть пользователь vitto и если я зайду от пользователя MARKET\vitto на Win-машину, а с неё зайду по ssh через putty, используя GSSAPI, то меня авторизует как локального vitto, а не доменного! Если же я введу логин MARKET\vitto, то авторизация пойдет только по паролю (причем корректно, через PAM). На сколько я понял авторизоваться через GSSAPI можно только по обычному имени пользователя без префикса MARKET, но что делать, если например доменов несколько? Поэтому вопрос - как можно определить, что пользователь, авторизуемый через GSSAPI принадлежи именно к домену MARKET, а затем авторизовать его именно как MARKET\%username%?



Последнее исправление: Vitto74 (всего исправлений: 1)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.