misc:spnego
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| misc:spnego [20.06.2026 19:33] – nikolay | misc:spnego [22.06.2026 12:00] (текущий) – [Linux] nikolay | ||
|---|---|---|---|
| Строка 9: | Строка 9: | ||
| timedatectl list-timezones | timedatectl list-timezones | ||
| </ | </ | ||
| - | - Устанавливаем | + | - Установить NTP-клиент Chrony< |
| apt install chrony | apt install chrony | ||
| </ | </ | ||
| - | - Настраиваем | + | - Настроить список NTP-серверов для синхронизации времени в файле **/ |
| ... | ... | ||
| pool domain.local | pool domain.local | ||
| Строка 18: | Строка 18: | ||
| ... | ... | ||
| </ | </ | ||
| - | - Запускаем | + | - Запустить |
| - | systemctl enable | + | systemctl enable |
| </ | </ | ||
| Строка 26: | Строка 26: | ||
| <note important> | <note important> | ||
| - | - Проверяем | + | - Проверить |
| nginx -V | nginx -V | ||
| </ | </ | ||
| - | - Устанавливаем | + | - Установить необходимые пакеты< |
| apt install git build-essential libpcre++-dev zlib1g-dev libkrb5-dev libssl-dev libxslt-dev libgd-dev | apt install git build-essential libpcre++-dev zlib1g-dev libkrb5-dev libssl-dev libxslt-dev libgd-dev | ||
| </ | </ | ||
| - | - Скачиваем и распаковываем исходники nginx согласно установленной версии< | + | - Скачать и распаковать исходники nginx согласно установленной версии< |
| cd ~ | cd ~ | ||
| mkdir nginx-dev | mkdir nginx-dev | ||
| Строка 39: | Строка 39: | ||
| tar -xzvf nginx-1.xx.x.tar.gz | tar -xzvf nginx-1.xx.x.tar.gz | ||
| </ | </ | ||
| - | - Скачиваем и компилируем | + | - Скачать и скомпилировать |
| cd ~/nginx-dev | cd ~/nginx-dev | ||
| git clone https:// | git clone https:// | ||
| Строка 68: | Строка 68: | ||
| <note important> | <note important> | ||
| + | |||
| + | ==== Windows ==== | ||
| + | - Создать нового пользователя для SPNEGO | ||
| + | - Открыть свойства созданного пользователя | ||
| + | - Перейти во вкладку **Учетная запись** | ||
| + | - В разделе **Параметры учетной записи** поставить галки: | ||
| + | * Запретить смену пароля пользователем | ||
| + | * Срок действия пароля не ограничен | ||
| + | * Данная учетная запись поддерживает 256-разрядное | ||
| + | - Открыть консоль cmd или Power Shell | ||
| + | - Выполнить команды< | ||
| + | ktpass -princ host/ | ||
| + | ktpass -princ HTTP/ | ||
| + | </ | ||
| + | - Проверяем корректность SPN<code powershell> | ||
| + | setspn -Q */ | ||
| + | </ | ||
| + | - Если всё верно, то должно вывести примерно следующее< | ||
| + | Checking domain DC=domain, | ||
| + | CN=..., | ||
| + | HTTP/ | ||
| + | host/ | ||
| + | </ | ||
| + | |||
| + | ==== Linux ==== | ||
| + | - Установить пакеты< | ||
| + | apt install krb5-user krb5-multidev libkrb5-dev | ||
| + | </ | ||
| + | - Изменить настройки **/ | ||
| + | [libdefaults] | ||
| + | default_realm = DOMAIN.LOCAL | ||
| + | default_tgs_enctypes = aes256-cts-hmac-sha1-96 | ||
| + | default_tkt_enctypes = aes256-cts-hmac-sha1-96 | ||
| + | kdc_timesync = 1 | ||
| + | ccache_type = 4 | ||
| + | forwardable = false | ||
| + | proxiable = false | ||
| + | ticket_lifetime = 24h | ||
| + | default_keytab_name | ||
| + | |||
| + | ... | ||
| + | [realms] | ||
| + | ... | ||
| + | DOMAIN.LOCAL = { | ||
| + | kdc = dc.domain.local | ||
| + | admin_server | ||
| + | default_domain = domain.local | ||
| + | } | ||
| + | ... | ||
| + | [domain_realm] | ||
| + | ... | ||
| + | .domain.local = DOMAIN.LOCAL | ||
| + | domain.local = DOMAIN.LOCAL | ||
| + | </ | ||
| + | - Скопировать полученные файлы **host.keytab** и **http.keytab** | ||
| + | - Объединить файлы в единый файл **krb5.keytab** при помощи **ktutil**< | ||
| + | # ktutil | ||
| + | ktutil: rkt host.keytab | ||
| + | ktutil: rkt http.keytab | ||
| + | ktutil: wkt / | ||
| + | ktutil: quit | ||
| + | </ | ||
| + | - Проверить корректность созданного keytab-файла< | ||
| + | klist -kt / | ||
| + | </ | ||
| + | Keytab name: FILE:/ | ||
| + | KVNO Timestamp | ||
| + | ---- ----------------- -------------------------------------------------------- | ||
| + | 1 02/19/13 04:02:48 host/ | ||
| + | 2 02/19/13 04:02:48 HTTP/ | ||
| + | </ | ||
| + | - Проверить возможность авторизации при помощи keytab-файла без пароля< | ||
| + | kinit -5 -V -k -t / | ||
| + | </ | ||
| + | Authenticated to Kerberos v5 | ||
| + | </ | ||
| + | - Установим правильные права для **/ | ||
| + | chmod 440 / | ||
| + | chown root: | ||
| + | </ | ||
| + | |||
| + | ===== Настройка аутентификации на NGINX ===== | ||
| + | - Создать конфигурационный файл для сайта в **/ | ||
| + | server { | ||
| + | ... | ||
| + | server_name foo.domain.local; | ||
| + | ... | ||
| + | auth_gss | ||
| + | auth_gss_realm | ||
| + | auth_gss_keytab | ||
| + | auth_gss_service_name | ||
| + | |||
| + | auth_gss_allow_basic_fallback off; | ||
| + | } | ||
| + | </ | ||
| + | - Включить сайт< | ||
| + | cd / | ||
| + | ln -s ../ | ||
| + | systemctl reload nginx</ | ||
| + | |||
| + | ===== Настройка клиентских ПК ===== | ||
| + | |||
| + | ==== Firefox ==== | ||
| + | - Ввести '' | ||
| + | - Добавить/ | ||
| + | - Убедиться, | ||
| + | |||
| + | ==== Прочие браузеры ==== | ||
| + | - Перейти в **Панель управления** и выбрать **Свойства браузера** | ||
| + | - В открывшемся окне выбрать вкладку **Безопасность** | ||
| + | - Выбрать зону безопасности **Местная интрасеть** и нажать на кнопку **Сайты** | ||
| + | - В новом окне нажать кнопку **Дополнительно** | ||
| + | - Добавить адрес сайта | ||
| + | |||
misc/spnego.1781973184.txt.gz · Последнее изменение: — nikolay
