Skip to content
EN

Порт 4369: Erlang Port Mapper Daemon

Коротко:

Порт 4369 (TCP) — стандарт для Erlang Port Mapper Daemon. EPMD — Erlang Port Mapper Daemon. Порт 4369 — service discovery для Erlang/Elixir/RabbitMQ clusters. Когда открыт без restrict — attacker может enumerate все Erlang nodes и попытат

Ниже: что работает на этом порту, безопасность, онлайн-проверка, FAQ.

Проверить доступность и порты →

Что работает на этом порту

Erlang Port Mapper Daemon

EPMD — Erlang Port Mapper Daemon. Порт 4369 — service discovery для Erlang/Elixir/RabbitMQ clusters. Когда открыт без restrict — attacker может enumerate все Erlang nodes и попытаться cluster join.

Безопасность

EPMD exposed publicly — critical. Known botnet exploits Erlang cookie brute-force для RCE. Firewall 4369 + strict Erlang cookie (>20 random chars).

Проверить порт онлайн

Проверить порт онлайн →

Ping + Port Checker Enterno.io проверяет TCP-доступность любого порта из 3 регионов (Москва / Франкфурт / Вирджиния).

TL;DR: Что такое порт 4369 (TCP)?

Порт 4369 (TCP) используется для работы с горутинами Erlang через протокол EPMD (Erlang Port Mapper Daemon). Он позволяет приложениям, написанным на Erlang, находить друг друга в сети и открывать соединения. Для работы с этим портом следует убедиться, что он открыт в файрволе и доступен для используемых приложений.

Функциональность EPMD и его роль в Erlang

Erlang Port Mapper Daemon (EPMD) — это сервис, который отвечает за регистрацию и обнаружение портов, используемых Erlang-приложениями. При запуске каждого Erlang-узла, он связывается с EPMD, передавая информацию о своем имени и порте. Это позволяет другим узлам находить его и устанавливать соединение.

Когда приложение запускается, оно отправляет запрос на EPMD, указывая имя узла и соответствующий номер порта. EPMD возвращает информацию о состоянии узла, включая его IP-адрес и используемый порт. Важно, чтобы EPMD всегда был доступен по порту 4369, особенно в распределенных системах.

Пример команды для запуска EPMD: epmd -daemon. После этого узлы Erlang могут регистрироваться и взаимодействовать через этот сервис.

Конфигурация и безопасность порта 4369

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

Рекомендуется использовать фильтрацию трафика на уровне сетевых устройств, ограничивая доступ к порту 4369 только тем узлам, которые вам известны. Например, для настройки iptables можно использовать следующую команду:

iptables -A INPUT -p tcp --dport 4369 -s  -j ACCEPT

Кроме этого, стоит рассмотреть возможность использования VPN для защиты трафика между узлами, работающими с EPMD.

Проблемы и их решение при работе с портом 4369

Несмотря на простоту использования EPMD, могут возникать различные проблемы. Одной из наиболее распространенных является невозможность обнаружения узлов. Это может происходить из-за блокировки порта 4369 фаерволом или неправильной конфигурации сети.

Чтобы устранить проблемы с обнаружением узлов, выполните следующие шаги:

  1. Проверьте, открыт ли порт 4369 на узле, где работает EPMD, с помощью команды: netstat -tuln | grep 4369.
  2. Убедитесь, что узел запущен и зарегистрирован в EPMD, используя команду: epmd -names.
  3. Если необходимо, проверьте настройки фаервола и сделайте соответствующие изменения.

Следуя этим рекомендациям, вы сможете минимизировать проблемы, связанные с работой EPMD и портом 4369, обеспечив эффективное взаимодействие Erlang-приложений в вашей инфраструктуре.

TL;DR: Основные сведения о порте 4369 (TCP)

Порт 4369 (TCP) используется для работы с Erlang Port Mapper Daemon (EPMD), который необходим для обнаружения и управления распределенными Erlang-приложениями. EPMD позволяет узлам Erlang находить друг друга в сети и упрощает взаимодействие между ними. Для проверки доступности порта можно использовать команду telnet 4369.

Работа с EPMD: практическое использование и настройка

Erlang Port Mapper Daemon (EPMD) — это служба, которая позволяет узлам Erlang обнаруживать друг друга, что делает ее важной частью инфраструктуры распределенных приложений. При запуске EPMD слушает на порту 4369 и ждет соединений от узлов Erlang. Каждый узел, который хочет зарегистрироваться, отправляет свой идентификатор и информацию о портах, на которых он слушает. Это позволяет другим узлам находить и взаимодействовать с ним.

Для начала работы с EPMD, необходимо убедиться, что он установлен и запущен на вашей системе. Вы можете запустить EPMD с помощью следующей команды:

epmd -daemon

После запуска EPMD, вы можете проверить его состояние с помощью команды:

epmd -names

Эта команда выведет список всех зарегистрированных узлов и их соответствующих портов.

При настройке EPMD важно учитывать вопросы безопасности. Поскольку EPMD открывает порт 4369 для внешних соединений, необходимо ограничить доступ к этому порту. Например, вы можете использовать файервол для разрешения соединений только с определенных IP-адресов. В Linux это можно сделать с помощью iptables:

iptables -A INPUT -p tcp --dport 4369 -s  -j ACCEPT

Также стоит учитывать, что EPMD может использоваться в различных средах, включая облачные и локальные. В облачных средах, таких как AWS, вам может понадобиться настроить группы безопасности, чтобы разрешить трафик на порт 4369.

В случае, если вы сталкиваетесь с проблемами при работе с EPMD, например, если узлы не могут обнаружить друг друга, стоит проверить, запущен ли EPMD и правильно ли настроены сетевые правила. Также полезно просмотреть логи EPMD, которые могут дать подсказки о причинах проблем. Логи можно найти в стандартном выводе консоли, где был запущен EPMD.

В заключение, порт 4369 (TCP) и EPMD играют ключевую роль в экосистеме Erlang, обеспечивая эффективное взаимодействие между узлами. Правильная настройка и понимание работы EPMD помогут вам избежать распространенных проблем и оптимизировать производительность ваших распределенных приложений.

Больше по теме

Источники

Часто задаваемые вопросы

Открыт ли порт 4369 по умолчанию?

Нет, современные cloud-провайдеры (AWS, Google Cloud, Yandex) закрывают все входящие порты по default. Нужно явно разрешить порт 4369 в Security Group или firewall.

Как проверить, открыт ли порт 4369?

Используйте Ping + Port Checker Enterno.io. Или в shell: nc -vz example.com 4369.

Безопасно ли открывать порт 4369?

Зависит от сервиса. Erlang Port Mapper Daemon никогда не должен открываться публично без аутентификации + TLS. См. наше исследование exposure 2026.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.