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

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

Как хранить пароль в 1С: практическое руководство

Как правильно хранить пароли в 1С: хранение паролей пользователей, настройка политики, безопасное хранение паролей в коде конфигурации и типичные ошибки.

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

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

Как 1С хранит пароли пользователей информационной базы

При создании пользователя в конфигураторе (Администрирование → Пользователи) или в режиме предприятия пароль не записывается в базу в открытом виде. Платформа вычисляет от пароля криптографический хеш и сохраняет именно его. При входе пользователя хеш введённого пароля сравнивается с сохранённым — сам пароль при этом нигде не фигурирует.

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

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

Настройка политики паролей пользователей

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

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

Как настроить требования к паролям
  1. 1
    Откройте раздел Администрирование → Настройки прав и пользователей
  2. 2
    Найдите блок настроек паролей (состав зависит от конфигурации)
  3. 3
    Установите минимальную длину пароля и требования к сложности
  4. 4
    Включите требование смены пароля при первом входе для новых учётных записей
  5. 5
    Проверьте на тестовом пользователе, что слабый пароль отклоняется

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

Как безопасно хранить пароли к внешним сервисам

Здесь начинается зона ответственности разработчика и администратора. Пароли к почтовым ящикам, FTP-серверам, веб-сервисам, API обменов и другим внешним системам конфигурации приходится хранить самостоятельно, потому что эти пароли нужны в открытом виде в момент подключения.

В конфигурациях на базе БСП есть штатный механизм — безопасное хранилище данных. Он предназначен именно для секретов: паролей, токенов, ключей API. Данные записываются программно и хранятся в специальном регистре в защищённом виде, недоступном для обычного просмотра через формы и отчёты.

bsl
// Запись пароля в безопасное хранилище (БСП)
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(НастройкаОбмена, "ПарольОтСервиса", "Пароль");

// Чтение пароля при подключении
Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(НастройкаОбмена, "Пароль");

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

Куда пароли сохранять нельзя

Перечислим места, где пароль хранить недопустимо, даже если «так удобнее». Константа строкового типа — её значение видит любой пользователь с правами просмотра и попадает во все выгрузки. Регистр сведений с открытым строковым полем — то же самое, плюс значение легко вытащить универсальным отчётом. Код модуля — пароль в коде виден всем разработчикам с доступом к конфигуратору и навсегда оседает в хранилище конфигурации и в копиях баз у подрядчиков.

Отдельный риск — пароли в настройках внешних обработок, макетах, файлах настроек обмена и в комментариях. Пароль, однажды попавший в выгруженный dt-файл или в письмо с обработкой, считается скомпрометированным: его нужно менять, а не надеяться, что файл никто не откроет.

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

Что делать, если БСП нет или нужен более высокий уровень защиты

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

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

Сравнение вариантов хранения

Безопасное хранилище БСП

Штатный способ для типовых конфигураций; секрет привязан к объекту и не виден в интерфейсе, но хранится внутри базы

Внешний менеджер секретов

Максимальная защита и централизованная ротация паролей; требует дополнительной инфраструктуры и доработки

Шифрование с внешним ключом

Подходит для самописных конфигураций без БСП; критично не потерять ключ и не хранить его в той же базе

Константа или код модуля

Недопустимый вариант: пароль доступен в открытом виде и распространяется с копиями базы

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

Проверка начинается с аудита текущего состояния. Откройте константы и регистры сведений конфигурации и найдите поля с названиями вроде «Пароль», «Password», «Токен», «Ключ». Если значения в них читаются открытым текстом — это нарушение, которое нужно устранять. Затем выполните поиск по модулям конфигурации: пароли и токены в коде часто остаются после отладки.

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

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

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

Значение в интерфейсе настройки обмена
Норма

Отображается маска вместо пароля

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

Пароль виден открытым текстом

Поиск по модулям конфигурации
Норма

Пароли в коде отсутствуют

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

Найдены строки с реальными паролями

Работа обмена после переноса
Норма

Подключение выполняется успешно

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

Ошибка авторизации — неверно настроено чтение секрета

Копия базы у стороннего специалиста
Норма

Открытых паролей в данных нет

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

Пароль читается из константы или регистра

Частые вопросы о хранении паролей в 1С

Можно ли узнать текущий пароль пользователя 1С?

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

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

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

Безопасно ли хранить пароль в регистре сведений, если закрыть права?

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

Как передать пароль разработчику или подрядчику?

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

Нужно ли менять пароли при смене сотрудника-администратора?

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

Хранит ли 1С пароль при публикации базы на веб-сервере?

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

Итог

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

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