Пятый фактор
Отправить заявку
Безопасность и эксплуатация

Аудит безопасности WebSocket-соединений

Аудит безопасности WebSocket-соединений охватывает постоянные каналы чата, уведомлений и панелей в реальном времени. Сервер будет принимать только разрешённый Origin, связывать канал с действующей сессией, заново проверять право на каждую команду и закрывать соединение при выходе. Сообщения получат схему и лимиты, а журнал покажет подключение, роль, тип события, отказ и код закрытия без раскрытия чувствительного текста.

Срок: 7 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • Браузер подключается с сессионной cookie, сервер принимает запрос с любого Origin, поэтому сторонняя страница способна открыть аутентифицированный канал от имени посетителя.
  • Приложение проверяет пользователя при handshake, затем доверяет полям room_id, company_id или action внутри сообщения и разрешает подписку на чужой проект.
  • Соединение живёт часами после выхода из кабинета, размеры и частота сообщений свободны, proxy фиксирует только Upgrade, а команда теряет контекст причины перегрузки или отказа.

Что именно мы сделаем

01

Описываем endpoints, роли, комнаты, команды и форматы сообщений.

02

Проверяем WSS, Upgrade, Origin, cookie, token и сессию.

03

Добавляем права на действия, подписки, logout и истечение.

04

Задаём схемы, размеры, частоту, соединения и защиту повторов.

05

Тестируем двумя ролями и передаём журнал с протоколом.

Что входит в стоимость

29 900 ₽ за всю работу

Описываем endpoints, подпротоколы, комнаты, роли и типы сообщений. Проверяем TLS, Upgrade через proxy/CDN, Origin, cookie или token, истечение сессии, logout и авторизацию каждого действия. Валидируем JSON и бинарные сообщения, задаём лимиты соединений, размера и частоты, проверяем nonce или sequence для чувствительных команд, ошибки, логи и коды закрытия. Вносим исправления и повторяем тесты.

Что будет готово

Материалы

Передадим вам

  • Исправленный WebSocket endpoint с WSS, Origin allowlist, проверкой сессии, message-level authorization, схемами, лимитами и управляемым закрытием.
  • Матрица сообщений, ролей и каналов вместе с тестами чужого Origin, другой компании, logout, истечения, повтора, размера и частоты.
  • Настроенный журнал безопасности и инструкция добавления нового события, комнаты или подпротокола с обязательными проверками.
Проверка

Перед сдачей проверим

  • Handshake с постороннего Origin получает отказ, штатный клиент подключается через WSS и proxy, а просроченная или заблокированная сессия закрывается заданным кодом.
  • Пользователь одной роли лишён доступа к чужой комнате и административной команде, при изменении company_id внутри сообщения серверный контекст остаётся прежним.
  • Чрезмерное сообщение и частый поток ограничиваются, повтор чувствительной команды распознаётся, журнал связывает подключение и отказ по correlation ID.

Как это выглядит на практике

Схема результата услуги «Аудит безопасности WebSocket-соединений»

Статусы заказов в панели менеджера

  1. 01

    Панель открывает WebSocket с cookie и подписывается на компанию по company_id из сообщения, при этом Origin и принадлежность компании отсутствуют в серверной проверке.

  2. 02

    Разрешаем Origin панели, выводим компанию из сессии, проверяем роль на каждую подписку и связываем активные соединения с session ID.

  3. 03

    После logout сервер закрывает канал, а попытка второго менеджера указать чужую компанию получает отказ и запись с correlation ID.

  4. 04

    Штатные статусы продолжают приходить в реальном времени, крупное сообщение и частая переподписка попадают под выбранные лимиты.

Что понадобится для работы

От вас

  • Тестовый WebSocket endpoint, описание сообщений или код обработчиков, настройки proxy/CDN и журналы процесса.
  • Два аккаунта с разными ролями и компаниями, разрешённый и тестовый посторонний Origin, сценарии чата, уведомлений или команд.
  • Форматы JSON или бинарных сообщений, правила logout и блокировки, безопасное окно для перезапуска WebSocket-процесса.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 29 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 26 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Подходит ли проверка для Socket.IO или STOMP?

Да. Учитываем дополнительный протокол, его события, namespaces, rooms, команды и broker subscriptions, сохраняя общие проверки Origin, сессии и прав.

Проверяется ли мобильный или серверный клиент?

Добавляем используемые клиенты в сценарий. Origin относится прежде всего к браузеру, а token, права, схемы, лимиты и завершение важны для любого клиента.

Потребуется ли остановка чата для изменений?

Анализ и активные проверки выполняем на тестовом контуре. Выпуск исправлений обычно требует короткого перезапуска процесса в выбранное окно.

Какие поля сохраняются в журнале сообщений?

Обычно фиксируем пользователя, роль, канал, тип, решение, размер, время и correlation ID. Текст, токены и персональные поля маскируются.

Достаточно ли существующего WAF для защиты канала?

Проверим фактическую видимость WAF после handshake. Серверная валидация и авторизация каждого сообщения остаются главным прикладным контролем.

Проверяется ли Origin при установке WebSocket-соединения?

Да. Сверяем Origin с разрешённым списком и отдельно проверяем соединение с посторонней страницы. Для серверных и мобильных клиентов используем подходящую схему аутентификации вместо браузерного Origin.

Что происходит с соединением после выхода пользователя?

Проверяем отзыв или истечение сессии уже после установки канала. Соединение должно закрыться либо потерять доступ к защищённым сообщениям согласно выбранной архитектуре.

Входят ли лимиты размера и частоты сообщений?

Да. Настраиваем максимальный размер, частоту, число соединений и безопасную реакцию на перегрузку. Значения подбираем по обычной работе чата, уведомлений или телеметрии.

Цена и изменения по ходу работы

Цена на странице окончательная?

Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.

Что означает резерв незапланированных работ?

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

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.

Как учитываются платные лицензии и внешние сервисы?

До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.

Проверка результата и гарантия

Как принимается готовая работа?

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

Какая гарантия действует после сдачи?

На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Следующие шаги по защите

Связанные работы выстроены в практическом порядке. Можно начать с текущей задачи или перейти к соседнему этапу.

  1. 01Аудит авторизации и пользовательских сессий

    Проверить вход и жизненный цикл токена

  2. 02Аудит безопасности WebSocket-соединений

    Проверить канал и сообщения

  3. 03Проверка ролей и разграничения прав

    Проверить доступ к комнатам и объектам

Все услуги по безопасности API и интеграций

Следующий шаг

Опишите задачу

Опишите задачу и желаемый результат. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему — разберёмся в ситуации и предложим подходящий следующий шаг.