Редагувати: переформатували це як запитання та запитання. Якщо хтось може змінити це з спільноти Wiki на типове запитання, це, мабуть, також більше.
Як я можу аутентифікувати OpenBSD проти Active Directory?
Редагувати: переформатували це як запитання та запитання. Якщо хтось може змінити це з спільноти Wiki на типове запитання, це, мабуть, також більше.
Як я можу аутентифікувати OpenBSD проти Active Directory?
Відповіді:
Передмова
Аутентифікація Active Directory за допомогою Kerberos досить проста в системах, що використовують PAM, але OpenBSD не робить і ускладнює. З tcpdump, схоже, що PAM системи просто роблять попередню аутентифікацію, тоді як система bsd_auth OpenBSD використовує весь процес аутентифікації Kerberos.
У будь-якому випадку, мені знадобилося певний час, щоб розібратися, тому, сподіваюся, деякі стислі вказівки заощадять ваш час.
Кілька швидких приміток, перш ніж розпочати:
Інструкції
Ці кроки передбачають, що ви намагаєтесь підтвердити автентифікацію myuser@myhost.fqdn щодо домену EXAMPLE.COM. Контролер домену - pdc.EXAMPLE.COM.
Створіть обліковий запис користувача Active Directory на ім'я myhost (це не помилка, ці вказівки не працюватимуть із обліковим записом Комп'ютера). Вимкніть термін дії пароля і не дозволяйте користувачеві змінювати свій власний пароль. Встановіть пароль на все, що вам подобається - він буде незабаром змінений.
Можливо, добре створити обліковий запис користувача під новим ОУ, видалити його з групи користувачів домену та додати його до виділеної групи. Це все питання смаку та вашої безпеки.
На pdc.EXAMPLE.COM завантажте та встановіть Інструменти підтримки Windows Server (зокрема, вам знадобиться ktpass.exe)
На pdc.EXAMPLE.COM запустіть:
ktpass -out c: \ temp \ myhost.keytab -princ host/myhost.fqdn@EXAMPLE.COM -mapuser myhost -pType KRB5
_
NT_PRINCIPAL + rndpass
Це оновлює пароль користувача myhost на щось випадкове (+ rndpass), відображає основний Kerberos "host/myhost.fqdn@EXAMPLE.COM" на користувача "myhost" в Active Directory, а потім скидає інформацію про головний та приватний ключ у -від файлу клавіатури.
Безпечно скопіюйте c: \ temp \ myhost.keytab в myhost та видаліть файл із pdc.EXAMPLE.COM
На myhost додайте клавішу AD на основну вкладку клавіш:
ktutil copy /path/to/myhost.keytab /etc/kerberosV/krb5.keytab
Налаштування /etc/krb5.conf. Нижче наведений мінімум, який вам потрібен. Доступно багато варіантів, ознайомтеся з інформацією про сторінку, щоб дізнатися більше. Це просто встановлює максимально прийнятне нахил тактової частоти на 5 хвилин, робить EXAMPLE.COM цариною за замовчуванням і повідомляє Керберосу, як переводити між царствами DNS і Kerberos.
[libdefaults]
Clockkew = 300 за
замовчуванням_realm = EXAMPLE.COM[області]
EXAMPLE.COM = {
default_domain = EXAMPLE.COM
}[domain_realm]
.EXAMPLE.COM = EXAMPLE.COM
Перевірте, чи можна отримати квиток:
# kinit Administrator@EXAMPLE.COM
Administrator@EXAMPLE.COM's Password:
# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: Administrator@EXAMPLE.COM
Issued Expires Principal
Jun 4 21:41:05 Jun 5 07:40:28 krbtgt/EXAMPLE.COM@EXAMPLE.COM
Змініть /etc/login.conf, щоб використовувати автентифікацію Kerberos. Ваша точна конфігурація login.conf залежить від способу використання вашої системи, але для того, щоб перейти від установки ванілі до Kerberos, просто відредагуйте та прокоментуйте цей рядок під типовим класом входу за замовчуванням:
:tc=auth-defaults:\
І додайте вище:
:auth=krb5-or-pwd:\
Це перевіряє Kerberos спочатку, якщо користувач не має root. Якщо Kerberos не вдасться, він використовуватиме локальні паролі.
Додайте користувачів, яких ви хочете пройти автентифікацію на цьому хості. Залиште паролі порожніми, якщо ви не хочете, щоб вони могли використовувати як Active Directory, так і локальні паролі (не рекомендується).
Ви можете видалити паролі існуючих користувачів "chpass <user>
" та замінити значення "Зашифрований пароль:" зірочкою (*)
Тест на SSH та судо. Обидва повинні працювати бездоганно з вашими обліковими записами Active Directory.
Це все, що там є.
Посилання
Кілька корисних сайтів:
login_krb5-or-pwd
в /usr/libexec/auth
- також файли конфігурації і Keytab тепер в /etc/heimdal
і не /etc/kerberosV
як в попередніх версіях OpenBSD.
Оновлення наведених вище вказівок, оскільки відтоді змінилися декілька речей.
У OpenBSD 5.6 було прийнято рішення про вилучення Heimdal з базового розподілу через стурбованість якістю коду, і ніхто не готовий витрачати час на його аудит. У 5.7 він був доступний у вигляді пакету (для 5.6 вам потрібно буде створити з джерела або придумати, як його знову включити в джерело). Отже, перш ніж виконувати наведені вище інструкції, необхідно буде виконати наступні додаткові кроки:
-3. Встановіть heimdal
і login_krb5
пакунки з улюбленого дзеркала.
-2. Скопіювати /usr/local/libexec/auth/login_krb5*
в /usr/libexec/auth
.
-1. Якщо ви збираєтесь багато використовувати heimdal інструменти, додайте /usr/local/heimdal/bin
до системного шляху. В іншому випадку обов'язково посилайтеся на інструменти з їх повним шляхом при їх використанні.
Крім того, krb5.conf
і krb5.keytab
файли /etc/heimdal
зараз переходять у файл .