Пароли в 1С:Предприятии 8.3: база, файлы сервера, СУБД и реестр
Содержание
Пароли пользователей 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подбирается по хешу быстро; - ⚠️ одинаковые пароли у разных пользователей дают одинаковые хеши.
Кто может прочитать таблицу:
- Любой, у кого есть права на чтение каталога базы в Windows.
- Любой, кто взял выгрузку
.dt— в неё попадает и список пользователей. - Любой, у кого есть копия каталога из резервного архива.
Проверьте права на папку базы: Свойства → Безопасность. Обычным пользователям нужны чтение и запись, чтобы работать. Право менять разрешения и доступ «всем» — лишнее.
Пустая таблица 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.
Внутри два важных файла:
1cv8wsrv.lst— список кластеров и администраторов центрального сервера.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С под
saилиpostgres. Создайте отдельный логин и выдайте ему права владельца только на базы 1С. - В PostgreSQL ограничьте в
pg_hba.confадреса, с которых разрешено подключение: обычно это только сервер 1С. - В SQL Server закройте внешний доступ к порту
1433брандмауэром, оставив сервер 1С. - Шифруйте и храните отдельно резервные копии. Утёкший
.bak— это утёкшие хеши всех пользователей.
Не давайте бухгалтерам и программистам прямой доступ к базе SQL «для отчётов». Для выгрузки данных есть OData и регламентные выгрузки с отдельным пользователем.
Как вернуть доступ, если пароль забыт
Порядок действий зависит от того, чей пароль потерян. Выберите свой случай.
Администрирование → Настройки пользователей и прав → Пользователи. В Конфигураторе то же самое — Администрирование → Пользователи. Пользователь вводит новый пароль и сразу меняет его на свой.Остановка службы агента сервера обрывает сеансы всех пользователей всех баз кластера. Предупредите людей и делайте это вне рабочего дня.
Отдельно про «программы для сброса пароля 1С». Такие утилиты правят таблицу V8USERS в обход платформы. Применять их законно только к своей базе. Риск — повреждённая таблица пользователей и база, которая не открывается. Перед любым таким вмешательством нужна полная копия файла 1Cv8.1CD или резервная копия базы СУБД.
Как усилить защиту паролей
Политика паролей задаётся в Конфигураторе: Администрирование → Параметры информационной базы. В типовых конфигурациях на БСП те же настройки есть в режиме Предприятия, в разделе Администрирование → Настройки пользователей и прав.
Что стоит включить:
- 📏 минимальную длину пароля — не меньше 8–10 символов;
- 🔤 проверку сложности — платформа требует символы разных групп;
- ⏳ максимальный срок действия — например, 90 дней;
- 🔁 запрет повторять последние пароли;
- 🚫 блокировку после нескольких неудачных попыток входа.
Остальные меры по уровням:
| Уровень | Что сделать |
|---|---|
| Пользователи | вход через ОС в домене; запрет /N /P в ярлыках |
| Файловая база | права NTFS на каталог; база не на общей «шаре для всех» |
| Сервер 1С | администраторы центрального сервера и кластера; закрытый srvinfo |
| СУБД | отдельный логин вместо sa; ограничение сети; шифрование копий |
| Обслуживание | отдельный пользователь 1С для скриптов и обменов |
Логины ИТС, пароли почтовых учётных записей и банковских сервисов типовые конфигурации держат в безопасном хранилище внутри базы. Код без привилегированного режима их не прочитает. Но это не шифрование: полная копия базы содержит и эти данные. Ещё одна причина хранить резервные копии под замком.