awesome-everything EN
↑ Обратно к восхождению

Сети и протоколы

Сетевая безопасность: чтение конфигов и логов

Суть Читайте реальный конфиг, сниппет распределённого rate-лимитера, настройку HTTP/2-сервера и строку лога WAF — предскажите поведение под атакой и выберите фикс с наибольшим рычагом.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Инциденты безопасности диагностируются в конфигах, коде лимитеров и строках логов — а не в слайдах. Читайте каждый артефакт, предсказывайте его поведение под атакой и выбирайте фикс, который сеньор сделает первым.

Цель

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

Сниппет 1 — sysctl против SYN-flood

# /etc/sysctl.d/hardening.conf
net.ipv4.tcp_max_syn_backlog = 4096
net.core.somaxconn          = 4096
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syncookies     = 0   # отключено
Викторина

Инженер «захардил» хост, увеличив SYN backlog до 4096, и оставил tcp_syncookies=0. Что происходит под спуфнутым SYN-flood и какой фикс имеет наибольший рычаг?

Сниппет 2 — распределённый token bucket

-- лимитер на запрос, вызывается на каждом хите API
local count = redis.call("INCR", key)
if count == 1 then
  redis.call("EXPIRE", key, window_seconds)
end
if count > limit then
  return DENY
end
return ALLOW
Викторина

Этот лимитер на Redis вызывается на каждом запросе по флоту app-серверов. Под атакой 100k req/sec в чём операционная проблема и какова стандартная митигация?

Сниппет 3 — конфиг HTTP/2-сервера

http2_max_concurrent_streams 128;
# нет лимита на rate создания / сброса стримов
keepalive_requests 100000;
Викторина

Этот конфиг ограничивает конкурентные стримы 128, но никогда не лимитирует rate создания стримов. Почему он остаётся уязвим к HTTP/2 Rapid Reset (CVE-2023-44487)?

Сниппет 4 — лог anomaly-score WAF

14:23 | req=45000/s  | score-p50=0.5 | score-p99=8.1  | threshold=5
14:24 | req=120000/s | score-p50=6.1 | score-p99=28.5 | threshold=5
14:25 | req=450000/s | score-p50=12.3| score-p99=32.1 | threshold=5
14:26 | blocked=380000 allowed=70000 | threshold=5
Викторина

Читая эту хронологию anomaly-scoring WAF (блок при score ≥ threshold=5), какое прочтение верно?

Итог

Любая защита читается в конфигах и логах. Больший SYN backlog — линейный запас; SYN cookies — структурный фикс. Лимитер на Redis корректен, но каждое решение — round-trip; митигируйте локальным быстрым путём плюс периодическая синхронизация. Лимиты конкурентности не останавливают Rapid Reset; нужно ограничивать rate создания стримов, включая сбросы. А лог anomaly WAF говорит сразу, сдвинулось ли распределение score в зону атаки и пропускает ли ваш порог трафик. Прочитайте артефакт, найдите разрыв между замыслом и поведением, почините самый рычажный первым.

Продолжить восхождение ↑Сетевая безопасность: пережить эшелонированный DDoS
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.