Администрирование · 10 мин
Как хранить пароль в 1С: практическое руководство
Как правильно хранить пароли в 1С: хранение паролей пользователей, настройка политики, безопасное хранение паролей в коде конфигурации и типичные ошибки.
Пароли в 1С встречаются в двух разных контекстах, и путать их нельзя. Первый — пароли пользователей информационной базы, которые платформа хранит сама и не даёт прочитать даже администратору. Второй — пароли к внешним сервисам (почта, обмены, FTP, веб-сервисы), которые разработчику или администратору приходится сохранять в самой конфигурации. Подход к хранению в этих случаях принципиально разный.
Главная ошибка, которую допускают начинающие, — сохранение пароля открытым текстом в константе, регистре сведений или прямо в коде модуля. Такой пароль виден любому, у кого есть доступ к конфигуратору или к базе данных, а при выгрузке базы в файл он уезжает вместе с ней. Ниже разберём, как платформа хранит пароли пользователей, как настроить политику паролей и как безопасно сохранять пароли к внешним системам.
Как 1С хранит пароли пользователей информационной базы
При создании пользователя в конфигураторе (Администрирование → Пользователи) или в режиме предприятия пароль не записывается в базу в открытом виде. Платформа вычисляет от пароля криптографический хеш и сохраняет именно его. При входе пользователя хеш введённого пароля сравнивается с сохранённым — сам пароль при этом нигде не фигурирует.
Следствие из этого важно понимать: восстановить забытый пароль пользователя 1С невозможно, его можно только сбросить и задать новый. Это делает администратор с полными правами через список пользователей — открывает карточку пользователя и устанавливает новый пароль. Если утрачен пароль единственного администратора файловой базы, штатных средств восстановления нет, и это отдельная сложная ситуация.
Хранение через хеш означает также, что никакая обработка и никакой запрос к базе данных не покажут вам пароли пользователей — в таблицах лежат только необратимые значения. Если кто-то предлагает обработку «показать все пароли 1С», это либо обман, либо инструмент, работающий с уже скомпрометированной базой.
Настройка политики паролей пользователей
Чтобы пароли пользователей не были слабыми, в типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) есть настройки сложности паролей. Они находятся в разделе администрирования, в настройках пользователей и прав. Там можно задать требования к минимальной длине пароля, сложности и другие ограничения.
Дополнительно платформа позволяет для каждого пользователя включить признак «Показывать в списке выбора», запретить смену пароля пользователем или, наоборот, потребовать смену пароля при первом входе. Для учётных записей, под которыми работают внешние соединения и фоновые задания, рекомендуется отключать интерактивный вход, если он не нужен.
- 1Откройте раздел Администрирование → Настройки прав и пользователей
- 2Найдите блок настроек паролей (состав зависит от конфигурации)
- 3Установите минимальную длину пароля и требования к сложности
- 4Включите требование смены пароля при первом входе для новых учётных записей
- 5Проверьте на тестовом пользователе, что слабый пароль отклоняется
Практическая рекомендация: пароли для служебных учётных записей (обмены, регламентные задания, публикация на веб-сервере) делайте длинными и случайными, храните их в корпоративном менеджере паролей, а не в личных заметках сотрудника. Увольнение сотрудника, единолично знавшего пароль, — классическая причина аварий.
Как безопасно хранить пароли к внешним сервисам
Здесь начинается зона ответственности разработчика и администратора. Пароли к почтовым ящикам, FTP-серверам, веб-сервисам, API обменов и другим внешним системам конфигурации приходится хранить самостоятельно, потому что эти пароли нужны в открытом виде в момент подключения.
В конфигурациях на базе БСП есть штатный механизм — безопасное хранилище данных. Он предназначен именно для секретов: паролей, токенов, ключей API. Данные записываются программно и хранятся в специальном регистре в защищённом виде, недоступном для обычного просмотра через формы и отчёты.
// Запись пароля в безопасное хранилище (БСП)
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(НастройкаОбмена, "ПарольОтСервиса", "Пароль");
// Чтение пароля при подключении
Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(НастройкаОбмена, "Пароль");Ключевой принцип: пароль привязывается к владельцу (например, к элементу справочника настроек обмена) и не отображается в интерфейсе. В форме настройки вместо поля с паролем обычно показывают маску, а само значение меняют через отдельную команду. Если ваша конфигурация самописная и БСП в ней нет, механизм придётся реализовать отдельно или внедрить соответствующую подсистему.
Куда пароли сохранять нельзя
Перечислим места, где пароль хранить недопустимо, даже если «так удобнее». Константа строкового типа — её значение видит любой пользователь с правами просмотра и попадает во все выгрузки. Регистр сведений с открытым строковым полем — то же самое, плюс значение легко вытащить универсальным отчётом. Код модуля — пароль в коде виден всем разработчикам с доступом к конфигуратору и навсегда оседает в хранилище конфигурации и в копиях баз у подрядчиков.
Отдельный риск — пароли в настройках внешних обработок, макетах, файлах настроек обмена и в комментариях. Пароль, однажды попавший в выгруженный dt-файл или в письмо с обработкой, считается скомпрометированным: его нужно менять, а не надеяться, что файл никто не откроет.
Что делать, если БСП нет или нужен более высокий уровень защиты
Если конфигурация не содержит подсистемы безопасного хранилища, базовый вариант — хранить секреты вне базы: в переменных окружения сервера, в защищённом файле настроек с ограниченными правами доступа или в корпоративном менеджере секретов, откуда приложение получает их в момент подключения. Это снимает риск утечки вместе с копией базы.
Для файловых баз, которые регулярно копируются и пересылаются, внешнее хранение особенно актуально: даже защищённый регистр внутри базы уезжает вместе с ней. Компромиссный вариант — шифрование пароля перед записью с ключом, хранящимся вне базы, но это требует аккуратной реализации и управления ключом.
Сравнение вариантов хранения
Штатный способ для типовых конфигураций; секрет привязан к объекту и не виден в интерфейсе, но хранится внутри базы
Максимальная защита и централизованная ротация паролей; требует дополнительной инфраструктуры и доработки
Подходит для самописных конфигураций без БСП; критично не потерять ключ и не хранить его в той же базе
Недопустимый вариант: пароль доступен в открытом виде и распространяется с копиями базы
Как проверить, что пароли хранятся правильно
Проверка начинается с аудита текущего состояния. Откройте константы и регистры сведений конфигурации и найдите поля с названиями вроде «Пароль», «Password», «Токен», «Ключ». Если значения в них читаются открытым текстом — это нарушение, которое нужно устранять. Затем выполните поиск по модулям конфигурации: пароли и токены в коде часто остаются после отладки.
После перевода секретов в безопасное хранилище убедитесь, что старые открытые значения удалены, а сами пароли заменены на новые — старые уже считались скомпрометированными. Проверьте также, что обмены и подключения продолжают работать: типичная ошибка при миграции — записать пароль, но забыть поправить место, откуда он читается.
Как проверить результат
Отображается маска вместо пароля
Пароль виден открытым текстом
Пароли в коде отсутствуют
Найдены строки с реальными паролями
Подключение выполняется успешно
Ошибка авторизации — неверно настроено чтение секрета
Открытых паролей в данных нет
Пароль читается из константы или регистра
Частые вопросы о хранении паролей в 1С
Можно ли узнать текущий пароль пользователя 1С?
Нет. Платформа хранит только хеш пароля, обратное восстановление невозможно. Администратор может лишь установить новый пароль в карточке пользователя. Если пароль забыт — его сбрасывают и сообщают пользователю новый.
Что делать, если утерян пароль единственного администратора файловой базы?
Штатного способа восстановления нет. Варианты: найти резервную копию с известным паролем, обратиться к специалисту с опытом работы со структурой файловой базы или, при наличии действующей подписки, проконсультироваться с поддержкой. Поэтому критично иметь минимум две учётные записи с полными правами.
Безопасно ли хранить пароль в регистре сведений, если закрыть права?
Ограничение прав снижает риск, но не решает проблему: значение остаётся доступным администраторам, попадает в выгрузки базы и может читаться запросами в привилегированном режиме. Для секретов следует использовать безопасное хранилище или внешнее хранение.
Как передать пароль разработчику или подрядчику?
Лучше не передавать действующий пароль вообще: создайте подрядчику отдельную учётную запись с минимально необходимыми правами, а после завершения работ отключите её и смените пароли, к которым у него мог быть доступ. Передача по телефону или в мессенджере оставляет след в переписке.
Нужно ли менять пароли при смене сотрудника-администратора?
Да. При уходе администратора нужно сменить пароли всех служебных учётных записей, пароли к внешним сервисам, хранившиеся в базе, и отключить его личную учётную запись. Также проверьте, не созданы ли дополнительные учётные записи, о которых никто не знает.
Хранит ли 1С пароль при публикации базы на веб-сервере?
При публикации указывается учётная запись, под которой веб-сервер подключается к базе. Эти данные хранятся в настройках публикации, поэтому для неё заводят отдельную служебную учётную запись с ограниченными правами, а доступ к файлам публикации на сервере ограничивают на уровне операционной системы.
Что важно запомнить
Пароли пользователей 1С хранятся платформой в виде хеша и не подлежат восстановлению — только сбросу. Пароли к внешним сервисам сохраняйте в безопасном хранилище БСП или вне базы, никогда — в константах, регистрах и коде. Любой пароль, побывавший в открытом виде или в переданной копии базы, считайте скомпрометированным и меняйте.