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

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

Архитектура сетевого взаимодействия 1С и PostgreSQL

Понимание того, как компоненты системы обмениваются данными, является фундаментом для правильной настройки правил брандмауэра. В типовой трехзвенной архитектуре клиентское приложение не обращается к базе данных напрямую. Вместо этого запрос проходит через сервер 1С:Предприятия, который выступает посредником и управляет пулом соединений. Это означает, что вам нужно настроить правила как для взаимодействия «Клиент — Сервер 1С», так и для пары «Сервер 1С — СУБД».

Протокол взаимодействия между клиентом и сервером 1С использует собственный механизм передачи данных, который по умолчанию listens на конкретном TCP-порте. В то же время, PostgreSQL работает по стандартному стеку TCP/IP, используя свой фиксированный порт для приема запросов от сервера приложений. Если один из этих каналов связи перекрыт, цепочка передачи данных разрывается, и пользователь получает ошибку соединения.

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

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

📊 Какая у вас архитектура 1С?
Файловый вариант
Клиент-серверный (PostgreSQL)
Клиент-серверный (MS SQL)
Тонкий клиент через веб-сервер

Порты сервера 1С:Предприятия

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

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

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

💡

Для проверки того, на каком порте запущен ваш сервер 1С, используйте команду netstat -ano | findstr "1541" в командной строке Windows с правами администратора. Если порт изменен, замените 1541 на ваше значение.

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

Настройка доступа к СУБД PostgreSQL

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

Конфигурация доступа в PostgreSQL управляется не только системным фаерволом, но и внутренними файлами конфигурации самой СУБД. Ключевым файлом здесь является pg_hba.conf, который определяет правила аутентификации клиентов. Даже если порт 5432 открыт в Windows Firewall или iptables, отсутствие разрешающей записи в этом файле не позволит серверу 1С подключиться к базе.

Компонент Порт по умолчанию Протокол Направление
Менеджер кластера 1С 1541 TCP Входящий (от клиентов)
Сервер PostgreSQL 5432 TCP Входящий (только от 1С)
Веб-сервер (IIS/Apache) 80 / 443 TCP Входящий (от браузеров)
Лицензионный сервер 477 TCP Входящий (от сервера 1С)

В продакшн-среде настоятельно рекомендуется изменить стандартный порт PostgreSQL с 5432 на нестандартный. Это не является надежной защитой от хакеров, но значительно снижает количество автоматизированных сканирований и атак ботнетов, которые ищут уязвимости именно на стандартных адресах. Изменение порта производится в файле postgresql.conf параметром port.

⚠️ Внимание: Никогда не открывайте порт 5432 для доступа из сети Интернет (0.0.0.0/0). Доступ к базе данных должен быть разрешен только с конкретных IP-адресов серверов приложений 1С. Открытие СУБД в публичную сеть — грубейшая ошибка безопасности.

Дополнительные сервисные порты

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

Если вы используете публикацию баз в веб-среде, то критически важным становится порт веб-сервера. Для незашифрованного трафика это 80, а для защищенного HTTPS — 443. В этом случае клиентское соединение идет не напрямую к порту 1541, а через расширения веб-сервера, которые проксируют запросы к кластеру.

  • 🔑 Порт 477 — используется сервером защиты ключей (HASP) или программным лицензионным сервером 1С. Необходим для проверки прав доступа пользователей.
  • 🌐 Порт 80/443 — обязательны при работе через тонкий клиент в режиме веб-браузера или при использовании публикации через IIS/Apache.
  • 🔄 Порт 1560-1590 — диапазон портов, который может использоваться рабочими процессами (rphost) в некоторых сценариях кластеризации и балансировки нагрузки.

Для систем мониторинга и администрирования также может потребоваться доступ по протоколу SNMP или к портам удаленного управления (RDP/SSH). Эти порты не относятся непосредственно к работе ядра 1С, но необходимы для поддержки жизнеспособности сервера в целом. Их настройка должна производиться в соответствии с политиками безопасности вашей организации.

Диапазон портов рабочих процессов

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

Инструкция по открытию портов в Windows Firewall

Настройка брандмауэра Windows является наиболее частой задачей для администраторов серверов 1С. Процедура выполняется через оснастку «Монитор брандмауэра Защитника Windows». Важно создавать правила для входящих подключений, указывая конкретные порты, а не просто разрешая приложение, так как это дает более гибкий контроль.

Для создания правила необходимо выбрать тип правила «Для порта», указать протокол TCP и нужный номер локального порта. На этапе действия обязательно выбирается пункт «Разрешить подключение». Не забудьте применить правило ко всем профилям сети (Доменный, Частный, Публичный), если сервер находится в домене, но также имеет доступ из других сегментов.

☑️ Чек-лист настройки фаервола

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

После создания правил рекомендуется выполнить их принудительное применение командой gpupdate /force в командной строке, если сервер управляется групповыми политиками. В некоторых случаях требуется перезапуск службы брандмауэра или даже перезагрузка сервера для полного вступления изменений в силу, хотя обычно изменения применяются мгновенно.

Если на сервере установлено стороннее антивирусное ПО со встроенным фаерволом (например, Kaspersky, ESET, Dr.Web), настройки стандартного брандмауэра Windows могут игнорироваться. В таком случае аналогичные правила необходимо продублировать в интерфейсе защиты стороннего вендора. Часто именно конфликты между двумя активными фаерволами становятся причиной нестабильной работы сети.

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

Диагностика и проверка доступности портов

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

Команда telnet <порт> позволяет установить сырое TCP-соединение. Если экран становится черным или мигает курсор — порт открыт и доступен. Если же вы получаете сообщение «Не удается открыть соединение», значит, пакет блокируется на пути следования или служба не слушает этот адрес.

telnet 192.168.1.10 1541

Более продвинутым инструментом является утилита PortQry или Test-NetConnection в PowerShell. Они предоставляют детальную информацию о состоянии порта, включая возможность определения, фильтруется ли трафик или просто отвергается. Для PowerShell команда выглядит следующим образом:

Test-NetConnection -ComputerName 192.168.1.10 -Port 5432
💡

Успешное прохождение теста telnet или Test-NetConnection означает, что сетевой путь свободен. Если тест не проходит, проблема находится либо в настройках фаервола источника, либо на промежуточном сетевом оборудовании.

Также стоит проверить состояние прослушивания портов на самом сервере с помощью команды netstat -an | findstr "LISTENING". Это позволит убедиться, что сервис 1С или PostgreSQL вообще запущен и привязался к ожидаемому сетевому интерфейсу. Отсутствие порта в списке прослушивающих означает, что служба не стартовала или настроена на localhost.

Почему не открывается порт 1541 после настройки?

Наиболее частая причина — служба «Агент сервера 1С:Предприятия» не запущена или работает под учетной записью, не имеющей прав на сетевое взаимодействие. Также проверьте, не блокирует ли соединение антивирус с функцией «Контроль сети».

Можно ли использовать UDP вместо TCP для 1С?

Нет, основные сервисы 1С:Предприятия и PostgreSQL используют исключительно протокол TCP для гарантированной доставки данных. UDP может использоваться только для некоторых служебных широковещательных запросов в локальной сети, но не для передачи данных баз.

Влияет ли открытие портов на скорость работы 1С?

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

Как безопасно проверить порт 5432 извне?

Никогда не проверяйте порт СУБД из открытого интернета. Используйте проверку только из внутренней сети, с IP-адреса сервера приложений 1С. Для внешней диагностики используйте VPN-туннель, имитирующий внутреннее подключение.