Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

1C-KERBEROS-KEYTAB-ERR 1С:Предприятие и СУБД

1С: Ошибка аутентификации Kerberos через keytab в Linux (GSS-API / SSO)

Обновлено: 21.08.2026 · Официальная документация ↗

Архитектура сквозной аутентификации (SSO Kerberos) 1С в Linux

Сквозная Windows-аутентификация (Single Sign-On, SSO) в гетерогенной среде (клиенты Windows $\leftrightarrow$ сервер 1С на Linux $\leftrightarrow$ контроллер домена Active Directory) реализуется через интерфейс GSS-API (Generic Security Services) и протокол Kerberos v5. Сервер 1С использует файл секретных ключей keytab (обычно /opt/1cv8/x86_64/8.3.X.X/usr1cv8.keytab или /etc/krb5.keytab) для расшифровки билетов Kerberos (Ticket Granting Service, TGS), передаваемых клиентом. При нарушении конфигурации пользователи получают ошибку:

«Ошибка аутентификации пользователя / Неверное имя пользователя или пароль / GSS-API error: Defective token detected / Key table entry not found / Clock skew too great»

Бизнес-риски

Полный сбой автоматического входа сотрудников в 1С, появление сотен обращений в Helpdesk с запросом ввода паролей, блокировка доменных учетных записей из-за множественных неверных попыток.

Параметры Kerberos Principal Name (SPN)

ПараметрФормат / ЗначениеОписание
SPN1cv8/srv-1c-lnx.corp.local@CORP.LOCALСлужебное имя принципала сервера 1С в домене.
Тип шифрованияAES256-CTS-HMAC-SHA1-96 / RC4-HMACАлгоритм шифрования билета (рекомендуется строго AES-256).
KVNOKey Version Number (целое число 1, 2, 3...)Версия ключа. Несовпадение KVNO делает keytab невалидным.

Пошаговая настройка и траблшутинг Kerberos SSO для 1С на Linux

Сценарий 1: Генерация корректного keytab файла на контроллере домена Active Directory

На контроллере домена Windows Server выполните команду утилиты ktpass:

# Генерация файла keytab на контроллере домена (PowerShell / CMD от Администратора):
ktpass -princ 1cv8/srv-1c-lnx.corp.local@CORP.LOCAL ^
  -mapuser CORP\usr1cv8_srv ^
  -pass 'ComplexPassword123!' ^
  -crypto AES256-SHA1 ^
  -ptype KRB5_NT_PRINCIPAL ^
  -out C:\temp\usr1cv8.keytab

# Проверка привязки SPN к сервисной учетной записи:
setspn -L CORP\usr1cv8_srv

Сценарий 2: Настройка /etc/krb5.conf на Linux-сервере 1С

# Скопируйте usr1cv8.keytab в /etc/1cv8.keytab на Linux и настройте /etc/krb5.conf:
sudo nano /etc/krb5.conf

[libdefaults]
    default_realm = CORP.LOCAL
    default_keytab_name = /etc/1cv8.keytab
    dns_lookup_realm = false
    dns_lookup_kdc = true
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac
    default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac

[realms]
    CORP.LOCAL = {
        kdc = dc01.corp.local
        kdc = dc02.corp.local
        admin_server = dc01.corp.local
    }

[domain_realm]
    .corp.local = CORP.LOCAL
    corp.local = CORP.LOCAL

Сценарий 3: Проверка keytab и получение билета через kinit

# 1. Проверка прав на файл keytab (пользователь usr1cv8 обязан иметь доступ!):
sudo chown usr1cv8:grp1cv8 /etc/1cv8.keytab
sudo chmod 600 /etc/1cv8.keytab

# 2. Просмотр содержимого keytab и номера KVNO:
klist -k -e /etc/1cv8.keytab

# 3. Тестовая аутентификация по keytab без ввода пароля:
kinit -k -t /etc/1cv8.keytab 1cv8/srv-1c-lnx.corp.local@CORP.LOCAL

# 4. Проверка полученного билета TGT:
klist

Типовые ошибки администраторов

  • Рассинхронизация времени более 5 минут (Clock Skew): Протокол Kerberos отклоняет аутентификацию, если часы сервера 1С и контроллера домена расходятся более чем на 300 секунд. Настройте Chrony/NTP.
  • Регистр букв в krb5.conf: Имя REALM домена ОБЯЗАНО быть написано ЗАГЛАВНЫМИ БУКВАМИ (например, CORP.LOCAL), иначе Kerberos завершится с ошибкой Realm not found.
Не работает бесшовный вход SSO Kerberos в 1С на серверах Linux?
Инженеры ITSTM настроят сквозную авторизацию Active Directory / FreeIPA, сгенерируют валидные keytab и исключат запросы паролей у пользователей.
💡 Практика специалистов: При настройке пользователя в 1С:Предприятие поле 'Пользователь Windows' для Linux Kerberos должно содержать строго имя принципала без доменного префикса, либо в формате username@CORP.LOCAL, а не классический NetBIOS вид CORP\username.

Частые вопросы (FAQ)

Почему после смены пароля сервисной учетной записи в AD перестал работать SSO?

При смене пароля учетной записи в Active Directory увеличивается номер версии ключа KVNO. Старый файл keytab теряет валидность, требуется заново сгенерировать keytab через ktpass.

Как указать серверу 1С путь к кастомному keytab файлу?

Путь задается через переменную окружения KRB5_KTNAME=/etc/1cv8.keytab в service unit systemd или файле /etc/default/srv1cv83.

Что означает ошибка Kerberos 'Integrity check on decrypted field failed'?

Это говорит о несовпадении пароля, использованного при генерации keytab, с фактическим паролем пользователя в Active Directory, либо о несовпадении типа шифрования (AES vs RC4).

Работает ли Kerberos SSO в 1С через Web-клиент (Apache/Nginx)?

Да, но требует дополнительной настройки модуля mod_auth_gssapi / SPNEGO на веб-сервере публикации информационной базы.

Полезные материалы
Рекомендуем