Вебхук
В веб-разработке вебхук — это метод дополнения или изменения поведения веб-страницы или веб-приложения с помощью пользовательских обратных вызовов . Эти обратные вызовы могут поддерживаться, изменяться и управляться сторонними пользователями, которым не обязательно быть связанными с исходным веб-сайтом или приложением. В 2007 году Джефф Линдсей придумал термин «вебхук» от термина «крючок» в компьютерном программировании . [1]
Функция
[ редактировать ]Вебхуки — это «определяемые пользователем обратные вызовы HTTP». [2] Обычно они запускаются каким-либо событием, например отправкой кода в репозиторий. [3] комментарий публикуется в блоге [4] и многие другие варианты использования. [5] Когда это событие происходит, исходный сайт отправляет HTTP-запрос к URL-адресу, настроенному для веб-перехватчика. Пользователи могут настроить их так, чтобы события на одном сайте вызывали поведение на другом.
Обычное использование — запуск сборок с непрерывной интеграции . системами [6] или для уведомления систем отслеживания ошибок . [7] Поскольку веб-перехватчики используют HTTP, их можно интегрировать в веб-службы без добавления новой инфраструктуры. [8]
Аутентификация уведомления веб-перехватчика
[ редактировать ]Когда клиент (исходный веб-сайт или приложение) выполняет вызов веб-перехватчика на сервер стороннего пользователя, входящий запрос POST должен быть аутентифицирован, чтобы избежать атаки спуфинга , а его метка времени проверена, чтобы избежать атаки воспроизведения . [9] Используются различные методы аутентификации клиента:
- HTTP Базовую аутентификацию можно использовать для аутентификации клиента. [10]
- Веб-перехватчик может включать информацию о типе события, а также общий секрет или цифровую подпись для проверки веб-перехватчика.
- Подпись HMAC может быть включена в качестве заголовка HTTP. Гитхаб, [11] Полоса [12] и Фейсбук [13] используйте эту технику.
- Взаимную аутентификацию TLS можно использовать после установления соединения. Конечная точка (сервер) затем может проверить сертификат клиента. [14]
Отправитель может сохранить постоянный список IP-адресов , с которых будут отправляться запросы. Сама по себе эта мера безопасности не является достаточной, но она полезна, когда принимающая конечная точка находится за брандмауэром или NAT .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Веб-хук, который произведет революцию в Интернете , 3 мая 2007 г., заархивировано из оригинала 30 июня 2018 г.
- ^ «Вебхуки» . Атласиан . Проверено 24 сентября 2019 г. ]
- ^ О вебхуках - Справка Github
- ^ Веб-хуки WordPress
- ^ Варианты использования веб-перехватчиков
- ^ Jenkins GitHub Commit Hooks HOWTO , заархивировано из оригинала 25 сентября 2015 г.
- ^ Хостинг проектов Google — веб-перехватчики после фиксации
- ^ Что такое веб-хуки и как они обеспечивают работу в сети в режиме реального времени?
- ^ «Зачем проверять» . Свикс . Свикс Инк . Проверено 12 сентября 2021 г.
Еще одна потенциальная дыра в безопасности — это так называемые атаки повторного воспроизведения.
- ^ «DocuSign Connect теперь включает базовую поддержку аутентификации» . ДокументСигн . DocuSign, Inc., 16 ноября 2017 г. Проверено 15 января 2020 г.
Служба уведомлений Connect была обновлена для поддержки базовой схемы аутентификации с серверами Connect клиентов (прослушивателями).
- ^ «Защита вебхуков» . Гитхаб . Гитхаб, Инк . Проверено 12 сентября 2021 г.
- ^ «Проверка подписей вебхуков» . Полоса . Страйп, Инк . Проверено 12 мая 2019 г.
- ^ «Начало работы — Graph API — Документация — Facebook для разработчиков» . Фейсбук . Фейсбук, Инк . Проверено 12 мая 2019 г.
- ^ «Взаимный TLS: вещи, которые вам следует знать» . ДокументСигн . ДокуСайн, Инк . Проверено 15 января 2020 г.
Взаимный TLS плюс контроль доступа клиента позволяют вашему приложению-прослушивателю гарантировать, что сообщение уведомления о подключении было отправлено DocuSign и что оно не было изменено в пути.