Webhook

§§IBT7§§¶@definition¶Webhook — механизм, при котором сервис отправляет HTTP-уведомление на заранее заданный URL при наступлении события.¶@plain¶Webhook — HTTP-уведомление, которое одна система отправляет другой при событии, не дожидаясь периодического опроса. Получатель открывает endpoint, поэтому должен проверять источник, целостность, свежесть и повторную доставку сообщения.¶@use¶Для webhook создают отдельный URL, проверяют HMAC или подпись по исходному телу, ограничивают размер и время, используют idempotency key и очередь. Секреты ротируют, ответы возвращают быстро, а обработку выполняют асинхронно.¶@example¶Платёжный провайдер сообщает об оплате. Сервис проверяет подпись и timestamp до JSON-парсинга, отклоняет повтор по event_id, помещает событие в очередь и отвечает 2xx, не меняя статус заказа дважды.¶@compare¶Сравнени妦Webhook отправляет событие получателю; polling заставляет клиента регулярно запрашивать изменения. API предоставляет операции по запросу, а message broker доставляет сообщения через отдельную очередь и модель подтверждений.¶@steps¶Зарегистрировать endpoint¦Получатель сообщает HTTPS-адрес и получает отдельный секрет или открытый ключ отправителя.¤Сформировать событие¦Источник сериализует payload, добавляет идентификатор, время и криптографическое доказательство.¤Проверить доставку¦Получатель валидирует TLS, подпись, свежесть, схему и уникальность до выполнения действия.¤Обработать надёжно¦Событие ставится в очередь, повтор не меняет результат, ошибки приводят к контролируемому retry.¶@resources¶Курсы по AppSec¦https://ibcourses.ru/appsec-kursy¦Курс¶@related¶gRPC¦/slovar-informacionnoy-bezopasnosti/appsec-i-devsecops/grpc¶@faq¶Можно ли доверять IP-адресу отправителя?¦Это дополнительный сигнал, но не замена криптографической подписи и проверки TLS.¤Почему подпись проверяют по raw body?¦Повторная сериализация может изменить байты и сломать проверку либо создать расхождение между проверенным и обработанным содержимым.¤Что отвечать webhook-отправителю?¦Быстрый успешный код после безопасного принятия в очередь; долгая бизнес-операция не должна удерживать соединение.