К статье
Практический материал

Администрирование · 10 мин

Как 1С хранит пароли пользователей

Разбираем, как 1С хранит пароли пользователей: хеширование SHA-1, соль, где лежат хеши в базе, можно ли их восстановить и как безопасно сбросить пароль.

Пароли пользователей в 1С:Предприятии не хранятся в открытом виде — платформа сохраняет только результаты криптографического преобразования (хеши). Это принципиально важно: даже получив доступ к файлу базы или выгрузке, злоумышленник не увидит самих паролей. Однако способ хеширования в 1С имеет особенности, которые администратору нужно понимать, чтобы правильно оценивать риски и грамотно организовать политику паролей.

Знание механизма хранения паролей требуется в нескольких практических ситуациях: при восстановлении доступа к базе, когда утерян пароль всех администраторов; при аудите безопасности; при переносе пользователей между базами; при разборе инцидентов, связанных с подозрением на компрометацию учётных записей. Ниже разобрано, как именно платформа преобразует пароль, где физически лежат хеши, почему восстановить исходный пароль невозможно и какие действия допустимы в каждом сценарии.

Какой алгоритм использует платформа 1С

Платформа 1С:Предприятие 8 применяет хеширование на основе алгоритма SHA-1. При сохранении пароля пользователя система формирует два значения: хеш самого пароля и хеш комбинации пароля с так называемой солью — случайной последовательностью, уникальной для каждого пользователя. Соль не позволяет применять готовые радужные таблицы: одинаковые пароли у разных пользователей дают разные хеши.

Важно понимать ограничение: SHA-1 считается устаревшим алгоритмом с точки зрения криптографии, и короткие словарные пароли подбираются перебором за разумное время, если злоумышленник получил хеш. Поэтому защита строится не только на алгоритме, но и на политике паролей: минимальной длине, требованиях к сложности и ограничении доступа к файлам базы.

Где физически хранятся хеши паролей

В файловом варианте работы все данные, включая сведения о пользователях и хеши их паролей, находятся внутри файла 1Cv8.1CD. Список пользователей хранится в служебной таблице Params (сериализованное хранилище значений) и во внутренних структурах платформы; напрямую прочитать его штатными средствами СУБД нельзя — формат файла закрытый.

В клиент-серверном варианте хеши также хранятся внутри информационной базы, а не в отдельной таблице, доступной для чтения запросом. Пользователи информационной базы и пользователи кластера серверов 1С — это разные списки: администратор кластера хранится в реестре кластера (каталог srvinfo), а пользователи прикладной базы — в самой базе. Путаница между ними — частая причина ситуаций, когда «пароль не подходит».

Почему пароль нельзя восстановить, а только сбросить

Хеширование — необратимое преобразование: из хеша математически невозможно получить исходную строку пароля. Платформа при входе пользователя не «расшифровывает» сохранённое значение, а хеширует введённый пароль и сравнивает результат с хранимым хешем. Если совпали — доступ разрешён.

Из этого следует практический вывод: никакая штатная операция не позволяет «узнать» текущий пароль пользователя. Даже администратор с полными правами видит в карточке пользователя только факт установки пароля, но не его значение. Единственный легальный путь — сбросить пароль и задать новый, передав его пользователю по защищённому каналу.

Существующие в сети утилиты, обещающие «восстановить пароль 1С», фактически либо выполняют перебор по словарю (что возможно только для слабых паролей), либо подменяют хеш в файле базы на хеш известного пароля. Второй подход — это тоже сброс, просто выполненный нештатным способом с риском повредить файл базы.

Штатные способы сброса пароля

Если есть доступ под учётной записью администратора, пароль любого пользователя меняется в конфигураторе: меню «Администрирование» → «Пользователи» → выбор пользователя → вкладка «Прочие» (или поле пароля на основной вкладке в зависимости от версии). В клиент-серверном варианте это делается при монопольном доступе не обязательно — смена пароля не требует выгона пользователей.

Сложнее ситуация, когда утерян пароль единственного администратора. В файловой базе без установленного пароля на вход достаточно открыть конфигуратор: если список пользователей пуст или у пользователя с полными правами пароль отсутствует, вход выполнится. Если пароль задан, применяются обработки, создающие нового администратора через внешние механизмы, либо перенос данных в новую базу.

Сброс пароля пользователя через конфигуратор
  1. 1
    Откройте базу в конфигураторе под учётной записью с правами администрирования
  2. 2
    Перейдите в Администрирование → Пользователи и откройте нужного пользователя
  3. 3
    Задайте новый пароль, при необходимости включите требование смены при следующем входе
  4. 4
    Сохраните изменения и проверьте вход под новым паролем в режиме предприятия

Сброс через консоль кластера

В клиент-серверном варианте администратор кластера может управлять списком пользователей базы через консоль администрирования серверов 1С: свойства информационной базы позволяют просматривать пользователей. Однако и здесь пароль можно только переустановить, но не прочитать.

Настройки политики паролей в 1С

Платформа предоставляет встроенные механизмы усиления защиты. В свойствах пользователя и в настройках конфигурации доступны: минимальная длина пароля, требование сложности (наличие символов разных категорий), ограничение срока действия пароля, запрет повторного использования старых паролей. В типовых конфигурациях на базе БСП часть этих настроек вынесена в раздел администрирования в режиме предприятия.

Дополнительно рекомендуется включать аутентификацию операционной системы там, где это оправдано: тогда 1С доверяет проверке подлинности Windows, и пароль в базе вообще не задаётся. Это снижает количество хранимых хешей и упрощает централизованное управление доступом через доменные политики.

Способы аутентификации в 1С

Парольная аутентификация 1С

Универсальный вариант: пароль и хеш хранятся в базе. Требует политики сложности, так как SHA-1 уязвим к перебору слабых паролей

Аутентификация ОС

1С доверяет проверке Windows, пароль в базе не хранится. Подходит для доменной сети, не работает для внешних пользователей вне домена

OpenID / внешние провайдеры

Делегирование аутентификации внешнему сервису. Требует настройки инфраструктуры, оправдано в распределённых системах

Частые ошибки и риски при работе с паролями

Самая распространённая ошибка — хранение паролей пользователей в открытых файлах, Excel-таблицах или в коде внешних обработок «для автоматического входа». Это сводит на нет всё хеширование: хеш в базе защищён, а копия пароля в текстовом файле — нет. Вторая типичная проблема — использование коротких паролей вида «123» или совпадающих с логином, которые подбираются перебором по хешу за секунды.

Типичные ошибки
01
Хранение паролей пользователей в открытых таблицах и скриптах — компрометация обходит защиту хеширования
02
Отключение требований к сложности пароля ради удобства — слабые пароли подбираются по хешу перебором
03
Правка файла 1Cv8.1CD сторонними утилитами без резервной копии — риск необратимого повреждения базы
04
Путаница между пользователями базы и администраторами кластера — попытки входа не с теми учётными данными
05
Передача нового пароля по незащищённой почте или в мессенджере без последующей смены

Отдельный риск — резервные копии и выгрузки .dt. Они содержат хеши паролей всех пользователей, поэтому доступ к ним должен быть ограничен так же строго, как к рабочей базе. Выгрузка, переданная подрядчику «для теста», фактически отдаёт ему хеши, по которым слабые пароли могут быть подобраны.

Как проверить, что доступ настроен правильно

После смены или сброса пароля проверьте результат: выполните вход в режиме предприятия под новой учётной записью, убедитесь, что старый пароль больше не принимается. Если включено требование смены пароля при первом входе — проверьте, что система действительно запрашивает новый пароль.

Контрольные точки

Как проверить результат

Вход с новым паролем
Норма

Пользователь успешно входит в режим предприятия

Тревожный признак

Ошибка аутентификации — проверьте раскладку, регистр и правильность списка пользователей

Старый пароль
Норма

Вход со старым паролем отклоняется

Тревожный признак

Старый пароль всё ещё принимается — изменение не сохранено

Доступ к файлам базы и копиям
Норма

Каталоги с базой и бэкапами доступны только администраторам

Тревожный признак

Файлы доступны широкому кругу пользователей — хеши можно скопировать и перебирать офлайн

Периодически проводите аудит: список активных пользователей, наличие учётных записей без пароля, уволенные сотрудники с сохранённым доступом. В клиент-серверном варианте полезно анализировать журнал регистрации на предмет множественных неудачных попыток входа — это признак подбора пароля.

Итог

Что важно запомнить

1С хранит не пароли, а их хеши SHA-1 с солью внутри файла базы или серверной БД. Узнать пароль невозможно — только сбросить и задать новый. Защита строится на ограничении доступа к файлам базы и копиям, политике сложности паролей и своевременном аудите учётных записей.

Частые вопросы

Можно ли посмотреть пароль пользователя 1С в конфигураторе?

Нет. Платформа хранит только хеш, поэтому ни конфигуратор, ни консоль кластера, ни запросы к базе не покажут исходный пароль. Администратор может лишь установить новый пароль взамен утерянного.

Что делать, если утерян пароль единственного администратора файловой базы?

Сначала проверьте, есть ли другие пользователи с полными правами. Если нет, применяются специализированные обработки сброса или перенос данных в новую базу через выгрузку. Любые действия выполняйте на копии файла 1Cv8.1CD, сохранив оригинал нетронутым.

Опасно ли передавать выгрузку .dt стороннему специалисту?

Выгрузка содержит хеши паролей всех пользователей. Сильные пароли перебором не подбираются за разумное время, но слабые — подбираются. Перед передачей смените пароли на временные либо очистите список пользователей, а после возврата базы восстановите доступ заново.

Почему одинаковые пароли у разных пользователей дают разные хеши?

Из-за соли — уникальной случайной последовательности, добавляемой к паролю каждого пользователя перед хешированием. Это исключает применение готовых таблиц предвычисленных хешей и массовый подбор.

Как отказаться от хранения паролей в базе вообще?

Используйте аутентификацию операционной системы: в карточке пользователя укажите связь с учётной записью Windows и снимите флаг парольной аутентификации 1С. Проверку подлинности будет выполнять ОС, а хеш в базе храниться не будет.

Нужно ли менять пароли после увольнения сотрудника, имевшего доступ к файлу базы?

Да, если у сотрудника была возможность скопировать файл базы или резервные копии. Он мог унести хеши и перебирать их офлайн без ограничений. Отключите его учётную запись и смените пароли пользователей, чьи хеши могли быть скомпрометированы.