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

Вопрос актуален как для локальных сетей предприятий, так и для облачных развертываний, где безопасность периметра стоит на первом месте. Ошибки в настройке брандмауэра Windows или Linux-файрвола часто становятся причиной "плавающих" проблем с подключением, которые сложно диагностировать без понимания архитектуры соединений.

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

Архитектура сетевых соединений 1С

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

Центральным элементом инфраструктуры выступает сервер 1С (ragent), который управляет кластером. Именно он принимает входящие соединения от тонких клиентов и перенаправляет их к рабочим процессам. Если доступ к этому процессу заблокирован, пользователи увидят ошибку при запуске приложения, указывающую на невозможность соединения с сервером.

Отдельного внимания заслуживает взаимодействие с системой управления базами данных (СУБД). Сервер 1С выступает в роли клиента по отношению к Microsoft SQL Server или PostgreSQL. Следовательно, исходящие соединения от сервера 1С к портам СУБД также должны быть разрешены правилами фаервола, иначе выполнение запросов будет прерываться.

⚠️ Внимание: Архитектура соединений может отличаться в зависимости от режима работы (файловый или клиент-серверный). Данная статья фокусируется именно на клиент-серверном варианте, так как он требует сложной настройки сетевых правил.

Важно различать управляемые и неуправляемые соединения. Современные версии платформы используют динамическое выделение ресурсов, что усложняет задачу фиксированного указания портов. Однако существуют стандартные диапазоны, которые покрывают 95% сценариев использования в корпоративной среде.

Порты для работы кластера серверов

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

Стандартным значением для порта менеджера кластера является 1540 (по протоколу TCP). Через этот сокет клиентская часть отправляет запрос на получение списка доступных информационных баз. Без доступа к этому порту список баз в окне запуска 1С будет пуст, даже если базы физически существуют на сервере.

Помимо статического порта менеджера, кластер использует динамический диапазон портов для создания рабочих процессов (rphost). Когда клиент получает информацию о базе, он перенаправляется на один из этих портов для непосредственной работы с данными. Диапазон по умолчанию обычно составляет от 1541 до 1554.

💡

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

Если вы используете несколько серверов в одном кластере, необходимо обеспечить связь не только между клиентом и сервером, но и между самими серверами 1С. Внутренний трафик кластера также использует указанные выше диапазоны портов для синхронизации состояния и балансировки нагрузки.

☑️ Проверка настроек кластера

Выполнено: 0 / 4

Настройка доступа к СУБД (SQL Server и PostgreSQL)

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

Для Microsoft SQL Server стандартным портом является 1433 (TCP). Однако, если используется именованный экземпляр (например, MSSQLSERVER\1C, порт может быть динамическим. В таком случае необходимо либо зафиксировать порт в настройках SQL Server Configuration Manager, либо открыть доступ к службе Browser (порт 1434 UDP), что менее безопасно.

В случае использования PostgreSQL, который становится все более популярным в экосистеме 1С, стандартный порт — 5432 (TCP). Для работы в сети необходимо изменить параметр listen_addresses в файле postgresql.conf на '*' или конкретный IP-адрес сервера.

Компонент Протокол Порт по умолчанию Направление трафика
Менеджер кластера 1С TCP 1540 Входящий (Клиент -> Сервер)
Рабочие процессы 1С TCP 1541-1554 Входящий (Клиент -> Сервер)
MS SQL Server TCP 1433 Входящий (Сервер 1С -> SQL)
PostgreSQL TCP 5432 Входящий (Сервер 1С -> PG)

Не забывайте про исходящие правила на сервере 1С. Фаервол может блокировать не только входящие, но и исходящие соединения. Убедитесь, что сервер 1С имеет право инициировать соединение с портом СУБД на удаленном хосте.

📊 Какую СУБД вы используете с 1С?
MS SQL Server
PostgreSQL
IBM DB2
Oracle
Другую

HTTP-сервисы и веб-клиент

Современные реализации 1С часто подразумевают доступ через веб-браузер или использование HTTP-сервисов для интеграции с другими системами. Для этого на сервере 1С должен быть запущен встроенный веб-сервер или использоваться внешний (IIS, Apache, Nginx).

Если вы используете встроенный веб-сервер 1С, он по умолчанию слушает порт 80 (HTTP) и 443 (HTTPS). Эти порты необходимо открыть на фаерволе для входящих соединений от пользователей, которые хотят работать через тонкий клиент в режиме веб-клиента или вызывать внешние HTTP-сервисы.

При настройке HTTPS критически важно установить корректный SSL-сертификат. Без него браузеры будут блокировать соединение, помечая его как небезопасное. В настройках сервера 1С через консоль управления кластером можно указать путь к сертификату и привязать его к конкретному порту.

⚠️ Внимание: Открытие портов 80 и 443 делает ваш сервер доступным из интернета. Обязательно используйте сложные пароли, двухфакторную аутентификацию и регулярно обновляйте сертификаты безопасности.

Для публикации баз в веб-сервере IIS требуется установка расширения 1C:Web Server Extension. В этом случае сетевые правила применяются к процессу w3wp.exe, а не напрямую к процессам 1С. Порт в таком случае определяется настройками сайта в диспетчере IIS.

Служба лицензирования и дополнительные сервисы

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

Служба лицензирования 1С использует порт 475 (UDP/TCP) для обмена ключами защиты. Блокировка этого порта приведет к тому, что сервер 1С не сможет получить лицензию для запуска рабочих процессов, и пользователи получат ошибку "Превышено максимальное количество подключений" или "Лицензия не найдена".

Также стоит упомянуть порты для служебных утилит и мониторинга. Например, если вы используете сторонние системы мониторинга (Zabbix, Prometheus), вам потребуется открыть доступ к портам экспортеров метрик, которые вы настроите для сбора статистики по кластеру 1С.

Детали настройки лицензирования

В некоторых конфигурациях порт лицензии может быть изменен в файле nethasp.ini или через реестр Windows. Если стандартный порт 475 занят, проверьте конфигурацию службы лицензирования.

Для работы с файловой системой в режиме публикации или при использовании общих ресурсов могут потребоваться порты SMB (445 TCP). Однако, в правильной клиент-серверной архитектуре прямой доступ клиентов к файлам базы данных через SMB должен быть закрыт, так как все операции проходят через сервер 1С.

Практическая настройка Брандмауэра Windows

Рассмотрим конкретный пример настройки правил в стандартном Брандмауэре Windows. Это наиболее частый сценарий для серверов под управлением Windows Server. Действия необходимо выполнять с правами администратора.

Перейдите в панель управления брандмауэром и выберите "Дополнительные параметры". В разделе "Правила для входящих подключений" создайте новое правило. Выберите тип правила "Для порта", укажите протокол TCP и конкретные локальные порты, например: 1540, 1541-1554.

netsh advfirewall firewall add rule name="1C Server Cluster" dir=in action=allow protocol=TCP localport=1540,1541-1554

Аналогичное действие необходимо повторить для портов СУБД. Если SQL Server находится на том же сервере, правило будет локальным. Если на удаленном — правило создается на сервере БД для входящих подключений от IP-адреса сервера 1С.

💡

Группировка портов в одном правиле упрощает администрирование, но затрудняет детальный аудит трафика. Для высоконагруженных систем лучше создавать отдельные правила для каждого диапазона портов.

После создания правил обязательно проверьте их профиль. Убедитесь, что правило активно для профилей "Домен", "Частная" и "Публичная" (если сервер доступен извне, хотя для публичного профиля это рискованно). Примените изменения и перезапустите службу Агент сервера 1С.

Диагностика проблем с подключением

Даже при правильно настроенных правилах могут возникать проблемы с подключением. Первым инструментом диагностики является утилита telnet или Test-NetConnection в PowerShell. Они позволяют проверить доступность конкретного порта с рабочей станции клиента.

Запустите PowerShell на клиентском компьютере и выполните команду для проверки порта кластера. Если результат показывает TcpTestSucceeded : True, значит сетевой путь открыт. В случае False проблема находится на уровне сети или фаервола.

Test-NetConnection -ComputerName "1C_Server_IP" -Port 1540

Также полезно использовать утилиту netstat на самом сервере 1С. Она покажет, действительно ли процесс ragent слушает ожидаемые порты. Иногда служба запускается, но не может занять порт из-за конфликта с другим приложением.

⚠️ Внимание: Если команда telnet не найдена, её необходимо установить через "Компоненты Windows". Отсутствие утилиты не означает, что порт закрыт, это лишь ограничение диагностического инструмента.

Для глубокого анализа трафика можно использовать Wireshark. Захват пакетов на интерфейсе сервера позволит увидеть, доходят ли SYN-пакеты от клиента и отправляет ли сервер ответ SYN-ACK. Это поможет локализовать проблему: блокирует ли пакеты фаервол или процесс 1С их игнорирует.

Анализ логов 1С

В журнале регистрации сервера 1С можно отфильтровать события по уровню "Ошибка". Часто там содержится информация о причине отклонения соединения, например, "Ошибка аутентификации" или "Превышено время ожидания".

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

Для файловых баз данных отдельный сетевой порт сервера 1С не требуется, так как клиент обращается напрямую к файлам через протокол SMB (порт 445). Однако, если файловая база опубликована на веб-сервере для доступа через HTTP, используются стандартные веб-порты 80 или 443.

Можно ли изменить стандартный порт 1540?

Да, порт менеджера кластера можно изменить. Это делается через реестр Windows или параметры запуска службы. Изменение порта повышает безопасность через "неочевидность", но требует обновления настроек во всех подключающихся клиентах и ярлыках запуска.

Почему 1С не подключается при открытом порте?

Причин может быть несколько: блокировка исходящего трафика на клиенте, неправильный IP-адрес в ярлыке запуска, проблема с DNS-разрешением имени сервера, или блокировка на промежуточном сетевом оборудовании (маршрутизаторе), а не на самом сервере.

Нужно ли открывать порты для обновления платформы 1С?

Нет, обновление платформы обычно происходит путем установки файлов обновления на сервер и клиенты. Автоматическое обновление может требовать доступа к сайту обновлений 1С (HTTPS 443), но это исходящее соединение с рабочих мест, а не входящее на сервер.

Как проверить, какой процесс занимает порт 1540?

Используйте команду netstat -ano | findstr :1540 в командной строке. Вы получите PID процесса. Затем в диспетчере задач найдите процесс с таким PID, чтобы убедиться, что это именно ragent.exe.