Port 2379 (etcd): What It Is & Security Guide

May 16, 2026
Updated May 16, 2026 Port Security Guides port 2379 etcd port 2379 security what is port 2379 open port 2379 etcd security Kubernetes etcd etcd vulnerabilities secure etcd etcd hardening

What is Port 2379 (etcd)?

In the complex landscape of modern distributed systems, certain components hold the keys to the entire kingdom. TCP port 2379 is one such critical gateway, primarily associated with etcd – a distributed reliable key-value store that serves as the backbone for many high-availability systems, most notably Kubernetes. Understanding what port 2379 is, why it's used, and its profound security implications is paramount for anyone involved in system administration, cybersecurity, or cloud infrastructure management.

At its core, etcd provides a consistent and highly available way to store configuration data, state information, and metadata for distributed applications. Think of it as the brain of your Kubernetes cluster, where all vital information about pods, services, deployments, and secrets resides. When you interact with Kubernetes, whether creating a new deployment or scaling a service, those changes are ultimately stored and managed by etcd. Port 2379 is the default client-facing port through which applications and services communicate with the etcd cluster to read and write this critical data.

The immense importance of etcd makes port 2379 a prime target for attackers. An exposed or poorly secured etcd instance can grant an adversary complete control over the entire distributed system it supports, leading to data breaches, service disruption, privilege escalation, and even full system compromise. This guide will delve into the technical specifics of port 2379, explore the severe security risks associated with its exposure, and provide actionable steps to harden your etcd deployments against potential threats.

Want to check your site right now?

Port Scanner →  ·  Website Vulnerability Scanner

Port 2379 Technical Details

To fully grasp the security implications of port 2379, it's essential to understand the technical underpinnings of etcd and how this port facilitates its operation. etcd is designed to be a consistent and fault-tolerant data store, achieving this through the Raft consensus algorithm. This algorithm ensures that all members of an etcd cluster agree on the state of the data, even in the event of node failures.

AttributeDetail
Port Number2379
ProtocolTCP
Serviceetcd (Client-facing)
Risk LevelCritical
Default UseClient communication with etcd server
Associated Port2380 (etcd peer communication)

Port 2379 is specifically designated for client-to-server communication. This means any application or service that needs to read from or write to the etcd store will attempt to connect to the etcd server on TCP port 2379. In a Kubernetes environment, the Kubernetes API server is the primary client that communicates with etcd via this port. It stores all cluster state, including:

  • Cluster Configuration: Details about nodes, namespaces, and resource quotas.
  • Object Definitions: Specifications for pods, deployments, services, and other Kubernetes objects.
  • Secrets and ConfigMaps: Sensitive data and configuration injected into applications.
  • State Information: Current status of running applications and their desired state.

The communication over port 2379 typically involves HTTP/2, often secured with Transport Layer Security (TLS) to encrypt data in transit and authenticate clients and servers. However, misconfigurations or a lack of proper security measures can leave this crucial communication channel vulnerable. While port 2379 handles client requests, it's important to note that etcd clusters also use TCP port 2380 for peer-to-peer communication between etcd members, which is equally critical to secure for cluster integrity.

Given that etcd holds the authoritative state for an entire distributed system, any compromise of the service listening on port 2379 can have catastrophic consequences. It's not just about data exposure; it's about control over the entire environment.

Security Risks of Open Port 2379

The exposure of TCP port 2379, especially without robust security controls, represents a critical vulnerability for any system relying on etcd. Attackers who gain unauthorized access to an etcd instance can effectively take over the entire distributed system it manages, including Kubernetes clusters. The risks are not theoretical; they are well-documented and have been exploited in real-world scenarios. Here are the primary security risks:

Common Attacks on Port 2379

Attackers employ various techniques to exploit exposed or weakly secured etcd instances. Understanding these common attack vectors is crucial for implementing effective defenses.

How to Check if Port 2379 is Open

Identifying whether port 2379 is open on your systems is the first crucial step in assessing your security posture. There are several methods, ranging from command-line tools to online scanners. It's important to check both from within your network and from external vantage points to understand potential exposure.

Using Nmap (Command-Line Tool)

Nmap (Network Mapper) is a free and open-source utility for network discovery and security auditing. It's the go-to tool for checking open ports.

To check a single target:

nmap -p 2379 target.com

Replace target.com with the IP address or hostname of the server you want to check. If the port is open, Nmap's output will show something like:

PORT     STATE SERVICE
2379/tcp open etcd-client

If it's closed or filtered, the state will reflect that:

PORT     STATE SERVICE
2379/tcp closed etcd-client

To check a range of IPs or multiple targets:

nmap -p 2379 192.168.1.0/24

This command scans all IP addresses in the 192.168.1.0/24 subnet for port 2379.

Using Netcat (nc)

Netcat is a simple networking utility that can also be used to check port status:

nc -vz target.com 2379

A successful connection attempt indicates the port is open.

Using Online Port Scanners

For a quick external check, online port scanners can be invaluable. They scan your public IP address from the internet, showing you what ports are accessible from outside your network. You can easily check port 2379 with our free online tool:

Scan port 2379 with our free tool

Simply enter your public IP address or domain name, specify port 2379, and the scanner will report its status from an external perspective. This is particularly useful for identifying unintended external exposure.

Checking Local Listening Ports

To see if etcd is listening on port 2379 on a Linux server, you can use `ss` or `netstat`:

sudo ss -tuln | grep 2379

Or with `netstat` (you might need to install it):

sudo netstat -tuln | grep 2379

If etcd is running and listening, you'll see an entry like:

tcp    LISTEN     0      128    0.0.0.0:2379           0.0.0.0:*

This indicates that etcd is listening on all available network interfaces (0.0.0.0) on port 2379. Ideally, it should only listen on specific internal IP addresses or the loopback interface if accessed via a proxy.

Free Security Tools

Scan your website, check open ports, find subdomains — no signup required.

See all tools →

How to Secure Port 2379

Securing port 2379 and your etcd cluster is not optional; it's a fundamental requirement for the integrity and security of your distributed systems. Given etcd's critical role, a multi-layered defense strategy is essential. Here are the key steps to harden your etcd deployment:

When Should Port 2379 Be Open?

Port 2379 should only be open to specific, trusted entities within your private network. It should never be directly exposed to the public internet. The legitimate use cases for port 2379 being open are strictly limited to the clients that need to interact with the etcd key-value store. These typically include:

  • Kubernetes API Servers: In a Kubernetes cluster, the API server is the primary client of etcd. It reads and writes all cluster state, configuration, and object definitions to etcd via port 2379. Without this access, the Kubernetes control plane cannot function.
  • Other etcd Cluster Members: While peer communication primarily happens on port 2380, in some configurations or for specific management tasks, other etcd members might need to communicate with a leader on port 2379, though this is less common for standard operations.
  • Specific Management Tools or Services: In highly controlled environments, certain internal management tools, backup solutions, or monitoring agents might require read-only or limited access to etcd via port 2379. This access must be highly restricted and authenticated.
  • Internal Load Balancers or Proxies: If you are running etcd behind an internal load balancer or proxy (e.g., an HAProxy or NGINX instance), then port 2379 would be open to that proxy, which then forwards requests to the etcd cluster. The proxy itself must be secured.

In all these legitimate scenarios, access must be tightly controlled through firewalls, network segmentation, and strong authentication (preferably mTLS). Any other scenario where port 2379 is open, especially to broad internal networks or the internet, indicates a severe security misconfiguration that needs immediate attention.

Is port 2379 dangerous?

Yes, port 2379 is extremely dangerous if left open and unsecured. It provides direct access to the etcd key-value store, which often contains the entire state and configuration of critical distributed systems like Kubernetes clusters. Unauthorized access can lead to complete system compromise, data theft, data manipulation, or denial of service. It should be treated as a highly sensitive port.

Should I close port 2379?

You should restrict access to port 2379 as much as possible, rather than outright closing it if you are running an etcd service. Closing it would prevent legitimate clients (like the Kubernetes API server) from functioning. Instead, implement strict firewall rules to allow access ONLY from trusted internal IP addresses or subnets, and always enforce strong authentication (mTLS) and authorization (RBAC) for any allowed connections.

How do I block port 2379?

You can block port 2379 using firewall rules on your server. Here are examples for Linux using iptables and ufw:

Using iptables (Linux Firewall)

To block all incoming connections to port 2379:

sudo iptables -A INPUT -p tcp --dport 2379 -j DROP

To allow access only from a specific IP address (e.g., 192.168.1.100) and block all others:

sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 2379 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2379 -j DROP

Remember to save your iptables rules after making changes (e.g., sudo netfilter-persistent save or using your distribution's specific method).

Using UFW (Uncomplicated Firewall - for Ubuntu/Debian)

To block all incoming connections to port 2379:

sudo ufw deny 2379/tcp

To allow access only from a specific IP address (e.g., 192.168.1.100) to port 2379:

sudo ufw allow from 192.168.1.100 to any port 2379 proto tcp

Ensure UFW is enabled: sudo ufw enable.

Always test your firewall rules carefully to avoid locking yourself out or disrupting legitimate services.

What runs on port 2379 by default?

By default, TCP port 2379 is used by the etcd service for client-to-server communication. etcd is a distributed reliable key-value store often used as the primary data store for Kubernetes clusters, storing all cluster state and configuration. Other applications or services that need to interact with an etcd cluster will attempt to connect to it on this port.

How does etcd secure port 2379?

etcd secures port 2379 primarily through:

  • TLS Encryption: Encrypting all data in transit.
  • Client Certificate Authentication (mTLS): Requiring clients to present valid certificates signed by a trusted CA to prove their identity.
  • Role-Based Access Control (RBAC): Defining granular permissions for authenticated clients to control what data they can read or write.
  • Network Firewalls: Restricting network access to port 2379 to only trusted internal IP addresses or subnets.

These measures, when properly configured, form a strong defense against unauthorized access.

Scan for these vulnerabilities

Secably automatically detects the issues discussed in this article.

Start Free Scan