Как организовать безопасную работу с удаленным разработчиком 1С?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Вопрос обеспечения безопасности при привлечении удаленного разработчика 1С является критически важным для любого бизнеса. Основная сложность заключается в поиске баланса: с одной стороны, необходимо защитить коммерческую тайну и персональные данные, с другой — предоставить программисту полноценный инструментарий для качественного выполнения задач. Работа через AnyDesk или аналоги часто оказывается неудобной из-за задержек и невозможности параллельной работы. Рассмотрим, как выстроить профессиональную и защищенную среду разработки.

Разграничение сетевого доступа и использование VPN

Первым делом проанализируем сетевой уровень. Открывать стандартный порт RDP (3389) наружу крайне небезопасно — это создает риск брутфорс-атак (перебора паролей). Профессиональным стандартом является использование VPN-туннеля.

Разберем по шагам, как это реализовать:

  1. Создание VPN-подключения: Настройте на корпоративном шлюзе или сервере (например, используя OpenVPN, WireGuard или L2TP) отдельную учетную запись для разработчика.
  2. Ограничение по IP: В настройках брандмауэра (файервола) ограничьте доступ этого пользователя только к конкретному внутреннему IP-адресу (например, к виртуальной машине для разработки).
  3. RDP внутри сети: После установки VPN-соединения разработчик подключается к серверу по локальному адресу. Это исключает видимость сервера из глобальной сети.

Изоляция контура разработки на сервере 1С

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

Мы можем запустить второй экземпляр службы Агент сервера 1С:Предприятия на других портах (например, вместо стандартного 1540 использовать 1640). Настроим это следующим образом:

  1. Создаем вторую службу rphost с отдельными параметрами запуска.
  2. В консоли администрирования серверов 1С создаем новый кластер.
  3. Назначаем для этого кластера отдельного администратора (разработчика).

Преимущество: Разработчик сможет управлять базами только в своем кластере. Он не будет видеть список рабочих баз и не сможет к ним подключиться, так как они работают под управлением другого процесса ragent.

Ограничение прав на уровне файловой системы

Проанализируем ситуацию с доступом к файлам. Одной настройки 1С недостаточно. Программист, имея доступ по RDP, теоретически может просматривать папки на дисках. Чтобы этого избежать, используем штатные средства Windows (NTFS):

Подготовка тестовой базы и обезличивание данных

Часто для разработки не требуются актуальные данные за текущий день. Рассмотрим методы минимизации объема передаваемой информации:

Свертка базы: Используйте типовую обработку «Свертка информационной базы». Она позволяет удалить документы до определенной даты, оставив только остатки. Это уменьшит размер базы и скроет историю операций.

Обфускация (обезличивание): Если данные чувствительны, воспользуйтесь специализированными обработками для удаления персональных данных. Рассмотрим пример логики, которую можно реализовать для очистки контактов:


Процедура ОбезличитьКонтрагентов()
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Справочник.Контрагенты";
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        Объект = Выборка.Ссылка.ПолучитьОбъект();
        Объект.Наименование = "Клиент " + СокрЛП(Объект.Код);
        Объект.НаименованиеПолное = "Обезличенное лицо №" + СокрЛП(Объект.Код);
        Объект.ИНН = "0000000000";
        Объект.Записать();
    КонецЦикла;
КонецПроцедуры

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

Использование 1С:EDT и Git — современный подход

Если вы хотите максимально обезопасить данные, рассмотрите работу через 1С:Enterprise Development Tools (EDT). Этот инструмент позволяет полностью разделить процесс написания кода и процесс работы с данными.

При такой схеме разработчик работает в среде EDT на своем личном компьютере. Код конфигурации хранится в репозитории Git. Посмотрим на алгоритм работы:

  1. Вы выгружаете конфигурацию в формат исходных текстов и помещаете в Git.
  2. Программист делает изменения в коде у себя локально.
  3. Для тестирования он использует пустую базу или минимальную «демку».
  4. После завершения задачи он отправляет изменения в репозиторий.
  5. Ваш штатный специалист проверяет код (Code Review) и загружает его в рабочую базу.

Результат: Удаленный сотрудник вообще не имеет доступа к вашему серверу и вашим реальным данным.

Профили безопасности в 1С

Для предотвращения выполнения вредоносного кода в 1С (например, попыток выгрузки файлов через COM или HTTP) настроим Профили безопасности. Это механизм кластера 1С, который ограничивает возможности встроенного языка. В профиле можно запретить:

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

Резюме по организации процесса

Подводя итог, наиболее надежная схема выглядит так: работа ведется на виртуальной машине, изолированной от основной сети. Доступ осуществляется через VPN. База данных предварительно обезличена и очищена от лишней информации. Все действия разработчика логируются системными средствами или специализированным ПО (PAM-системы), а в идеале — разработка ведется через Git без предоставления доступа к промышленным данным.

← На главную