К статье
Практический материал

Администрирование · 13 мин

Как закрыть порты 1С на сервере и рабочей станции

Как закрыть порты 1С: определяем, какие порты используют агент сервера, rphost и веб-клиент, блокируем их в брандмауэре Windows и проверяем результат.

Открытые порты 1С — одна из частых находок при аудите безопасности: сервер приложений слушает сеть на порту 1540 и диапазоне 1560–1591, а если включён веб-клиент или HTTP-сервисы, к ним добавляются 80 и 443. Если база опубликована в интернете или сервер стоит в сети с недоверенными устройствами, лишние открытые порты становятся реальным вектором атаки — от подбора паролей до эксплуатации уязвимостей конкретной версии платформы.

Закрыть порт можно тремя способами: остановить саму службу, которая его слушает, заблокировать трафик правилом брандмауэра или отрезать доступ на сетевом оборудовании. Правильный выбор зависит от того, нужен ли порт внутри локальной сети: если 1С должна работать только с локальными клиентами, блокировка на внешнем интерфейсе безопаснее, чем остановка службы.

Перед любыми изменениями зафиксируйте текущее состояние: какие порты слушаются, какими процессами и какие клиенты к ним подключаются. Это позволит откатить изменения без простоя учётной системы и не заблокировать случайно критичное соединение — например, связь сервера 1С с СУБД.

Какие порты использует 1С и зачем их закрывать

Сервер 1С:Предприятия использует предсказуемый набор портов. Агент сервера (процесс ragent) по умолчанию слушает порт 1540 — через него подключаются консоль кластера и клиенты на этапе установки соединения. Менеджер кластера (rmngr) занимает порт 1541, а рабочие процессы rphost получают порты из диапазона 1560–1591. Файловая база на сетевом ресурсе отдельных портов не открывает — там работает SMB (445), который контролируется средствами общего доступа Windows.

Дополнительно порты появляются от сопутствующих компонентов: веб-сервер IIS или Apache для публикации тонкого клиента и HTTP-сервисов (80/443), сервер хранилища конфигурации (по умолчанию 1542), агент сервера администрирования RAS (1545), а также порт СУБД — 1433 для MS SQL или 5432 для PostgreSQL. Каждый из них потенциально доступен из сети, если не настроены ограничения.

Закрывать порты стоит в трёх ситуациях: сервер имеет внешний IP-адрес или проброс портов на роутере; в сети есть сегменты с пониженным доверием (гостевой Wi-Fi, филиалы через VPN); аудит или требования внутренней политики предписывают минимизировать сетевую поверхность. Закрытие неиспользуемых портов снижает риск подбора паролей, эксплуатации уязвимостей платформы и несанкционированного подключения к кластеру.

netstat показывает 0.0.0.0:1540Агент слушает все интерфейсы

Порт доступен из любой сети, куда маршрутизируется сервер — нужна фильтрация

Порт слушает 127.0.0.1Только локальные подключения

Из сети порт недоступен, дополнительные меры обычно не требуются

На роутере проброшен 1541 или 1560-1591Кластер виден из интернета

Критичный риск: уберите проброс и проверьте журналы подключений

Открыты 80/443Опубликован веб-клиент или HTTP-сервисы

Проверьте, какие публикации реально используются, остальные удалите

Как узнать, какие порты 1С открыты прямо сейчас

Начните с команды netstat -ano | findstr LISTENING в командной строке с правами администратора. В выводе видны адрес прослушивания, порт и PID процесса. Затем сопоставьте PID с именем процесса командой tasklist | findstr <PID> — так вы увидите, что порт 1540 держит ragent.exe, а порты из диапазона 1560+ — процессы rphost.exe.

Для проверки доступности порта извне используйте с другой машины Test-NetConnection сервер -Port 1540 в PowerShell. Ответ TcpTestSucceeded: True означает, что порт доступен по сети и брандмауэр его не блокирует. Проверяйте с хоста из того же сегмента, откуда потенциально может прийти злоумышленник, — например, из гостевой сети или снаружи через внешний адрес.

Полезно также открыть консоль «Брандмауэр Защитника Windows в режиме повышенной безопасности» (wf.msc) и посмотреть действующие входящие правила. При установке сервера 1С мастер часто предлагает создать разрешающие правила автоматически — они и есть причина, почему порты открыты «сами собой».

powershell
netstat -ano | findstr LISTENING | findstr "1540 1541 1542 1545 1560 1561"

Закрытие портов через брандмауэр Windows

Самый управляемый способ — запрещающее правило брандмауэра: служба продолжает работать локально, а сетевой доступ блокируется. Откройте wf.msc, перейдите в «Правила для входящих подключений» и создайте новое правило: тип «Для порта», протокол TCP, укажите нужные порты (например, 1560–1591), действие — «Блокировать подключение», профили — все три. Запрещающие правила имеют приоритет над разрешающими, поэтому созданные установщиком разрешения перестанут действовать.

Для тонкой настройки вместо полной блокировки ограничьте область действия существующего разрешающего правила: откройте его свойства, вкладка «Область», и в «Удалённый IP-адрес» перечислите только подсети бухгалтерии и администраторов. Так порт останется доступным для легитимных клиентов и закрытым для остальных — это предпочтительный вариант для рабочего сервера.

Те же действия выполняются из PowerShell, что удобно для нескольких серверов: New-NetFirewallRule -DisplayName "Block 1C rphost external" -Direction Inbound -Protocol TCP -LocalPort 1560-1591 -Action Block. Изменения применяются немедленно, перезагрузка не требуется.

Порядок действий
  1. 1
    Сделайте снимок текущих правил: Export-NetFirewallRule или скриншоты wf.msc
  2. 2
    Определите порты, которые реально нужны клиентам (обычно 1540 и диапазон rphost внутри ЛВС)
  3. 3
    Создайте запрещающие правила для неиспользуемых портов и для внешних интерфейсов
  4. 4
    Ограничьте разрешающие правила доверенными подсетями через вкладку «Область»
  5. 5
    Проверьте с клиентской машины: база открывается, Test-NetConnection с недоверенного сегмента возвращает False
  6. 6
    Задокументируйте изменения для отката

Блокировка на уровне сетевого оборудования

Если сервер 1С стоит за маршрутизатором, первым рубежом должен быть он: уберите все пробросы портов 1540–1591 наружу и убедитесь, что на внешнем интерфейсе включён фильтр входящих соединений. Публикацию веб-клиента в интернет делайте только через 443 с действующим сертификатом и, желательно, через VPN или обратный прокси с аутентификацией — открытый наружу порт кластера без веб-уровня не нужен никогда.

Закрытие портов остановкой служб и компонентов

Если функциональность не используется вовсе, правильнее не фильтровать порт, а убрать сам слушатель. Остановите и переведите в режим запуска «Отключена» службы, которые не нужны: «Агент сервера 1С:Предприятия» — на машинах, где сервер приложений не используется (например, при файловой базе на файловом сервере); сервер хранилища конфигурации — если разработка через хранилище не ведётся; агент RAS — если кластером не управляют удалённо через консоль администрирования.

Для веб-клиента проверьте публикации в IIS или Apache: удалите неиспользуемые виртуальные каталоги и файлы default.vrd, а если веб-доступ не нужен совсем — остановите службу веб-сервера или удалите компонент. Каждая удалённая публикация закрывает не только порт, но и точку входа для атак на HTTP-сервисы, которые часто создают для интеграций и забывают.

Особые случаи: файловая база, Linux и облачный сервер

При файловом режиме работы никаких портов сервера 1С нет — сетевой доступ идёт через общую папку (SMB, порт 445). Здесь «закрыть порты» означает настроить права NTFS и доступ к шаре только для группы пользователей 1С, а при возможности отключить устаревший SMBv1. Открытая «на всех» папка с базой — не менее серьёзная проблема, чем открытый порт кластера.

На Linux-сервере вместо брандмауэра Windows используются iptables/nftables или firewalld: firewall-cmd --permanent --remove-port=1560-1591/tcp с последующим --reload. Также проверьте файл настроек кластера (srv1cv8) — там можно привязать агента к конкретному интерфейсу, чтобы он не слушал внешний адрес.

На виртуальных машинах у облачных провайдеров действует дополнительный уровень — группы безопасности (security groups). Правило там имеет приоритет над брандмауэром ОС: даже корректно настроенный Windows Firewall не поможет, если в панели облака порт разрешён для 0.0.0.0/0. Проверяйте оба уровня.

Сравнение вариантов

Запрещающее правило брандмауэра

Быстро и обратимо, служба работает локально; минус — правило может отключить другой администратор

Ограничение разрешающего правила подсетями

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

Остановка и отключение службы

Самый надёжный вариант для неиспользуемых компонентов; неприменим, если функция нужна

Фильтрация на роутере / security group

Защищает весь сервер сразу и работает до трафика на ОС; не заменяет фильтрацию внутри локальной сети

Как проверить, что порты действительно закрыты

Проверка выполняется с двух сторон. На самом сервере повторите netstat -ano: если службу отключали, порт должен исчезнуть из списка. Если блокировали брандмауэром — порт останется, и это нормально: фильтрация происходит на уровне трафика, а не прослушивания.

Затем с внешней по отношению к серверу машины выполните Test-NetConnection сервер -Port 1540 и аналогично для портов диапазона rphost. Ожидаемый результат — TcpTestSucceeded: False с недоверенного сегмента и True с рабочей подсети бухгалтерии. Финальный тест — реальный запуск 1С у пользователя: база должна открываться штатно, без ошибок соединения с сервером.

Контрольные точки

Как проверить результат

Test-NetConnection с клиентской подсети
Норма

Порты 1540 и рабочие rphost доступны, база открывается

Тревожный признак

Соединение не устанавливается — правило заблокировало и легитимных клиентов

Test-NetConnection с гостевой/внешней сети
Норма

TcpTestSucceeded: False по всем портам 1С

Тревожный признак

Порт доступен — правило не применилось или перекрыто другим разрешением

netstat на сервере
Норма

Отключённые службы не слушают порты

Тревожный признак

Порт слушает неизвестный процесс — найдите его по PID

Журнал брандмауэра
Норма

Видны отброшенные входящие пакеты на закрытые порты

Тревожный признак

Пакеты проходят — проверьте профиль правила (доменный/частный/общедоступный)

Типичные ошибки при закрытии портов 1С

Чаще всего проблемы возникают не от самой блокировки, а от неполного понимания архитектуры. Администратор закрывает «лишний» порт 1541 — и перестаёт работать консоль управления кластером, потому что менеджер кластера использует именно его. Или блокирует весь диапазон 1560–1591 вместо ограничения подсетей — и пользователи массово получают ошибку соединения.

Вторая группа ошибок — многоуровневая фильтрация: правило создано в Windows Firewall, но порт по-прежнему открыт, потому что трафик идёт через сторонний антивирус с собственным сетевым экраном или облачную группу безопасности. Обратная ситуация тоже встречается: закрыли порт на роутере, а внутри сети он остался доступен всем, включая гостевой Wi-Fi.

Типичные ошибки
01
Полная блокировка 1560-1591 вместо ограничения подсетей — клиенты теряют соединение с базами
02
Забытый проброс портов на роутере — снаружи кластер остаётся виден даже при настроенном брандмауэре
03
Правило создано только для профиля «Доменный», а сервер определяет сеть как «Частную» — фильтр не срабатывает
04
Закрытие порта СУБД (1433/5432) на сервере 1С, хотя SQL-сервер на той же машине — 1С перестаёт читать базы
05
Отсутствие документирования — через месяц никто не помнит, какие правила и зачем создавались

Частые вопросы

Какие порты 1С можно закрыть без последствий?

Без последствий закрываются порты неиспользуемых компонентов: 1542 (хранилище конфигурации), если разработка не ведётся; 1545 (RAS), если кластером не управляют удалённо; 80/443, если веб-клиент и HTTP-сервисы не опубликованы. Порты 1540, 1541 и диапазон 1560–1591 на действующем сервере приложений закрывать полностью нельзя — только ограничивать по подсетям.

Порт закрыт в брандмауэре, но netstat всё равно его показывает. Это нормально?

Да. Netstat показывает сокеты, которые слушает процесс, — брандмауэр не закрывает сокет, а отбрасывает входящие пакеты. Проверяйте результат не netstat, а попыткой подключения с другой машины через Test-NetConnection: если соединение не устанавливается, блокировка работает.

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

Файловая база не использует порты 1С — доступ идёт через общую папку SMB. Ограничьте доступ к шаре и папке на уровне NTFS только группой пользователей 1С, уберите разрешение «Все», отключите гостевой доступ и устаревший SMBv1. Проверка: с постороннего компьютера сетевой ресурс не должен открываться даже с чужими учётными данными.

Нужно ли закрывать порты, если сервер 1С только в локальной сети?

Минимально — да: внутренняя сеть не равна доверенной, особенно при наличии гостевого Wi-Fi, личных устройств сотрудников и филиалов. Рекомендуемый минимум — ограничить разрешающие правила подсетями пользователей и администраторов и убедиться, что на маршрутизаторе нет пробросов портов 1540–1591 наружу.

После закрытия портов перестала работать консоль кластера. Что делать?

Консоль администрирования подключается к агенту через порт 1540 и к менеджеру кластера через 1541. Если вы ограничивали правила подсетями, добавьте в разрешённый список адрес машины администратора. Если блокировали порты полностью — замените запрещающее правило на разрешающее с ограничением по IP, либо запускайте консоль локально на самом сервере.

Нарушает ли блокировка портов лицензионную работу 1С?

Программные лицензии активируются через интернет один раз и далее не требуют постоянных исходящих соединений на специфические порты; аппаратные ключи HASP работают локально или по сети через свой драйвер (порт 1947). Блокировка входящих портов сервера 1С на лицензирование не влияет. Если используется сетевой HASP-ключ на другой машине, не блокируйте 1947 между сервером и ключом.