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

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

При организации розничной сети часто возникает задача объединения удаленных магазинов с центральной информационной базой 1С:Управление торговлей в режиме реального времени. Типичная инфраструктура включает в себя центральный офис с оптическим каналом связи и статическим белым IP-адресом, а также удаленные торговые точки, подключенные через сотовые USB-модемы или DSL-линии с динамическими IP-адресами. Разберем основные способы реализации такого подключения, их преимущества, риски и методы оптимизации для нестабильных каналов связи.

Архитектурные варианты подключения удаленных точек

Для организации работы кассиров и товароведов в центральной базе можно выделить три базовых подхода. Проанализируем каждый из них:

  1. Организация VPN-туннеля (OpenVPN, WireGuard, IPSec): Соединяет удаленный компьютер или роутер магазина с локальной сетью офиса. Компьютер магазина получает внутренний IP-адрес офисной подсети, и тонкий клиент 1С обращается к серверу 1С или опубликованному веб-серверу напрямую, как внутри локальной сети. Это исключает необходимость открывать порты сервера 1С наружу.
  2. Публикация информационной базы на веб-сервере (Apache или IIS) с пробросом портов: База публикуется через конфигуратор на внутреннем веб-сервере офиса, а на пограничном маршрутизаторе настраивается переадресация внешнего порта (Port Forwarding / NAT) на веб-сервер. Клиенты подключаются по протоколам HTTP или HTTPS через тонкий клиент либо веб-браузер.
  3. Распределенная информационная база (РИБ): Создание локальных автономных баз на каждой точке с периодическим обменом данными. Этот вариант не требует постоянной связи, но не обеспечивает мгновенную видимость свободных остатков на складах сети и требует регулярного обслуживания механизмов синхронизации.

Вариант 1: Организация защищенного VPN-туннеля

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

  1. Развертывание VPN-сервера в офисе: VPN-сервер (OpenVPN или WireGuard) настраивается на офисном маршрутизаторе или выделенном сервере, имеющем статический белый IP-адрес. Выделяется отдельный диапазон виртуальных адресов для подключаемых клиентов (например, 10.8.0.0/24).
  2. Настройка клиентских узлов в магазинах: На компьютерах магазинов устанавливается VPN-клиент с персональным сертификатом или ключом авторизации. Клиент инициирует соединение изнутри сети магазина в офис. Динамический IP-адрес модема не мешает работе, так как инициатором сессии всегда выступает удаленная точка.
  3. Маршрутизация и доступ: После установки туннеля магазин видит внутренний IP-адрес сервера 1С (например, 192.168.10.10). В окне запуска 1С тонкий клиент настраивается на прямое подключение к кластеру серверов 1С или по адресу локального веб-сервера через туннель: http://192.168.10.10/trade.
  4. Использование протокола WireGuard: В условиях мобильного интернета с частыми обрывами соединения рекомендуется использовать WireGuard вместо классического OpenVPN. Он не требует повторного длительного TLS-рукопожатия при смене IP-адреса модемом, мгновенно восстанавливая передачу данных.

Вариант 2: Прямая публикация базы на веб-сервере и проброс портов

Если развертывание VPN невозможно или требует чрезмерных ресурсов, разберем настройку прямого подключения тонкого клиента к веб-серверу через интернет.

  1. Установка и публикация: На сервере в офисе устанавливается Apache HTTP Server или IIS. В конфигураторе 1С выбираем меню Администрирование > Публикация на веб-сервере, указываем имя публикации (например, trade), каталог и нажимаем Опубликовать. Проверяем работоспособность локально по адресу http://127.0.0.1/trade.
  2. Настройка нестандартного внешнего порта на роутере: Во избежание автоматического сканирования не следует пробрасывать стандартные порты 80 (HTTP) или 443 (HTTPS). Выбираем случайный высокий порт, например 31415.
  3. Правило Port Forwarding (NAT): В интерфейсе офисного маршрутизатора создаем правило переадресации входящих пакетов:
    Внешний порт: 31415 → Внутренний IP сервера: 192.168.10.10, Внутренний порт: 80 (или 443 при использовании SSL).
  4. Подключение на стороне магазина: В окне запуска 1С добавляем информационную базу с выбором варианта «На веб-сервере» и адресом вида: http://111.11.11.11:31415/trade (где 111.11.11.11 — статический IP-адрес офиса).

Защита веб-публикации без использования VPN

Выставление веб-сервера 1С в открытый интернет сопряжено с угрозами подбора паролей и сетевых атак. Рассмотрим комплекс мер по защите опубликованной базы:

  1. Двусторонняя аутентификация по TLS (mTLS): На веб-сервере включается проверка клиентских сертификатов (директива SSLVerifyClient require в Apache). Без персонального сертификата, установленного на компьютере магазина, веб-сервер разрывает соединение до этапа передачи учетных данных 1С.
  2. Использование обратного прокси (Reverse Proxy): Установка перед веб-сервером проксирующего узла (например, Nginx). Это позволяет ограничить число запросов в секунду (Rate Limiting), отсекать попытки перебора паролей и применять базовую HTTP-аутентификацию перед обращением к пулу 1С.
  3. Технология Port Knocking: Входящий порт на офисном роутере закрыт по умолчанию. Перед запуском 1С специальный клиентский скрипт посылает серию сетевых пакетов на заданную комбинацию портов роутера, после чего фаервол временно открывает доступ только для текущего динамического адреса магазина.

Оптимизация тонкого клиента для работы через модемы и DSL

При работе через сотовые модемы со скачками задержек (пинг 70–250 мс) тонкий клиент 1С требует тонкой настройки для предотвращения зависаний и ошибок инициализации соединения. Разберем ключевые параметры:

  1. Режим низкой скорости соединения: В окне добавления информационной базы в поле параметров запуска указываем ключ /LSR+ или в диалоге свойств базы выбираем скорость соединения Низкая. Это оптимизирует передачу пакетов, минимизирует число вызовов сервера и отключает автообновление динамических списков.
  2. Включение сжатия трафика: В файле публикации default.vrd на сервере проверяем наличие атрибута сжатия:
    
    <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
           base="/trade"
           ib="Srvr=192.168.10.10;Ref=trade;"
           compress="true"/>
    
    Включение сжатия сокращает объем передаваемых пакетов при медленном канале в несколько раз.
  3. Корректировка MTU и TCP MSS: На сотовых модемах и PPPoE-соединениях пакеты рукопожатия TLS часто фрагментируются и отбрасываются оператором, вызывая ошибку «Ошибка инициализации SSL соединения». Для устранения проблемы на маршрутизаторах или модемах точек принудительно ограничивается размер TCP MSS до значений 1360–1400 байт.
  4. Таймауты веб-сервера: В конфигурации веб-сервера необходимо увеличить значения параметров Timeout и KeepAliveTimeout, чтобы кратковременные провалы сигнала на беспроводных модемах не приводили к немедленному сбросу сессии пользователя.

Особенности подключения торгового оборудования на удаленных точках

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

← На главную