Защищаем каталог с базами 1С от чужих глаз и копирования

· 11 мин

Содержание

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

У файлового варианта есть предел. Пользователь, который работает с базой по сети, обязан иметь право записи в её каталог. Значит, он может и скопировать 1Cv8.1CD к себе на флешку. Полностью защитить данные от копирования средствами Windows получится, только если убрать прямой доступ к файлу.

Откуда утекают базы 1С: слабые места каталога

Сначала поймите, что именно защищаете. В файловом варианте вся информационная база лежит в одном файле 1Cv8.1CD. Рядом платформа создаёт служебные файлы и папку журнала регистрации 1Cv8Log. Кто прочитал этот файл, тот унёс всю бухгалтерию, зарплату и персональные данные сотрудников.

Типичные дыры, которые встречаются при проверке:

  • 📂 Каталог с базами расшарен на группу «Все» или «Пользователи домена» с полным доступом.
  • 💾 Резервные копии и выгрузки .dt лежат в соседней папке с теми же правами, что и база.
  • 🖥 Пользователи работают в терминале, но видят диски сервера через «Проводник».
  • 🔑 В клиент-серверной базе 1С подключается к SQL под учётной записью sa, а её пароль знают трое.
  • 👤 У половины пользователей в самой 1С есть роль «Полные права» — им ничего не мешает выгрузить базу в .dt.

Сотрудники с ЗУП или кадровым блоком хранят персональные данные. Их защита — требование закона о персональных данных, а не только забота админа.

Как у вас работают с базой?

Права NTFS на папку файловой базы 1С

Какие права реально нужны пользователю

Файловая база не работает в режиме «только чтение». Платформа при входе создаёт и удаляет служебные файлы блокировок, пишет журнал регистрации. Поэтому пользователям 1С нужно право «Изменение» на каталог базы. Без него вы получите ошибку доступа при запуске.

Ограничивать стоит не уровень прав, а круг людей:

КтоПрава на каталог базы
Группа пользователей 1СИзменение
Администраторы, СИСТЕМАПолный доступ
Учётная запись службы резервного копированияЧтение
Все остальные, включая «Пользователи» и «Все»Ничего

Пошагово через «Проводник»

  1. Создайте группу безопасности, например 1C_Buh_Users, и включите в неё только тех, кто работает с этой базой. Для каждой базы — своя группа.
  2. Откройте свойства каталога базы → вкладка «Безопасность» → «Дополнительно».
  3. Нажмите «Отключить наследование» и выберите вариант с преобразованием унаследованных разрешений в явные.
  4. Удалите строки «Пользователи», «Все», «Прошедшие проверку».
  5. Добавьте группу 1C_Buh_Users с правом «Изменение», «Администраторы» и «СИСТЕМА» — с полным доступом.
  6. Нажмите «Применить» и проверьте вход в базу под обычным пользователем.

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

То же самое командой icacls

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

rem 1. Отключить наследование, скопировав текущие права в явные
icacls "D:\1C_Bases\Buh" /inheritance:d

rem 2. Выдать права нужным группам на папку и всё вложенное
icacls "D:\1C_Bases\Buh" /grant "OFFICE\1C_Buh_Users:(OI)(CI)M"
icacls "D:\1C_Bases\Buh" /grant "*S-1-5-32-544:(OI)(CI)F" "*S-1-5-18:(OI)(CI)F"

rem 3. Убрать «Пользователи» и «Все»
icacls "D:\1C_Bases\Buh" /remove:g "*S-1-5-32-545" "*S-1-1-0"

rem 4. Проверить результат
icacls "D:\1C_Bases\Buh"

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

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

Как закрыть общую сетевую папку 1С

Права на общий ресурс и права NTFS действуют вместе. Срабатывает самое строгое из двух. Удобная схема: на ресурсе дать «Полный доступ» группе 1С, а тонкие ограничения задавать через NTFS. Группу «Все» с ресурса убрать.

Скрываем папки, к которым нет доступа

На Windows Server есть перечисление на основе доступа (Access-Based Enumeration). С ним пользователь, открыв \\server\1CBases, видит только каталоги тех баз, на которые у него есть права. Чужие базы для него просто не существуют.

Включить можно в «Диспетчере серверов» в свойствах общего ресурса или командой PowerShell:

New-SmbShare -Name "1CBases" -Path "D:\1C_Bases" `
  -FullAccess "OFFICE\1C_Buh_Users","OFFICE\1C_Zup_Users" `
  -FolderEnumerationMode AccessBased

# для уже существующего ресурса
Set-SmbShare -Name "1CBases" -FolderEnumerationMode AccessBased

Знак $ в конце имени ресурса (1CBases$) только прячет его из сетевого окружения. Это не защита: кто знает имя, тот откроет ресурс.

Убираем общую папку совсем

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

Способ работыВидит ли пользователь файл базыМожет ли скопировать
Файловая база в общей папкеДаДа
Терминальный сервер без общих ресурсовТолько при доступе к дискам сервераНет, если диски и перенаправление закрыты
Веб-клиент или тонкий клиент по HTTPНетНет
Клиент-серверный вариантНетНет

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

Клиент-серверная база: SQL, кластер и папки сервера 1С

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

СУБД

  • 🔐 Создайте для 1С отдельную учётную запись СУБД с правами только на свои базы. Не подключайте 1С под sa или postgres.
  • 🚫 Пользователям 1С не создавайте учётных записей в SQL. Им туда незачем ходить.
  • 🧱 Порт СУБД (1433 у MS SQL, 5432 у PostgreSQL) в брандмауэре откройте только для сервера 1С. Для PostgreSQL дополнительно ограничьте адреса в pg_hba.conf.
  • 💾 Папку с бэкапами СУБД закройте так же, как каталог файловой базы.

Сервер 1С

Служба сервера 1С работает под отдельной учётной записью, обычно USR1CV8. Её служебный каталог srvinfo с реестром кластера и файлами журнала регистрации должен быть доступен только этой учётной записи и администраторам.

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

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

Защита конфигурации и данных от копирования изнутри 1С

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

Пользователи и роли

  1. В БП 3.0 и ЗУП 3.1 откройте Администрирование → Настройки пользователей и прав → Пользователи.
  2. Оставьте профиль «Администратор» одному-двум людям. Остальным — профили по должности.
  3. Включите аутентификацию 1С с паролем или аутентификацию операционной системы. Пустые пароли недопустимы.
  4. Если в базе нет ни одного пользователя, в неё может войти кто угодно с полными правами. Список пользователей — первое, что нужно заполнить.

У пользователя информационной базы есть флажок «Защита от опасных действий» (виден в свойствах пользователя в Конфигураторе). Он предупреждает при открытии внешних обработок и отчётов, которые могут читать и выгружать данные. Не снимайте этот флажок без причины.

Код и конфигурация

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

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

Запрет доступа к дискам через политики и реестр

На терминальном сервере пользователь не должен видеть диск, где лежат базы. Для этого в групповой политике пользователей откройте раздел Конфигурация пользователя → Административные шаблоны → Компоненты Windows → Проводник и включите две политики:

  • «Скрыть выбранные диски из окна «Мой компьютер»» — диск пропадает из «Проводника»;
  • «Запретить доступ к дискам через «Мой компьютер»» — даже набрав путь вручную, пользователь получит отказ.

Те же настройки пишутся в реестр пользователя. Значение — битовая маска: A = 1, B = 2, C = 4, D = 8, E = 16. Чтобы закрыть диски C и D, ставим 4 + 8 = 12.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDrives"=dword:0000000c
"NoViewOnDrive"=dword:0000000c

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

Ещё три настройки для терминала:

  1. Запретите перенаправление дисков в разделе политик служб удалённых рабочих столов, в группе «Перенаправление устройств и ресурсов». Иначе пользователь перетащит файл на свой локальный диск.
  2. Там же запретите перенаправление буфера обмена, если копирование данных наружу критично. Учтите: пользователи лишатся удобного копирования реквизитов из 1С в свою почту.
  3. Если пользователи работают через RemoteApp, публикуйте только ярлык запуска 1С, без полного рабочего стола.

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

Аудит обращений к папке и базе 1С

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

Аудит файловой системы Windows

  1. В политике безопасности откройте Конфигурация компьютера → Параметры Windows → Параметры безопасности → Конфигурация расширенной политики аудита → Доступ к объектам.
  2. Включите «Аудит файловой системы» на успех и отказ.
  3. В свойствах каталога базы → «Безопасность» → «Дополнительно» → вкладка «Аудит» добавьте группу «Все» и отметьте неудачные попытки чтения и удаления.
  4. Смотрите события в журнале «Безопасность»: код 4663 — попытка доступа к объекту, 4656 — запрос дескриптора объекта. Для общих ресурсов полезна подкатегория «Аудит сведений об общем файловом ресурсе» с событием 5145.

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

Журнал регистрации 1С

Внутри базы обращения видны в журнале регистрации: в БП 3.0 и ЗУП 3.1 это Администрирование → Обслуживание → Журнал регистрации. Отфильтруйте события аутентификации и посмотрите неудачные входы, а также кто и с какого компьютера запускал Конфигуратор. Регулярные ошибки входа под одним именем — повод сменить пароль .

Проверка защиты папки 1С
Выполнено: 0 / 8

Частые ошибки при ограничении доступа

  • ❌ Право «Чтение» вместо «Изменения» для файловой базы. Платформа не сможет создать служебные файлы, и пользователь не войдёт. Это не защита, а поломка.
  • ❌ Запрет вместо отсутствия разрешения. Явный запрет для группы «Пользователи» срабатывает и для бухгалтеров, которые тоже в неё входят. Убирайте лишние группы из списка, а не ставьте им «Запретить».
  • ❌ Шифрование EFS на каталоге базы. EFS шифрует файл под конкретного пользователя, остальные не откроют базу. Для защиты диска от кражи используйте BitLocker на томе сервера.
  • ❌ Права меняются, а копия старая. Старая выгрузка базы на рабочем столе бухгалтера сводит работу на нет. Найдите и удалите лишние копии .1CD и .dt поиском по сети.
  • ❌ Один логин на отдел. При общем входе аудит бесполезен: видно, что вход был, но не видно, кто сидел за компьютером.

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

Можно ли запретить копировать файл 1Cv8.1CD и при этом работать с файловой базой по сети?
Нет. Для работы нужны права на изменение каталога, а с ними файл можно и скопировать. Закрыть копирование помогает только терминальный сервер, веб-клиент или клиент-серверный вариант.
Поможет ли пароль на базу 1С защитить файл от кражи?
Пароль закрывает вход в программу, но не шифрует файл. Унесённую базу открывают на другом компьютере, поэтому защита файла и пароль пользователей нужны вместе.
Как ограничить доступ к одной базе, если все базы лежат в одной папке?
Отключите наследование на подкаталоге нужной базы и выдайте права отдельной группе. С включённым перечислением на основе доступа чужие подкаталоги пользователь даже не увидит.
Нужны ли права на папку базы пользователям клиент-серверной 1С?
Нет. Они подключаются к серверу 1С по сети, а к данным обращается служба сервера и СУБД. Права нужны только служебным учётным записям.
Можно ли включить BitLocker на диске с базами 1С?
Да. Шифрование тома прозрачно для платформы и защищает от кражи диска или сервера. От пользователя с правами на папку оно не защищает.

Источники

  • Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»