Skip to content

Port 4369: Erlang Port Mapper Daemon

Key idea:

Port 4369 (TCP) is the standard for Erlang Port Mapper Daemon. EPMD — Erlang Port Mapper Daemon. Port 4369 — service discovery for Erlang/Elixir/RabbitMQ clusters. When left open — attacker can enumerate every Erlang node and attempt a c

Below: what uses this port, security considerations, online check, FAQ.

Check your host & ports →

What runs on this port

Erlang Port Mapper Daemon

EPMD — Erlang Port Mapper Daemon. Port 4369 — service discovery for Erlang/Elixir/RabbitMQ clusters. When left open — attacker can enumerate every Erlang node and attempt a cluster join.

Security considerations

EPMD exposed publicly — critical. Known botnets brute-force Erlang cookie for RCE. Firewall 4369 + strict Erlang cookie (>20 random chars).

Check this port online

Check port online →

Enterno.io Ping + Port checker tests TCP reachability of any port from 3 regions (Moscow / Frankfurt / Virginia).

Understanding the Role of EPMD in Erlang Clusters

Port 4369 (TCP) is primarily utilized by the Erlang Port Mapper Daemon (EPMD), which plays a crucial role in the service discovery process for Erlang-based applications. EPMD facilitates the communication between nodes in an Erlang cluster by mapping node names to their respective port numbers.

When an Erlang node starts, it registers itself with EPMD, providing its name and the port on which it will listen for incoming connections. This registration allows other nodes to discover it by querying EPMD, thus enabling seamless inter-node communication.

For example, when a new node joins an Erlang cluster, it sends a request to the EPMD running on port 4369, which records the node's details. Subsequently, any other nodes wishing to connect can query EPMD to retrieve the necessary information. This process is critical for maintaining the integrity and functionality of distributed applications built on Erlang, Elixir, or RabbitMQ.

In a high-availability setup, multiple instances of EPMD can be configured to ensure redundancy. However, it’s essential to secure port 4369 to prevent unauthorized access and potential enumeration attacks.

Practical Commands for Managing EPMD

Managing EPMD effectively is vital for maintaining the health of your Erlang cluster. Below are some practical commands and configurations to help you work with EPMD and port 4369.

  • Starting EPMD: To start EPMD, you can use the following command:
epmd -daemon

This command runs EPMD as a background daemon, listening on port 4369.

  • Querying EPMD: To retrieve a list of registered Erlang nodes, you can use:
epmd -names

This will return the names and port numbers of all registered nodes, which is useful for debugging and monitoring.

  • Stopping EPMD: If you need to stop the EPMD process, you can do so with:
epmd -kill

This command terminates the EPMD daemon, which is useful during maintenance or configuration changes.

  • Configuring EPMD: To run EPMD on a different port, you can specify the port number as follows:
epmd -daemon -port 12345

This command will start EPMD on port 12345 instead of the default 4369, which can help mitigate security risks.

These commands are essential for anyone managing an Erlang or Elixir cluster, ensuring that EPMD operates smoothly and securely.

Security Considerations for Port 4369

Leaving port 4369 (TCP) open can expose your Erlang cluster to various security vulnerabilities. Here are some critical security considerations to mitigate risks associated with the Erlang Port Mapper Daemon (EPMD):

  • Restrict Access: Use firewall rules to limit access to port 4369 only from trusted IP addresses. This prevents unauthorized users from querying EPMD.
  • Use VPNs: For enhanced security, consider using a Virtual Private Network (VPN) to restrict access to your Erlang nodes and EPMD. This adds an extra layer of security by encrypting the traffic.
  • Monitor Logs: Regularly monitor EPMD logs for any unusual activity. This can help in identifying unauthorized access attempts or enumeration attacks.
  • Implement Authentication: While EPMD does not support authentication by default, you can implement application-level authentication to ensure that only legitimate nodes can communicate with each other.
  • Use Network Segmentation: Isolate your Erlang nodes within a secure network segment, reducing the attack surface and minimizing exposure to potential threats.

By taking these precautions, you can significantly enhance the security of your Erlang cluster, ensuring that the communication between nodes remains protected and that your applications run smoothly.

Learn more

Sources

Frequently Asked Questions

Is port 4369 open by default?

No, modern cloud providers (AWS, Google Cloud, Yandex) close all incoming ports by default. You must explicitly allow port 4369 in a Security Group or firewall.

How to check if port 4369 is reachable?

Use Enterno Ping + Port Checker. Or in shell: nc -vz example.com 4369.

Is port 4369 safe to expose?

Depends on the service. Erlang Port Mapper Daemon should never be exposed publicly without authentication + TLS. See our 2026 exposure research.

Try the live tool that powered this guide

Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.