Защищаем каталог с базами 1С от чужих глаз и копирования
Содержание
Доступ к папке 1С ограничивают в три слоя: права NTFS на каталог базы выдают только отдельной группе пользователей 1С, общую сетевую папку закрывают для всех остальных, а работу самих пользователей переводят на терминальный сервер , веб-клиент или клиент-серверный вариант. Тогда файл базы вообще не виден с рабочих мест, и скопировать его нельзя.
У файлового варианта есть предел. Пользователь, который работает с базой по сети, обязан иметь право записи в её каталог. Значит, он может и скопировать 1Cv8.1CD к себе на флешку. Полностью защитить данные от копирования средствами Windows получится, только если убрать прямой доступ к файлу.
Откуда утекают базы 1С: слабые места каталога
Сначала поймите, что именно защищаете. В файловом варианте вся информационная база лежит в одном файле 1Cv8.1CD. Рядом платформа создаёт служебные файлы и папку журнала регистрации 1Cv8Log. Кто прочитал этот файл, тот унёс всю бухгалтерию, зарплату и персональные данные сотрудников.
Типичные дыры, которые встречаются при проверке:
- 📂 Каталог с базами расшарен на группу «Все» или «Пользователи домена» с полным доступом.
- 💾 Резервные копии и выгрузки
.dtлежат в соседней папке с теми же правами, что и база. - 🖥 Пользователи работают в терминале, но видят диски сервера через «Проводник».
- 🔑 В клиент-серверной базе 1С подключается к SQL под учётной записью
sa, а её пароль знают трое. - 👤 У половины пользователей в самой 1С есть роль «Полные права» — им ничего не мешает выгрузить базу
в
.dt.
Сотрудники с ЗУП или кадровым блоком хранят персональные данные. Их защита — требование закона о персональных данных, а не только забота админа.
Права NTFS на папку файловой базы 1С
Какие права реально нужны пользователю
Файловая база не работает в режиме «только чтение». Платформа при входе создаёт и удаляет служебные файлы блокировок, пишет журнал регистрации. Поэтому пользователям 1С нужно право «Изменение» на каталог базы. Без него вы получите ошибку доступа при запуске.
Ограничивать стоит не уровень прав, а круг людей:
| Кто | Права на каталог базы |
|---|---|
| Группа пользователей 1С | Изменение |
| Администраторы, СИСТЕМА | Полный доступ |
| Учётная запись службы резервного копирования | Чтение |
| Все остальные, включая «Пользователи» и «Все» | Ничего |
Пошагово через «Проводник»
- Создайте группу безопасности, например
1C_Buh_Users, и включите в неё только тех, кто работает с этой базой. Для каждой базы — своя группа. - Откройте свойства каталога базы → вкладка «Безопасность» → «Дополнительно».
- Нажмите «Отключить наследование» и выберите вариант с преобразованием унаследованных разрешений в явные.
- Удалите строки «Пользователи», «Все», «Прошедшие проверку».
- Добавьте группу
1C_Buh_Usersс правом «Изменение», «Администраторы» и «СИСТЕМА» — с полным доступом. - Нажмите «Применить» и проверьте вход в базу под обычным пользователем.
Права меняйте, когда в базе никто не работает. Если отобрать доступ во время сеанса, у пользователя оборвётся работа с ошибкой, а несохранённые документы пропадут.
То же самое командой 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 и вход в Конфигуратор требуют административных прав в информационной базе. Значит, нужно навести порядок в ролях.
Пользователи и роли
- В БП 3.0 и ЗУП 3.1 откройте
Администрирование → Настройки пользователей и прав → Пользователи. - Оставьте профиль «Администратор» одному-двум людям. Остальным — профили по должности.
- Включите аутентификацию 1С с паролем или аутентификацию операционной системы. Пустые пароли недопустимы.
- Если в базе нет ни одного пользователя, в неё может войти кто угодно с полными правами. Список пользователей — первое, что нужно заполнить.
У пользователя информационной базы есть флажок «Защита от опасных действий» (виден в свойствах пользователя в Конфигураторе). Он предупреждает при открытии внешних обработок и отчётов, которые могут читать и выгружать данные. Не снимайте этот флажок без причины.
Код и конфигурация
Чтобы конфигурацию нельзя было изменить, пользователям не дают прав администратора, а разработку ведут через хранилище конфигурации с отдельными учётными записями. Тогда каждое изменение привязано к конкретному человеку.
Если вы распространяете собственную разработку и хотите скрыть исходный код, при создании файлов поставки модули можно поставлять без исходных текстов. Для коммерческой защиты от тиражирования существует отдельный продукт фирмы — «Система лицензирования и защиты конфигураций». Это задача разработчика, а не офисного админа.
Запрет доступа к дискам через политики и реестр
На терминальном сервере пользователь не должен видеть диск, где лежат базы. Для этого в групповой политике пользователей откройте раздел Конфигурация пользователя → Административные шаблоны → Компоненты 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С в свою почту.
- Если пользователи работают через RemoteApp, публикуйте только ярлык запуска 1С, без полного рабочего стола.
Политики проверяйте на тестовом пользователе, а не на себе. Закрыв диски администратору, придётся снимать ограничение через другую учётную запись.
Аудит обращений к папке и базе 1С
Ограничить доступ мало, нужно ещё видеть, кто пытался в обход. Аудит включается в два шага.
Аудит файловой системы Windows
- В политике безопасности откройте
Конфигурация компьютера → Параметры Windows → Параметры безопасности → Конфигурация расширенной политики аудита → Доступ к объектам. - Включите «Аудит файловой системы» на успех и отказ.
- В свойствах каталога базы → «Безопасность» → «Дополнительно» → вкладка «Аудит» добавьте группу «Все» и отметьте неудачные попытки чтения и удаления.
- Смотрите события в журнале «Безопасность»: код
4663— попытка доступа к объекту,4656— запрос дескриптора объекта. Для общих ресурсов полезна подкатегория «Аудит сведений об общем файловом ресурсе» с событием5145.
Не включайте аудит успешного чтения на весь каталог базы. Платформа обращается к файлу постоянно, и журнал «Безопасность» за день вырастет на гигабайты. Начните с отказов и удалений.
Журнал регистрации 1С
Внутри базы обращения видны в журнале регистрации: в БП 3.0 и ЗУП 3.1 это Администрирование → Обслуживание → Журнал регистрации. Отфильтруйте события аутентификации и посмотрите неудачные входы, а также кто и с какого компьютера запускал Конфигуратор. Регулярные ошибки входа под одним именем — повод сменить пароль
.
Частые ошибки при ограничении доступа
- ❌ Право «Чтение» вместо «Изменения» для файловой базы. Платформа не сможет создать служебные файлы, и пользователь не войдёт. Это не защита, а поломка.
- ❌ Запрет вместо отсутствия разрешения. Явный запрет для группы «Пользователи» срабатывает и для бухгалтеров, которые тоже в неё входят. Убирайте лишние группы из списка, а не ставьте им «Запретить».
- ❌ Шифрование EFS на каталоге базы. EFS шифрует файл под конкретного пользователя, остальные не откроют базу. Для защиты диска от кражи используйте BitLocker на томе сервера.
- ❌ Права меняются, а копия старая. Старая выгрузка базы на рабочем столе бухгалтера сводит работу на нет. Найдите и удалите лишние копии
.1CDи.dtпоиском по сети. - ❌ Один логин на отдел. При общем входе аудит бесполезен: видно, что вход был, но не видно, кто сидел за компьютером.
Частые вопросы
Можно ли запретить копировать файл 1Cv8.1CD и при этом работать с файловой базой по сети?
Поможет ли пароль на базу 1С защитить файл от кражи?
Как ограничить доступ к одной базе, если все базы лежат в одной папке?
Нужны ли права на папку базы пользователям клиент-серверной 1С?
Можно ли включить BitLocker на диске с базами 1С?
Источники
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»