Knowledge Base

Memcached открыт публично (порт 11211)

Memcached открыт публично — порт 11211

Категория: Server Hardening · Риск: critical

Memcached открыт публично — порт 11211

Двойная угроза

Открытый Memcached представляет **две независимые критические угрозы**:

1. Утечка кешированных данных

Memcached **не имеет аутентификации** по умолчанию. Любой может:

# Подключиться и читать кеш
echo "stats items" | nc -q 1 <IP> 11211

# Получить все ключи
echo "stats cachedump 1 100" | nc -q 1 <IP> 11211

# Прочитать значение по ключу
echo "get session:user:12345" | nc -q 1 <IP> 11211
# Вернёт: данные сессии пользователя, JWT токены, кешированные пароли

2. Использование как DDoS-амплификатор

Memcached UDP (порт 11211) давал коэффициент усиления **~50 000x**:

Немедленное исправление

# 1. Закрыть порт файрволом
ufw deny 11211

# 2. Привязать только к localhost
# /etc/memcached.conf
-l 127.0.0.1  # только localhost
-U 0           # отключить UDP (обязательно!)

systemctl restart memcached

Docker Compose

# НЕПРАВИЛЬНО:
services:
  memcached:
    ports:
      - "11211:11211"  # ← убрать

# ПРАВИЛЬНО:
  memcached:
    expose:
      - "11211"     # только внутри Docker сети

Включить аутентификацию (SASL)

# /etc/memcached.conf
-S  # включить SASL аутентификацию

# Потребуется libmemcached с SASL-поддержкой на клиентах

Проверка после исправления

# Извне должно быть "Connection refused"
nc -zv <PUBLIC_IP> 11211

# UDP также должен быть закрыт
echo "version" | nc -u -q 1 <PUBLIC_IP> 11211

Связанные проверки