↓ До тексту

Dnsdist

dnsdist: захист від флуду TCP-зʼєднань

·5 хвилин
У частині 4 ми різали UDP-флуд запитами. Але атака буває по TCP-зʼєднаннях: мало запитів, багато конектів - і TCP-потоки сервера забиті. Ставимо в dnsdist ліміти зʼєднань: скільки одночасних з одного IP, скільки запитів на конект, скільки конект живе. Наживо відкриваємо 60 зʼєднань з однієї машини й бачимо, як їх ріже до 5, а чесний клієнт не помічає.

dnsdist проти флуду: rate-limit і динамічні блоки

Резолвери заливають authoritative-сервер запитами, і pdns захлинається. Ставимо захист у dnsdist: ліміт на IP з форсуванням TCP проти спуфленого UDP і динамічні блоки, що тимчасово банять абʼюзера. Заливаємо сервер наживо з сусідньої машини - потік падає з 800 до ~100 запитів/с, а чесний клієнт не помічає. Частина серії про відмовостійкий authoritative DNS.

dnsdist: балансування і failover для PowerDNS

·6 хвилин
dnsdist перед кожним pdns: балансування на локальний бекенд, резервний сусід по приватній мережі, health-check і автоматичне виведення хворої ноди. Вимикаємо pdns наживо - запити далі резолвляться через сусіда. Плюс кеш пакетів. Двопанельний запис. Третя частина серії про відмовостійкий authoritative DNS.