Пароли в 1С:Предприятии 8.3: база, файлы сервера, СУБД и реестр

· 9 мин

Содержание

Пароли пользователей 1С 8.3 хранятся внутри самой информационной базы, в служебной таблице V8USERS. В файловом варианте это файл 1Cv8.1CD, в клиент-серверном — таблица в базе SQL Server или PostgreSQL. Самого пароля там нет: платформа хранит только его хеш.

Пароли администраторов кластера и пароль подключения к СУБД лежат отдельно — в файлах сервера в каталоге srvinfo. Реестр Windows паролей 1С не хранит. Для каждого места важно понимать, кто может прочитать данные и как закрыть утечку.

Карта: какой пароль где лежит

В 1С одновременно живут несколько разных паролей. Их часто путают, отсюда и вопрос «где 1С хранит пароли».

ПарольГде хранитсяВ каком виде
👤 Пользователь информационной базытаблица V8USERS в 1Cv8.1CD или в СУБДхеш
🛡️ Администратор центрального серверафайл 1cv8wsrv.lst в srvinfoхеш
🧩 Администратор кластерафайл 1CV8Clst.lst в srvinfo\reg_1541хеш
🗄️ Пользователь СУБД для базытот же 1CV8Clst.lst, в описании базыобратимо закодирован
🌐 Логин ИТС, почта, банкрегистр безопасного хранилища в самой базедоступен только в привилегированном режиме
💻 Вход через Windowsв 1С не хранится, проверяет домен—

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

Файловая база: пароли внутри 1Cv8.1CD

В файловом варианте вся база — один файл 1Cv8.1CD. Список пользователей хранится в нём же, в таблице V8USERS. Для каждого пользователя там записаны имя, роли, настройки и хеш пароля.

Хеш считается по алгоритму SHA-1, без «соли». Это значит:

  • 🔒 узнать пароль напрямую из файла нельзя — его там нет;
  • ⚠️ простой пароль вида 123 или buh2024 подбирается по хешу быстро;
  • ⚠️ одинаковые пароли у разных пользователей дают одинаковые хеши.

Кто может прочитать таблицу:

  1. Любой, у кого есть права на чтение каталога базы в Windows.
  2. Любой, кто взял выгрузку .dt — в неё попадает и список пользователей.
  3. Любой, у кого есть копия каталога из резервного архива.

Проверьте права на папку базы: Свойства → Безопасность. Обычным пользователям нужны чтение и запись, чтобы работать. Право менять разрешения и доступ «всем» — лишнее.

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

Что хранится на компьютере пользователя

На клиентском компьютере 1С паролей к базам не держит. Но рядом лежат файлы, где пароль может оказаться по вине самих пользователей.

Файл или местоЧто тамЕсть ли пароль
%APPDATA%\1C\1CEStart\ibases.v8iсписок баз: путь, сервер, имя базынет
%APPDATA%\1C\1CEStart\1cestart.cfgнастройки окна запусканет
%APPDATA%\1C\1cv8\кэш конфигурации и пользовательские настройкинет
ярлык или .bat с параметрами /N и /Pимя и пароль пользователяда, открытым текстом
браузер (веб-клиент)сохранённые учётные данные HTTP-авторизациида, в хранилище браузера

Самая частая утечка — ярлык для «быстрого входа». Например:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Главбух" /P"Qwerty1"

Такой файл может открыть любой, кто сел за компьютер. То же касается скриптов выгрузки, обновления и обмена, где строка подключения COM-объекта содержит Usr= и Pwd=.

Ещё одно место — публикация базы на веб-сервере. В файле default.vrd строка подключения в атрибуте ib может содержать Usr= и Pwd=. Так делают, чтобы веб-клиент или HTTP-сервис входили в базу без окна авторизации. Пароль при этом лежит в каталоге публикации IIS или Apache открытым текстом.

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

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

Реестр Windows и вход через учётную запись ОС

Распространённый миф — что пароли 1С лежат в реестре. Платформа записывает туда сведения об установке и службах, но не пароли пользователей и не пароли кластера.

Что реально связано с реестром:

  • 🧷 служба агента сервера 1C:Enterprise 8.3 Server Agent описана в разделе служб HKLM\SYSTEM\CurrentControlSet\Services: путь к ragent.exe, порты, каталог srvinfo;
  • 🔑 пароль учётной записи, под которой запущена служба (обычно USR1CV8), хранит сама Windows в защищённом хранилище LSA, а не 1С.

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

При входе через ОС у пользователя 1С можно оставить пустой пароль и снять флажок входа по паролю. Тогда вход под этим именем возможен только из нужной доменной учётной записи.

Сервер 1С: файлы кластера в srvinfo

В клиент-серверном варианте добавляется уровень кластера. Его настройки хранятся в каталоге srvinfo. По умолчанию для службы под Windows это C:\Program Files\1cv8\srvinfo, под Linux — домашний каталог пользователя usr1cv8, папка .1cv8/1C/1cv8.

Внутри два важных файла:

  1. 1cv8wsrv.lst — список кластеров и администраторов центрального сервера.
  2. reg_1541\1CV8Clst.lst — реестр кластера: рабочие серверы, информационные базы, администраторы кластера и параметры подключения к СУБД.

Пароли администраторов сервера и кластера записаны в виде хешей. А вот пароль пользователя СУБД, который вы вводите при создании базы на сервере, должен быть доступен рабочему процессу — иначе он не подключится к SQL. Поэтому он хранится в обратимом виде. Считайте 1CV8Clst.lst секретом того же уровня, что и пароль sa.

Пока у кластера нет ни одного администратора, консоль кластера и утилита rac пускают кого угодно. После создания первого администратора каждый запрос требует логин и пароль.

rac cluster list
rac cluster admin list --cluster=<uuid> --cluster-user=admin --cluster-pwd=<пароль>

Каталог srvinfo должен быть доступен только учётной записи службы (USR1CV8) и администраторам сервера. Если рядовые пользователи видят его по сети — это прямой доступ к паролю СУБД.

СУБД: таблица V8Users и права на базу

На стороне SQL Server или PostgreSQL каждая информационная база — отдельная база данных. Среди её таблиц есть V8Users — та же таблица пользователей, что в файловом варианте. Хеши лежат в ней.

Значит, прочитать их может любой, у кого есть доступ к базе в СУБД:

  • 🗄️ пользователь, под которым 1С подключается к СУБД;
  • 👨‍💻 администраторы СУБД (sa, postgres);
  • 📦 любой, кто получил файл резервной копии .bak или дамп PostgreSQL.

Как сузить круг:

  1. Не подключайте 1С под sa или postgres. Создайте отдельный логин и выдайте ему права владельца только на базы 1С.
  2. В PostgreSQL ограничьте в pg_hba.conf адреса, с которых разрешено подключение: обычно это только сервер 1С.
  3. В SQL Server закройте внешний доступ к порту 1433 брандмауэром, оставив сервер 1С.
  4. Шифруйте и храните отдельно резервные копии. Утёкший .bak — это утёкшие хеши всех пользователей.

Не давайте бухгалтерам и программистам прямой доступ к базе SQL «для отчётов». Для выгрузки данных есть OData и регламентные выгрузки с отдельным пользователем.

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

Порядок действий зависит от того, чей пароль потерян. Выберите свой случай.

Чей пароль забыт?

Остановка службы агента сервера обрывает сеансы всех пользователей всех баз кластера. Предупредите людей и делайте это вне рабочего дня.

Отдельно про «программы для сброса пароля 1С». Такие утилиты правят таблицу V8USERS в обход платформы. Применять их законно только к своей базе. Риск — повреждённая таблица пользователей и база, которая не открывается. Перед любым таким вмешательством нужна полная копия файла 1Cv8.1CD или резервная копия базы СУБД.

Как усилить защиту паролей

Политика паролей задаётся в Конфигураторе: Администрирование → Параметры информационной базы. В типовых конфигурациях на БСП те же настройки есть в режиме Предприятия, в разделе Администрирование → Настройки пользователей и прав.

Что стоит включить:

  • 📏 минимальную длину пароля — не меньше 8–10 символов;
  • 🔤 проверку сложности — платформа требует символы разных групп;
  • ⏳ максимальный срок действия — например, 90 дней;
  • 🔁 запрет повторять последние пароли;
  • 🚫 блокировку после нескольких неудачных попыток входа.

Остальные меры по уровням:

УровеньЧто сделать
Пользователивход через ОС в домене; запрет /N /P в ярлыках
Файловая базаправа NTFS на каталог; база не на общей «шаре для всех»
Сервер 1Садминистраторы центрального сервера и кластера; закрытый srvinfo
СУБДотдельный логин вместо sa; ограничение сети; шифрование копий
Обслуживаниеотдельный пользователь 1С для скриптов и обменов

Логины ИТС, пароли почтовых учётных записей и банковских сервисов типовые конфигурации держат в безопасном хранилище внутри базы. Код без привилегированного режима их не прочитает. Но это не шифрование: полная копия базы содержит и эти данные. Ещё одна причина хранить резервные копии под замком.

Аудит хранения паролей 1С
Выполнено: 0 / 7

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

Можно ли посмотреть пароль пользователя 1С в открытом виде?
Нет. Платформа хранит только хеш пароля. Администратор может задать новый пароль, но не увидеть старый.
Попадают ли пароли в выгрузку .dt?
Да, в выгрузку попадает список пользователей вместе с хешами паролей. Поэтому файл .dt нужно хранить так же бережно, как саму базу.
Сохраняются ли пароли при копировании базы на другой компьютер?
Да. Пользователи и их пароли — часть базы. После копирования каталога с 1Cv8.1CD войти можно с теми же логинами и паролями.
Почему после переноса базы на сервер вход через Windows перестал работать?
Учётная запись в карточке пользователя привязана к домену. Если сервер или компьютер в другом домене, имя не совпадает — его нужно поправить в карточке пользователя.
Где хранится пароль хранилища конфигурации?
Пользователи хранилища ведутся в самом хранилище, отдельно от пользователей информационной базы. Их меняет администратор хранилища в Конфигураторе.