mitigation.pw
На главную
MITIGATION / ДОКУМЕНТАЦИЯ

Документация Mitigation

Редакция: 15.10.2026

Mitigation защищает сайты и API, работающие по HTTP и HTTPS, от DDoS-атак и ботов. Ваш сайт остаётся на прежнем хостинге: вы направляете A-запись домена на адрес Mitigation, а мы принимаем трафик, отсеиваем атаку и передаём чистые запросы на ваш сервер (origin).

1. Быстрый старт

Подключение занимает около пяти минут: аккаунт, тариф, домен, одна DNS-запись. Сертификат выпускается автоматически.

1.1 Создайте аккаунт и выберите тариф

Зарегистрируйтесь на /register и подтвердите email по ссылке из письма. В кабинете откройте «Тарифы и оплата», пополните баланс и оплатите тариф на 30, 90 или 365 дней. Без активного тарифа домен не подключается к защите.

1.2 Добавьте домен

В разделе «Домены» укажите имя домена (например, example.com) и адрес вашего сервера — origin: https://203.0.113.10 или https://origin.example.net:8443. Требования к origin:

  • публичный IP-адрес или имя, которое разрешается в публичный адрес (частные и локальные адреса запрещены);
  • схема http или https, порт любой; путь, логин и пароль в адресе не допускаются;
  • origin не может совпадать с защищаемым доменом.

Количество доменов зависит от тарифа: Start — 1, Plus — 3, Pro — 10.

1.3 Подтвердите владение и измените DNS

Кабинет покажет две записи:

ЗаписьИмяЗначениеЗачем
Aexample.comадрес Mitigation из кабинетанаправляет трафик через защиту
TXT_mitigation.example.comтокен из кабинетаподтверждает владение заранее, до переключения A-записи

Достаточно одной из двух: владение подтверждается либо TXT-записью, либо A-записью, уже указывающей на Mitigation. Проверка выполняется автоматически раз в минуту, кнопка «Проверить» в карточке домена запускает её сразу. Удалите все остальные A/AAAA-записи этого имени — иначе часть посетителей пойдёт в обход защиты (кабинет предупредит об этом). Если DNS обслуживает провайдер с собственным проксированием, включите для записи режим «только DNS».

1.4 Сертификат и проверка

Сертификат Let's Encrypt выпускается автоматически, как только домен подтверждён и A-запись указывает на Mitigation, и продлевается сам. Откройте сайт по HTTPS — он должен загрузиться как обычно. Статус домена, текущая нагрузка и атаки видны в кабинете.

1.5 Закройте прямой доступ к origin

Атакующий, который знает реальный адрес вашего сервера, может обойти защиту. После подключения разрешите входящие соединения на порты 80/443 только с адреса Mitigation (он указан в кабинете), например:

ufw allow from <адрес Mitigation> to any port 443 proto tcp
ufw allow from <адрес Mitigation> to any port 80 proto tcp
ufw deny 80/tcp
ufw deny 443/tcp

Если адрес сервера раньше был публичным, по возможности смените его. Реальный IP посетителя передаётся в заголовках X-Real-IP и X-Forwarded-For.

2. Как работает защита

Трафик проходит несколько уровней фильтрации. Режимы включаются автоматически — во время атаки ничего переключать не нужно.

2.1 Edge-узел

Посетитель подключается к edge-узлу Mitigation. TLS завершается у нас (TLS 1.2 и 1.3). Поддерживаются HTTP/1.1, HTTP/2 и WebSocket. Чистые запросы уходят на ваш origin по указанной схеме, адрес origin скрыт от посетителей. Изменения настроек домена применяются за несколько секунд без перерыва в работе.

2.2 Уровни фильтрации

  • L3–L4 — постоянная защита сетевого уровня от SYN-, UDP- и других объёмных атак на стороне площадки.
  • Ядро (nftables) — атакующие адреса блокируются в ядре ещё до установки соединения. Повторные нарушения увеличивают срок бана; если атака идёт с многих адресов одной подсети /24, блокируется подсеть целиком.
  • Mitigation Guard — собственный модуль на Rust читает поток запросов в реальном времени и банит источник в течение секунды: за превышение частоты запросов, за продолжение атаки после отказов 429/503 и за некорректные запросы (неизвестные методы, битые заголовки).
  • L7-лимиты — ограничения частоты запросов и числа одновременных соединений на каждого посетителя, ограничение размера запроса и времени ожидания, защита от медленных соединений.
  • Детектор атак — следит за нагрузкой на каждый домен и сам включает проверку браузера, когда домен атакуют, и выключает её, когда нагрузка возвращается к норме.

2.3 Проверка браузера во время атаки

Проверка показывается, только когда домен находится под атакой (или включён жёсткий уровень защиты). Это невидимая проверка: браузер за 1–3 секунды решает вычислительную задачу (proof-of-work, SHA-256), без капчи и кликов. Пройдя её, браузер получает cookie-пропуск mitigation_pow на 6 часов, привязанный к IP-адресу посетителя. Скрипты и боты без полноценного браузера проверку не проходят.

Учтите: во время атаки проверку получают все запросы к домену, включая запросы программ к API. Если ваш API вызывается не из браузера, вынесите его на отдельный домен с уровнем защиты «мягкий» (см. 2.4) или сообщите нам в поддержку.

2.4 Уровни защиты домена

На тарифах Plus и Pro в карточке домена можно выбрать уровень:

  • Мягкий — проверка браузера включается при вдвое большей нагрузке, чем обычно. Подходит для API и сервисов с большим числом автоматических клиентов.
  • Обычный (по умолчанию) — рекомендуемый баланс.
  • Жёсткий — проверка браузера включена постоянно, даже без атаки.

2.5 Лимиты тарифов

ПараметрStartPlusPro
Лимит запросов и соединений на доменбез лимитабез лимитабез лимита
Максимальный размер запроса1 ГБ1 ГБ1 ГБ
Порог включения проверки браузера (запросов/с на домен)600600600
Кэш статики—дада

Тариф не ограничивает трафик сайта: сколько бы живых посетителей ни пришло, они проходят. Большие файлы передаются на origin потоком, без промежуточной записи. Отдельно, одинаково на всех тарифах, работает защита от флуда с одного адреса: больше 200 запросов в секунду (всплеск до 800) или 256 одновременных соединений с одного IP получают ответ 429. Если источник продолжает слать запросы после отказов, Mitigation Guard блокирует его в ядре.

3. Кэш статики

На тарифах Plus и Pro edge-узел кэширует статические файлы: CSS, JS, изображения, шрифты, видео (css, js, mjs, png, jpg, gif, svg, ico, webp, avif, woff, woff2, ttf, otf, eot, mp4, webm, map). HTML-страницы и ответы API не кэшируются. Результат виден в заголовке ответа X-Cache: HIT | MISS | EXPIRED | STALE. Если origin временно недоступен, может отдаваться последняя сохранённая копия файла. После выкладки новой версии сайта используйте версионирование имён файлов (например, app.3f2a1c.js).

4. Личный кабинет

  • Обзор — состояние доменов, атаки за последние сутки.
  • Домены — добавление, DNS-инструкция, статус проверки, текущая нагрузка, уровень защиты, адрес origin и его доступность.
  • Тарифы и оплата — баланс, оплата на 30, 90 (−10 %) или 365 дней (−20 %), переход на тариф выше с доплатой за остаток срока, отмена с возвратом неиспользованных дней на баланс, история операций.
  • Обращения — переписка с поддержкой.
  • Уведомления — события по доменам, атакам и оплате.
  • Профиль — имя, email, язык. Пароль меняется через «Забыли пароль?» на странице входа — это завершает все сессии.

4.1 Статусы домена

  • Проверка DNS — владение ещё не подтверждено.
  • Активен — домен подтверждён, тариф действует, трафик идёт через защиту.
  • Отключён — нет активного тарифа или превышен лимит доменов тарифа.
  • Отклонён — домен отклонён администрацией (например, по правилам использования).

4.2 Письма

Mitigation присылает письма о подтверждении домена, о начале и окончании атаки (с пиковой нагрузкой и длительностью) и о событиях оплаты. Письма приходят с адреса noreply@mitigation.pw.

5. Безопасность аккаунта

  • Пароль — от 8 до 128 символов; хранится только в виде хэша PBKDF2-SHA256.
  • После 5 неудачных попыток входа на один email или 20 с одного IP вход блокируется на 15 минут.
  • Сессия хранится в cookie HttpOnly; Secure; SameSite=Lax и действует 30 дней. Смена пароля завершает все сессии.
  • Ссылки из писем одноразовые: подтверждение email действует 24 часа, восстановление пароля — 1 час.

6. FAQ

Нужно ли включать защиту во время атаки? Нет, режимы включаются автоматически.

Есть ли бесплатный тариф или тест? Нет. Вместо этого в течение 7 дней с начала первого оплаченного периода можно отказаться с полным возвратом — см. /refund.

Можно ли загрузить свой сертификат? Пока нет, сертификаты Let's Encrypt выпускаются автоматически.

Защищаете ли вы игровые серверы и TCP/UDP-сервисы? Нет, только HTTP и HTTPS.

Есть ли WAF с сигнатурами (SQL-инъекции, XSS)? Нет. Mitigation отражает DDoS и ботов; защищать приложение от уязвимостей нужно на стороне сайта.

Сколько стоит отражение большой атаки? Ничего сверх тарифа: объём атаки не влияет на цену.

Видят ли поисковые роботы проверку браузера? Только когда домен под атакой. В обычном режиме роботы индексируют сайт как обычно.

7. Устранение неполадок

  • Сайт не открывается после смены DNS. Проверьте статус домена в кабинете и A-запись. Изменения DNS распространяются с учётом TTL — до нескольких часов.
  • Ошибка сертификата. Сертификат выпускается только для подтверждённого домена, A-запись которого указывает на Mitigation. Выпуск занимает до нескольких минут после проверки DNS.
  • Ошибка 502 или 504. Mitigation не может достучаться до origin: проверьте, что сервер работает, порт открыт для адреса Mitigation и отвечает быстрее 60 секунд.
  • Ошибка 413. Запрос больше лимита тарифа (32 / 64 / 128 МБ).
  • Ошибка 429 или 503. С одного IP пришло больше 200 запросов в секунду или 256 одновременных соединений — так ведёт себя бот, а не человек.
  • Посетители видят проверку браузера. Домен под атакой — это нормально. Для API и автоматических клиентов выберите мягкий уровень защиты.
  • Посетители получают обрыв соединения. Их IP мог быть временно заблокирован за слишком частые запросы. Напишите в поддержку адрес и время — мы проверим.

С другими вопросами пишите в раздел «Обращения» в кабинете или на support@mitigation.pw.

MITIGATION / DOCUMENTATION

Mitigation documentation

Revision: 15.10.2026

Mitigation protects websites and APIs served over HTTP and HTTPS from DDoS attacks and bots. Your site stays with your current host: you point the domain's A record at Mitigation, we accept the traffic, filter out the attack and pass clean requests on to your server (the origin).

1. Quick start

Setup takes about five minutes: an account, a plan, a domain and one DNS record. The certificate is issued automatically.

1.1 Create an account and choose a plan

Sign up at /register and confirm your email with the link we send you. In the dashboard, open "Plans and billing", top up your balance and pay for a plan for 30, 90 or 365 days. A domain is not connected to protection without an active plan.

1.2 Add the domain

In "Domains", enter the domain name (for example example.com) and your server address — the origin: https://203.0.113.10 or https://origin.example.net:8443. Origin requirements:

  • a public IP address or a name that resolves to a public address (private and local addresses are rejected);
  • http or https scheme, any port; a path, user name or password in the address is not allowed;
  • the origin cannot be the protected domain itself.

The number of domains depends on the plan: Start — 1, Plus — 3, Pro — 10.

1.3 Prove ownership and update DNS

The dashboard shows two records:

RecordNameValuePurpose
Aexample.comthe Mitigation address from the dashboardroutes traffic through protection
TXT_mitigation.example.comthe token from the dashboardproves ownership in advance, before the A record is switched

One of them is enough: ownership is proven either by the TXT record or by an A record that already points at Mitigation. The check runs automatically once a minute; the "Check" button on the domain card runs it immediately. Remove every other A/AAAA record for the name — otherwise part of the visitors bypass protection (the dashboard warns you about it). If your DNS provider proxies traffic itself, switch the record to "DNS only".

1.4 Certificate and check

A Let's Encrypt certificate is issued automatically as soon as the domain is verified and its A record points at Mitigation, and it renews by itself. Open the site over HTTPS — it should load as usual. Domain status, current load and attacks are shown in the dashboard.

1.5 Close direct access to the origin

An attacker who knows your server's real address can bypass protection. After setup, allow inbound connections on ports 80/443 only from the Mitigation address (shown in the dashboard), for example:

ufw allow from <Mitigation address> to any port 443 proto tcp
ufw allow from <Mitigation address> to any port 80 proto tcp
ufw deny 80/tcp
ufw deny 443/tcp

If the server address used to be public, change it if you can. The visitor's real IP is passed in the X-Real-IP and X-Forwarded-For headers.

2. How protection works

Traffic passes several filtering layers. Modes switch on automatically — there is nothing to toggle during an attack.

2.1 Edge node

Visitors connect to the Mitigation edge node. TLS terminates with us (TLS 1.2 and 1.3). HTTP/1.1, HTTP/2 and WebSocket are supported. Clean requests go to your origin using the scheme you configured; the origin address stays hidden from visitors. Domain setting changes apply within seconds without interruption.

2.2 Filtering layers

  • L3–L4 — always-on network-level protection against SYN, UDP and other volumetric attacks at the hosting provider.
  • Kernel (nftables) — attacking addresses are blocked in the kernel before a connection is even established. Repeat offences extend the ban; when an attack comes from many addresses in one /24 subnet, the whole subnet is blocked.
  • Mitigation Guard — our own Rust module reads the request stream in real time and bans a source within a second: for exceeding the request rate, for continuing after 429/503 refusals and for malformed requests (unknown methods, broken headers).
  • L7 limits — per-visitor request-rate and concurrent-connection limits, request size and timeout limits, slow-connection protection.
  • Attack detector — watches the load on every domain, switches the browser check on when the domain is attacked and off when the load returns to normal.

2.3 Browser check during an attack

The check is shown only while the domain is under attack (or the strict level is selected). It is invisible: within 1–3 seconds the browser solves a computational puzzle (proof-of-work, SHA-256) with no captcha and no clicks. After passing it, the browser receives the mitigation_pow pass cookie for 6 hours, bound to the visitor's IP address. Scripts and bots without a full browser do not pass.

Note: during an attack every request to the domain gets the check, including API calls made by programs. If your API is not called from a browser, move it to a separate domain with the "soft" protection level (see 2.4) or contact support.

2.4 Domain protection levels

On Plus and Pro you can choose the level on the domain card:

  • Soft — the browser check switches on at twice the usual load. Suitable for APIs and services with many automated clients.
  • Normal (default) — the recommended balance.
  • Strict — the browser check is always on, even without an attack.

2.5 Plan limits

ParameterStartPlusPro
Request and connection limit per domainunlimitedunlimitedunlimited
Maximum request size1 GB1 GB1 GB
Browser check threshold (requests/s per domain)600600600
Static cache—yesyes

Plans do not cap your site's traffic: however many real visitors arrive, they get through. Large files stream to the origin without being stored on the way. Separately, and the same on every plan, a per-address flood guard applies: more than 200 requests per second (bursts up to 800) or 256 concurrent connections from one IP get a 429 response. If the source keeps sending requests after refusals, Mitigation Guard blocks it in the kernel.

3. Static cache

On Plus and Pro the edge node caches static files: CSS, JS, images, fonts, video (css, js, mjs, png, jpg, gif, svg, ico, webp, avif, woff, woff2, ttf, otf, eot, mp4, webm, map). HTML pages and API responses are never cached. The result is shown in the X-Cache: HIT | MISS | EXPIRED | STALE response header. If the origin is temporarily down, the last stored copy of a file may be served. When you release a new version of the site, use versioned file names (for example app.3f2a1c.js).

4. Dashboard

  • Overview — domain state and attacks over the last day.
  • Domains — adding, DNS instructions, verification status, current load, protection level, origin address and its reachability.
  • Plans and billing — balance, payment for 30, 90 (−10%) or 365 days (−20%), upgrade with a top-up for the remaining term, cancellation with unused days refunded to the balance, transaction history.
  • Support — conversations with support.
  • Notifications — domain, attack and billing events.
  • Profile — name, email, language. The password is changed via "Forgot password?" on the sign-in page — this ends all sessions.

4.1 Domain statuses

  • DNS check — ownership is not proven yet.
  • Active — the domain is verified, the plan is active, traffic goes through protection.
  • Disabled — no active plan, or the plan's domain limit is exceeded.
  • Rejected — the domain was rejected by the administration (for example under the acceptable use policy).

4.2 Emails

Mitigation emails you when a domain is verified, when an attack starts and ends (with peak load and duration) and about billing events. Emails come from noreply@mitigation.pw.

5. Account security

  • Passwords are 8 to 128 characters long and stored only as a PBKDF2-SHA256 hash.
  • After 5 failed sign-in attempts for one email or 20 from one IP, sign-in is locked for 15 minutes.
  • The session lives in an HttpOnly; Secure; SameSite=Lax cookie and lasts 30 days. Changing the password ends all sessions.
  • Email links are single-use: email confirmation is valid for 24 hours, password recovery for 1 hour.

6. FAQ

Do I need to turn protection on during an attack? No, the modes switch on automatically.

Is there a free plan or trial? No. Instead, within 7 days of the start of the first paid period you can cancel for a full refund — see /refund.

Can I upload my own certificate? Not yet; Let's Encrypt certificates are issued automatically.

Do you protect game servers and TCP/UDP services? No, only HTTP and HTTPS.

Is there a signature WAF (SQL injection, XSS)? No. Mitigation stops DDoS and bots; protecting the application from vulnerabilities is done on the site side.

How much does mitigating a large attack cost? Nothing beyond the plan: attack volume does not affect the price.

Do search engine bots see the browser check? Only while the domain is under attack. Normally bots index the site as usual.

7. Troubleshooting

  • The site does not open after the DNS change. Check the domain status in the dashboard and the A record. DNS changes propagate according to the TTL — up to a few hours.
  • Certificate error. A certificate is issued only for a verified domain whose A record points at Mitigation. Issuance takes up to a few minutes after the DNS check.
  • Error 502 or 504. Mitigation cannot reach the origin: check that the server is running, the port is open for the Mitigation address and it answers within 60 seconds.
  • Error 413. The request is larger than the plan limit (32 / 64 / 128 MB).
  • Error 429 or 503. One IP sent more than 200 requests per second or opened 256 concurrent connections, which is how a bot behaves, not a person.
  • Visitors see the browser check. The domain is under attack — this is expected. For APIs and automated clients choose the soft protection level.
  • Visitors get dropped connections. Their IP may be temporarily blocked for sending requests too often. Send the address and time to support and we will check.

For anything else, write in "Support" in the dashboard or to support@mitigation.pw.