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

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

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

Настройка портов в веб-сервере IIS

По умолчанию веб-сервер IIS (Internet Information Services) слушает порт 80 (HTTP), однако альтернативой может выступать установщик Apache HTTP Server для Windows. Если вы хотите использовать нестандартный порт внутри вашей локальной сети, нам необходимо изменить привязки (bindings) сайта. Рассмотрим, как это сделать:

  1. Откроем Диспетчер служб IIS.
  2. В дереве подключений слева развернем узел сервера и перейдем в раздел Сайты.
  3. Выберем сайт, на котором опубликована 1С (обычно это Default Web Site).
  4. В панели Действия (справа) нажмем на ссылку Привязки... или вызовем этот пункт через контекстное меню сайта.
  5. В открывшемся окне выберем существующую привязку http и нажмем Изменить.
  6. В поле Порт укажем нужный номер (например, 8088). Проанализируем ситуацию: важно, чтобы выбранный порт не был занят другими службами. Проверить это можно командой netstat -a в командной строке.
  7. Нажмем ОК и перезапустим сайт.

Теперь внутри локальной сети 1С будет доступна по адресу вида http://имя_сервера:8088/имя_базы. Однако, как показывает практика, менять внутренний порт IIS не всегда обязательно, если вы используете механизм трансляции портов на роутере.

Проброс портов на роутере: логика NAT и Firewall

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

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

  1. Пакет приходит на внешний (WAN) интерфейс роутера.
  2. Роутер применяет правила NAT/Port Forwarding (трансляция адресов и портов). Пакет меняет свой адрес назначения с внешнего IP на локальный IP сервера, а порт — с 8088 на 80.
  3. После трансляции пакет попадает в Межсетевой экран (Firewall).

Важный момент: если ваш роутер работает по такой схеме, то в правилах Firewall (разрешающих прохождение трафика) нужно указывать уже целевой порт (в нашем примере — 80), а не исходный внешний порт. Именно в этом часто кроется причина того, что соединение не устанавливается: порт 8088 проброшен, но межсетевой экран блокирует обращение к порту 80, так как он «закрыт» в правилах фильтрации.

Почему использование HTTPS критически важно?

Выставлять 1С в интернет по протоколу HTTP (порт 80) — крайне небезопасная затея. В этом случае логины и пароли пользователей передаются в открытом виде, и их легко перехватить. Рассмотрим, что дает переход на HTTPS:

Многие опасаются, что HTTPS создаст высокую нагрузку на сервер. Однако современные процессоры поддерживают аппаратное ускорение шифрования (AES-NI), и разница в производительности для 1С будет практически незаметна даже на бюджетном оборудовании.

Настройка HTTPS через Let's Encrypt

Для работы HTTPS необходим сертификат. Чтобы не покупать его, воспользуемся бесплатным центром сертификации Let's Encrypt. Для автоматизации процесса на IIS рекомендуем использовать утилиту Win-ACME или Certify The Web.

Процесс выглядит следующим образом:

  1. Утилита сама создает запрос на сертификат.
  2. Подтверждает владение доменом (через HTTP-запрос (поможет система логирования и анализа HTTP-запросов в 1С) или DNS-запись).
  3. Скачивает сертификат и автоматически добавляет привязку https (порт 443) в настройки IIS.
  4. Настраивает автоматическое продление (сертификат выдается на 90 дней).

После этого рекомендуется настроить в IIS автоматический редирект с порта 80 на 443, чтобы пользователи всегда работали по защищенному каналу.

Оптимизация работы IIS для 1С:Предприятие

Чтобы работа через веб-интерфейс была стабильной, недостаточно просто открыть доступ. Выясним, какие настройки «Пула приложений» (Application Pool) в IIS помогут избежать проблем:

1. Настройка времени простоя: По умолчанию IIS завершает рабочий процесс приложения, если к нему никто не обращался 20 минут. Это приводит к тому, что первый пользователь утром долго ждет загрузки базы. Установите параметр Idle Time-out (minutes) в значение 0.

2. Режим запуска: В настройках пула установите Start Mode в значение AlwaysRunning. Это заставит IIS всегда держать приложение готовым к работе.

3. Управление памятью: Если на сервере мало оперативной памяти, можно ограничить максимальный объем памяти для пула, чтобы IIS перезапускал процесс при достижении лимита, предотвращая «зависание» всей системы.

Дополнительные нюансы публикации

При использовании нестандартных портов или сложных схем проброса обратите внимание на файл default.vrd. Это XML-файл конфигурации публикации 1С — на базе этой технологии работает модуль организации обмена данными через веб-сервисы. В нем описываются параметры подключения к базе данных. Посмотрим на пример структуры этого файла:


<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/BaseName"
       ib="Srvr=&quot;Server1C&quot;;Ref=&quot;BaseName&quot;;">
    <standardOdata enable="true" reuseSessions="autouse" sessionMaxAge="20" />
</point>

Если вы используете обратный прокси-сервер (Reverse Proxy), вам может потребоваться добавить параметры headers, чтобы 1С правильно определяла IP-адреса клиентов и протокол обращения.

Альтернатива: использование VPN

Если безопасность является приоритетом, а количество пользователей ограничено, проанализируем вариант с VPN — для таких сетей есть панель централизованного администрирования баз и касс. Вместо того чтобы открывать порты IIS всему интернету, вы можете поднять VPN-сервер (например, WireGuard или L2TP) на вашем роутере или отдельном сервере.

В этом случае:

  1. Пользователь сначала подключается к VPN.
  2. Его компьютер получает внутренний IP-адрес вашей сети.
  3. Доступ к 1С осуществляется по локальному адресу сервера, как если бы пользователь сидел в офисе.

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

Решение проблем с «серыми» IP-адресами

Если вы настроили проброс портов и Firewall, но доступа извне все равно нет, проверьте ваш внешний IP-адрес через MyIP сервис. Если провайдер выдает адрес из диапазона 100.64.x.x — 100.127.x.x, значит вы находитесь за CGNAT. В этом случае прямой проброс портов работать не будет. Решением будет либо покупка услуги «Статический IP», либо использование облачных туннелей (Cloudflare Tunnel, Ngrok) для публикации локального ресурса в интернет.

← На главную