Я не понимаю, нужны ли для серверов Linux, использующие Active Directory (AD) и Kerberos, учетные записи компьютеров?
Должен ли Linux-сервер как машина присоединяться к домену AD и при этом иметь учетную запись компьютера для использования служб аутентификации / авторизации из AD?
Вот некоторые требования:
Меня беспокоит боль, связанная с созданием / удалением множества учетных записей компьютеров Linux в AD для серверов на основе частного облака, которые, вероятно, не будут существовать так долго; но я хотел бы получить преимущества центрального хранилища учетных записей пользователей с использованием AD.
Примечания: Я использую серверы Linux RHEL и Centos 6-7 и Windows Server 2012 с AD на функциональном уровне 2008R2.
Да, им нужны учетные записи компьютеров. Они создаются путем «присоединения» к домену.
(Подумайте, Centrify, Powerbroker и т. Д., Хотя конкретные рекомендации по продукту здесь запрещены.)
В частности, Active Directory не позволит вам проходить аутентификацию ни при каких обстоятельствах, если у вас нет учетной записи, независимо от того, являетесь ли вы компьютером или пользователем.
Изменить: просто хотел уточнить - если вы собираетесь аутентифицировать сами серверы, им нужны учетные записи компьютеров. Если вы намереваетесь аутентифицировать только пользователей, которые входят на эти серверы, то теоретически вы можете иметь только учетные записи пользователей, если ваш PAM был настроен таким образом, чтобы разрешать доступ только тем пользователям, которые представили имя пользователя и пароль, прошедшие проверку AD, авторизоваться.
С SSSD это зависит от конфигурации. Если id_provider = ad yes, вам нужно присоединиться к домену с realmd. Но если вы не хотите присоединяться к домену, ничто не мешает вам использовать id_provider = ldap. Даже сопоставление идентификаторов будет работать, если вы настроите SID самостоятельно.
Здесь есть два разных соображения:
1) аутентификация (проверка пароля)
2) авторизация (отображение идентичности / членство в группах и т. Д.)
Для клиентов:
Вы можете выполнить аутентификацию (проверку пароля) через Kerberos от анонимного клиента (без подключения к домену / хостов). Однако вы теряете возможность выполнять GSSAPI SSO и проверку KDC без кредитов хоста (/etc/krb5.keytab).
Для авторизации вам необходимо иметь возможность выполнять привязку / поиск LDAP к AD-DC. В общем, AD не допускает анонимных привязок LDAP, поэтому вам нужны учетные данные на стороне клиента. Либо явно созданная и поддерживаемая учетная запись службы, либо кредиты хоста (созданные / поддерживаемые присоединением к домену).
В ваших файлах ldap.conf или sssd.conf вы можете указать явные кредиты сервисных учетных записей или указать им использовать host-creds. Если у вас есть host-creds и вы используете id_provider 'ad' в sssd, вы получаете такие преимущества, как автоматическое обслуживание host-creds.
Обратите внимание: если вы хотите использовать AD для своей службы авторизации, вам необходимо добавить информацию о стиле rfc2307 (например, uidNumber, gidNumber и т. Д.) В каждую учетную запись пользователя, которую вы хотите использовать на клиентах Unix / Linux.
Для серверов:
Если они собираются предоставлять какие-либо службы на основе Kerberized / GSSAPI, тогда они должны иметь кредиты хоста (быть присоединенными к домену) и иметь действительные записи UPN / SPN в учетной записи компьютера в AD. Думайте о AD как о предоставлении функциональности Kerberos KDC.
Например:
Если у вас есть файловый сервер NFSv4 с протоколом Kerberized, должен быть не только SPN host / F.Q.D.N, должен быть SPN nfs / F.Q.D.N в учетной записи и в файле krb5.keytab на сервере.