В современных реалиях бизнеса организация защищенной IT-инфраструктуры и удаленная работа становятся стандартом. Однако часто системные администраторы и разработчики сталкиваются с жесткими ограничениями: запрет на использование VPN из-за сложности настройки на стороне клиента или нежелание использовать RDP из-за нагрузки на сервер. В данной статье мы разберем, как организовать доступ к 1С в режиме клиент-сервер, используя штатные возможности платформы 1С:Предприятие 8.3, обеспечив при этом высокую скорость работы и должный уровень безопасности.
Прежде всего, проанализируем три базовых сценария, которые предоставляет платформа для работы через интернет. Выбор правильного режима напрямую влияет на стабильность системы и удобство пользователей.
1540, 1541, 1560-1591). Несмотря на наличие встроенного шифрования, этот метод считается наименее защищенным, так как внутренние службы 1С оказываются открыты для внешнего мира.HTTPS. Это быстрее, чем работа в браузере, так как часть кода исполняется локально.Рассмотрим подробнее ситуацию, когда планируется использовать прямое подключение тонкого клиента к серверу. Многие ошибочно полагают, что трафик в этом случае идет в открытом виде. На самом деле, платформа поддерживает встроенные механизмы защиты. Проанализируем настройки безопасности информационной базы:
В параметрах подключения можно задать уровень использования защищенного соединения:
Однако, несмотря на шифрование, мы не рекомендуем выставлять порты сервера 1С напрямую в интернет. Если требования бизнеса исключают VPN, лучше переключиться на публикацию через веб-сервер.
Выясним, почему связка Тонкий клиент + Web-server + HTTPS является приоритетной. При такой схеме мы используем стандартный порт 443, который обычно открыт в любых сетях, и получаем возможность гибкой настройки безопасности на уровне веб-сервера.
Для реализации этого метода выполним следующие шаги:
HTTPS.Важный нюанс: при работе через веб-сервер можно использовать дополнительные методы авторизации. Рассмотрим возможность использования JWT-токенов или двухфакторной аутентификации (2FA), которая появилась в последних версиях платформы 8.3.21+. Это позволяет требовать от пользователя код из SMS или мобильного приложения, что делает доступ максимально защищенным даже без VPN.
Посмотрим на ситуацию, когда у компании нет возможности настроить собственный веб-сервер или отсутствует "белый" IP-адрес. В этом случае на помощь приходит продукт 1С:Линк. Разберем принцип его работы:
На сервере с базой устанавливается специальный агент, который создает защищенный туннель к серверам фирмы 1С. Пользователь подключается по ссылке вида https://link.1c.ru/your_base_name. Это решение идеально подходит для небольших компаний, где нет штатного системного администратора, так как настройка занимает несколько минут и не требует изменения правил сетевого экрана.
Разберем, как дополнительно обезопасить сервер, опубликованный в интернете. Даже если мы используем HTTPS, существуют риски подбора паролей (brute-force). Проанализируем методы защиты:
Basic Auth. Тогда пользователю сначала придется ввести пароль для доступа к самому веб-ресурсу, а уже потом — пароль от самой 1С.Выясним важный технический момент, касающийся лицензий. При удаленном подключении способ получения лицензии меняется:
Если используется тонкий клиент, он может брать лицензию как локально (с USB-ключа или программного файла на компьютере пользователя), так и с сервера 1С. Однако при работе через веб-клиент (браузер) лицензии всегда выдает сервер. Помните, что каждый сеанс в браузере потребляет отдельную лицензию, что может привести к их нехватке при нестабильном интернете, когда сессии "зависают".
Если пользователям, как в нашем примере, нужно "всего пара отчетов", рассмотрите вариант разработки собственного HTTP-сервиса. Это позволит не открывать доступ ко всей конфигурации.
Посмотрим на пример простейшего кода для получения данных через HTTP-сервис:
Метод ПолучитьОтчетПродаж(Запрос)
Параметры = Запрос.ПараметрыЗапроса;
НачалоПериода = Параметры.Получить("ДатаНачала");
// Формируем отчет программно
ТабДок = Новый ТабличныйДокумент;
Отчеты.Продажи.Сформировать(ТабДок, НачалоПериода);
// Возвращаем результат в формате HTML для отображения в браузере
Ответ = Новый HTTPСервисОтвет(200);
Ответ.УстановитьТелоИзСтроки(ТабДок.ПолучитьHTML());
Возврат Ответ;
КонецМетода
Такой подход максимально безопасен, так как пользователь вообще не взаимодействует с интерфейсом 1С и не может запустить произвольный код или просмотреть лишние данные. Мы предоставляем только конкретный результат.
Подведем итог нашему анализу. Для организации комфортной и безопасной работы пользователей в 1С через интернет при запрете на VPN, наиболее эффективным решением будет публикация информационной базы на веб-сервере с использованием SSL-шифрования (HTTPS). Работа через тонкий клиент обеспечит пользователям привычную скорость и функционал, а системному администратору даст инструменты контроля доступа и защиты сервера от внешних угроз.