Защита приложений и API, которую не страшно включить
Placitum устанавливается перед сайтом, магазином, кабинетом или API и включается без риска: сначала наблюдает, потом блокирует — и по каждому решению показывает, кто решил, за что и на каком основании.
- Без блокировок вслепую. Новые правила сначала смотрят на живой трафик и блокируют только по вашей команде.
- Миллисекунды, не секунды. У каждой проверки есть лимит времени, и запрос не ждёт дольше него.
- Сбой проверки не роняет сайт. Для каждого отказа заранее задано, что делать: пропустить запрос или закрыть.
- Каждое решение объяснимо. Кто заблокировал, за что и сколько очков — в одной карточке.
- Вердикт
- заблокирован
- Очки
- 25/ 20
- Запрос
- POST shop.example.com /api/orders
- Тело
- {"coupon": "SALE' OR 1=1 --"}
- Клиент
- 203.0.113.77
Восемь угроз, от которых защищает Placitum
Под каждую — своя проверка со своими правилами. Включайте то, что нужно вашему бизнесу: выключенное не тратит ни ресурсов, ни времени на запрос.
Инъекции и известные атаки
SQL‑инъекции, XSS, выход за пределы каталога, подделка серверных запросовПравила OWASP Core Rule Set обновляются отдельно от сайта. Ложное срабатывание чинится исключением за минуты, а не выключением защиты.
Боты и парсеры
выкачивание каталога, цен, контентаСчётчик помнит, сколько объектов и данных унёс каждый адрес, сеть или сессия. По одному запросу парсера от покупателя не отличить — тысячу за минуту не спрятать.
Перебор паролей и захват аккаунтов
брутфорс, утёкшие пары логин‑парольОдноразовые коды, корпоративный каталог или список пользователей. Плюс капча при подозрении: «вы человек?» спрашиваем не у всех подряд, а только когда поведение даёт повод.
Злоупотребление API
лишние поля, чужие методы, кривые данныеСпецификация OpenAPI становится правилом допуска: лишнее поле, незнакомый метод, строка вместо числа — отказ. Никаких догадок, только соответствие схеме.
Перегрузка и флуд
атаки на уровне приложенияЧастота запросов по адресу, сети или ключу с автоматическим баном. Запросы с известных вредоносных адресов не доходят даже до проверок — это самая дешёвая защита из всех.
Нежелательные регионы и сети
страны, хостинг‑провайдеры, анонимные сетиСписки адресов, стран и сетей провайдеров пополняются на лету. Свои офисы, партнёры и мониторинг проходят мимо проверок целиком.
Утечки в ответах
персональные данные, служебные заголовкиОтвет приложения проходит свою проверку: чувствительные фрагменты и служебные заголовки вырезаются или заменяются до того, как их увидит клиент.
Атаки через WebSocket
чаты, торги, уведомленияКаждое сообщение в живом соединении проверяется отдельно, в обе стороны. Опасное отбрасывается, остальное идёт без задержки.
Каждый запрос проходит несколько проверок. До приложения доходит только чистый трафик.
- Быстрые проверки. Списки и лимиты — в памяти узла защиты, за микросекунды. Явно плохое отсекается здесь и не тратит ничьё время.
- Снимок запроса. Заголовки, параметры и тело — уже с замаскированными паролями и токенами — уходят сервисам проверок.
- Проверки по очереди. Сначала лёгкие, потом глубокие. Очки превысили порог — остальные не запускаются.
- Решение. Пропустить, показать страницу отказа или отправить на капчу. Приложение видит только чистый трафик.
- Проверка ответа и запись. Ответ приложения проходит свою проверку. Каждое решение попадает в журнал с полным разбором.
Офис, удалённые сотрудники, партнёры, интернет‑клиенты — у каждого свои правила
Правила задаются по источнику запроса и по разделу сайта. Для офиса набор проверок один, для публичного интернета — другой, и ни одно исключение не живёт в коде приложения.
| Откуда пришли | Как опознаём | Что происходит |
|---|---|---|
| Офисная сеть | Адреса офисов и корпоративного VPN в доверенном списке | Идут мимо проверок или по облегчённому набору — без капчи |
| Удалённые сотрудники | Вход через корпоративный каталог или список пользователей, плюс одноразовый код | Доступ только к нужным разделам, по группам. Сессию можно отозвать одним действием |
| Партнёры и интеграции | Список адресов партнёра и контракт API | Всё, что не по спецификации, — отказ. Лимит частоты, чтобы чужая ошибка не положила ваш сервис |
| Интернет‑клиенты | Публичный интернет, никаких доверенных признаков | Полный набор проверок: правила OWASP, счётчик поведения, капча при подозрении, лимиты |
| Нежелательные страны и сети | География, хостинг‑провайдеры, известные плохие адреса | Отказ выносится в памяти узла, до всех проверок |
Удалённые сотрудники
- Вход перед приложением. Ваше приложение не переписывается: второй фактор добавляется снаружи, а внутрь уходит имя вошедшего.
- Способ входа выбираете вы. Одноразовый код из приложения‑аутентификатора, пароль против корпоративного каталога по LDAP или NTLM, собственный список учётных записей.
- Доступ по группам. Бухгалтерия видит своё, разработка — своё. Права снимаются с группы, а не с каждого человека.
- Сессии под контролем. Срок жизни, отзыв, повторный вход по требованию — например, когда поведение стало подозрительным.
Сетевые ограничения
- Списки адресов и подсетей. Разрешающие и запрещающие. Постоянные ведёте вы, динамические пополняются автоматически.
- Страны и провайдеры. Целые регионы и сети хостинга закрываются одной строкой.
- Лимиты частоты. По адресу, сети или любому признаку запроса. Срабатывают до всех остальных проверок.
- По разделам. «Админка только из офиса», «API только партнёрам», «личный кабинет — всем, но со вторым фактором».
Парсер не получает каталог. Покупатель не видит капчу.
Бота выдаёт не отдельный запрос, а поведение. Система собирает несколько признаков и отвечает соразмерно: сначала считает, потом спрашивает, потом закрывает дверь.
Считаем, сколько унесли
По каждому адресу, сети и сессии — сколько карточек товара, страниц и мегабайт он получил. Тысяча карточек за минуту — не покупатель.
Смотрим, как ведёт себя браузер
Живой браузер подгружает картинки, стили и скрипты. Скрипт парсера — нет. Этот признак учитывается при решении, показывать ли капчу.
Спрашиваем только при подозрении
Капча появляется, когда поведение превысило порог, а не у всех подряд. Собственная капча без внешних сервисов либо Turnstile, reCAPTCHA, hCaptcha, SmartCaptcha.
Закрываем источник
Упорный источник или целая сеть хостинга попадают в запрещающий список на заданный срок — автоматически. Флуд режется лимитами ещё раньше.
Секреты не попадают ни в журналы, ни в ответы, ни к тем, кому не положено
Отбитая атака забывается, утёкшие данные не вернуть. Поэтому чувствительные данные закрываются на каждом шаге: до проверки, в журнале, в ответе клиенту и в хранилище.
Маскирование в журналах
Пароли, токены, номера карт и значения cookie заменяются до того, как запрос увидит хоть одна проверка. Встроенный список секретов дополняется вашим.
- Три режима для каждого поля: сохранить как есть · заменить значение хешем · не сохранять вовсе
- В событии видно, что поле было — и что оно замаскировано
- Оригинал — отдельно, только по явному решению и со своим сроком хранения
Маскирование ответов
То, что уходит клиенту, тоже правится: версии серверов и внутренние заголовки вырезаются, номера карт, телефоны и служебные идентификаторы в теле заменяются по шаблону.
- Правила по коду ответа и типу содержимого: шаблон для JSON не трогает страницы
- Работает либо всегда, либо по сигналу другой проверки — подозрительному клиенту показываем меньше
- Работает и для сообщений WebSocket
Хранение под контролем
Срок хранения запросов задаёте вы: неделя, месяц, год. По истечении срока данные удаляются автоматически — и всё это время они лежат внутри вашего периметра.
- Сертификаты и ключи шифруются в браузере администратора — панель видит только шифртекст
- Свой срок на каждый вид данных: заголовки дольше, тела короче
- Ни один байт трафика не уходит за пределы вашей инфраструктуры, если капча собственная
Четыре ситуации, в которых защита окупается быстрее всего
Интернет‑магазины и маркетплейсы
Парсеры цен и каталога, перебор промокодов, нагрузка в распродажу. Счётчик и лимиты видят тех, кто берёт слишком много, а покупатели защиту не замечают.
Финтех и API‑продукты
Контракт API как правило допуска, второй фактор для кабинетов, журнал каждого решения — готовый материал для разбора инцидента и отчёта регулятору.
Внутренние системы и кабинеты
CRM, учёт, порталы для сотрудников: из офиса — свободно, с удалёнки — по второму фактору и группам, из интернета — никак. Без правок в самих системах.
Медиа и сервисы реального времени
Чаты, трансляции, торги по WebSocket. Каждое сообщение проверяется отдельно, и задержка остаётся в пределах единиц миллисекунд.
Почему это выгодно, а не просто безопасно
Готовые доказательства для разбора
Каждое событие хранит вердикт, вклад каждой проверки и что было в запросе. Разбор инцидента — чтение карточки, а не раскопки логов.
Ресурсы — только под нагруженное
Каждая проверка — отдельный сервис. Копии добавляются той проверке, которая упёрлась в потолок, а не всей системе сразу.
Открытые стандарты, без привязки
OWASP CRS, OpenAPI, привычный синтаксис правил ModSecurity. Ваши правила и спецификации остаются вашими.
Одна панель для безопасности и DevOps
Черновик, кнопка «Разослать» и индикатор того, где изменения ещё не применились. Плюс API для всего, что делает панель.
Всё, что нужно каждый день, — на первом экране
Работают ли узлы, справляются ли проверки, применились ли изменения. Если узел перестал отвечать — это отдельное состояние на экране, а не «наверное, всё хорошо».
Правки копятся в черновике и расходятся по узлам по кнопке «Разослать». Индикатор наверху всегда показывает, где они ещё не применились.
Подсветка, справка под курсором, разбор правила в понятную форму и замечания: что не загрузится и что можно проще.
Фильтр по адресу, разделу, коду или проверке — и карточка с полной картиной: какая проверка решила, сколько очков, что было в запросе.
Тема переключается и на этой странице — значок справа вверху.
Устанавливается за день. Живёт в вашем контуре.
На своих серверах или в вашем облаке. Без агентов на стороне приложения и без правок в коде: меняется только маршрут трафика — он идёт через узел защиты.
| Из чего состоит | Что делает |
|---|---|
| Узлы защиты | Принимают трафик и применяют решения. Столько, сколько нужно под нагрузку |
| Сервисы проверок | По одному на вид угрозы, в нужном числе копий. Масштабируются независимо |
| Панель управления | Правила, настройки, события, состояние. Стоит в стороне от трафика |
| Хранилища | События безопасности, архив запросов со сроком хранения, конфигурация |
Что нужно от вас
- Сервер или виртуальная машина под узел защиты. Для пилота — одна.
- Сертификаты для доменов, которые встанут под защиту.
- Переключение трафика на узел — через DNS или ваш балансировщик.
- Доступ к корпоративному каталогу, если нужен вход сотрудников.
Как живёт в проде
- Без единой точки отказа. Узлов защиты столько, сколько нужно; в каждой зоне доступности свои узлы и свои сервисы проверок.
- Изменения расходятся на все узлы. Настройки раздаются одной кнопкой, каждый узел подтверждает применение — видно, где оно ещё не прошло.
- Обновления без остановки. Новые правила и новые проверки включаются на ходу, трафик не прерывается.
- Вписывается в ваш мониторинг. Метрики в формате Prometheus, события — в открытом хранилище, к которому подключаются ваши системы отчётности.
Так устроена промышленная установка. Установка из placitum-core сейчас поднимает один узел защиты — второй и третий в работе.
| Сколько добавляет к запросу | обычно | худший 1% |
|---|---|---|
| Проверка адреса | 0.6 ms | 2 ms |
| Три проверки параллельно | 1.2 ms | 5 ms |
| Итого | 1.8 ms | 7 ms |
Расчёт для типового API‑маршрута из двух волн: ≈1 мс на волну на небольшой нагрузке, по замерам нагрузочных тестов; худший процент сложен с запасом. Лимит времени задаёте вы — и он не будет превышен, как бы ни повели себя проверки.
Сами или вместе с нами — без риска для ваших клиентов
Оба пути начинаются с наблюдения: защита смотрит на живой трафик и ничего не блокирует, пока вы не скажете.
Установить и включить
Установка из placitum-core собирает и поднимает весь контур на одной машине. Бесплатно для собственных нужд, пока нагрузка не выше 100 запросов в секунду; образовательным организациям — без порога.
Пилот на вашем трафике
Разбираем задачу, ставим узел защиты в режиме наблюдения и вместе настраиваем исключения — пока вы не решите включать блокировку. Шаги — ниже.
Как проходит пилот с нами
-
1 час
Разговор
Что защищаем: сайт, API, кабинеты. Что болит: боты, атаки, доступ сотрудников. Выбираем один‑два раздела для пилота.
-
1 день
Стенд
Узел защиты перед копией приложения или на части трафика. Сертификаты, разделы, первые проверки — в режиме наблюдения.
-
1–2 недели
Наблюдение
Проверки смотрят на живой трафик и ничего не блокируют. Копится картина: кто попал бы под блокировку и почему.
-
встреча
Разбор
Показываем отчёт: атаки, боты, ложные срабатывания. Правим исключения вместе с вашей командой прямо в панели.
-
по одной проверке
Включение
Блокировку включаете вы: сначала на одном разделе, потом шире. Каждый шаг обратим за минуту.
-
передача
Команда работает сама
Обучение, доступ к панели и документации. Поддержка — по коммерческой лицензии.
Чем заканчивается пилот
Отчёт с цифрами за период наблюдения — и рекомендация, какие проверки включать первыми.
- Сколько атак и какого рода: инъекции, перебор, флуд
- Сколько ботов и что они пытались унести
- Сколько ложных срабатываний было до настройки исключений — и сколько осталось после
- Сколько миллисекунд защита добавила к вашим запросам на самом деле
- Из каких сетей работают сотрудники и партнёры — основа для политики доступа
Исходный код открыт. Для своих проектов до 100 запросов в секунду — бесплатно.
Условия — как в лицензии, без мелкого шрифта. Ниже пересказ; обязывает только сам текст.
Бесплатно
Для собственных нужд, пока нагрузка на установку не превышает 100 запросов в секунду. Образовательным организациям любой страны — без ограничения нагрузки. Код можно изучать и менять в рамках того же использования.
По коммерческой лицензии
Нагрузка выше 100 запросов в секунду и услуги вокруг продукта для других: установка, настройка, обслуживание, поддержка, эксплуатация и защита продуктом как услуга.
Что остаётся на вас
Бесплатное использование — без поддержки, гарантий и ответственности и без лент: списки адресов и ботов и обновления правил вы ведёте сами. Лицензии на сторонние базы и компоненты — тоже ваши.
Главный текст — английский LICENSE.md, русский — перевод. Продукт нельзя распространять, перепродавать и выдавать за свой.
Покажем на вашем трафике
Час разговора, день на стенд, одна‑две недели наблюдения — и вы видите настоящую картину атак и ботов раньше, чем принимаете решение.