Имеет ли смысл добавлять «x-frame-options» в Restful API

Мы разрабатываем спокойный API, который выполняет некоторые различные события. Мы выполнили сканирование уязвимостей Nessus, чтобы обнаружить утечки безопасности. Выяснилось, что некоторые утечки приводят к кликджекингу, и мы нашли решение. Я добавил x-frame-options как SAMEORIGIN для решения проблем.

Мой вопрос заключается в том, что, поскольку я являюсь API, нужно ли мне обрабатывать кликджекинг? Я предполагаю, что сторонний пользователь должен иметь доступ к моему API через iframe, и мне не нужно с этим справляться.

Я что-то пропустил? Не могли бы вы поделиться своими идеями?


person Uğurcan Şengit    schedule 02.12.2015    source источник


Ответы (2)


Редактировать 2019-10-07: PR @Taytay имеет были объединены, поэтому в рекомендации OWASP теперь говорится, что сервер должен отправлять заголовок X-Frame-Options.


Исходный ответ:

OWASP рекомендует клиентам отправлять X-Frame -Options, но не упоминает сам API.

Я не вижу сценария, в котором API имело бы смысл возвращать заголовки безопасности кликджекинга — в iframe нечего нажимать!

person nickspoon    schedule 17.12.2015
comment
Я считаю, что это опечатка, потому что X-Frame-Options — это заголовок ответа, а не заголовок клиента. Я отправил запрос на вытягивание в репозиторий шпаргалок OWASP, чтобы исправить рекомендацию. - person Taytay; 06.08.2019
comment
stackoverflow.com/questions/59610943/ , @nickspoon, это только аналогичная проблема. Не могли бы вы поделиться своими мыслями - person Priya; 06.01.2020

OWASP рекомендует не только отправлять заголовок X-Frame-Options, но и он установлен в DENY.

Это рекомендации не для веб-сайта, а для службы REST.

Сценарий, в котором это имеет смысл сделать, - это именно тот, который упоминал ОП, - запуск сканирования уязвимостей.

Если вы не вернете правильный заголовок X-Frame-Options, сканирование завершится ошибкой. Это важно, когда вы доказываете клиентам, что ваша конечная точка безопасна.

Гораздо проще предоставить вашему клиенту проходной отчет, чем спорить, почему отсутствующий заголовок не имеет значения.

Добавление заголовка X-Frame-Options не должно повлиять на потребителя конечной точки, поскольку это не браузер с iframe.

person Steve Chadbourne    schedule 08.12.2017
comment
В разделе связанной статьи говорится, что дополнительно клиент должен отправить X-Frame-Options: deny. клиент. Не сервер. - person nickspoon; 12.12.2017
comment
@nickspoon Я думаю, что в статье OWASP есть опечатка, так как X-Frame-Options является заголовком ответа. - person Chopin; 27.07.2018
comment
Ты прав. После вашего комментария я пытался связаться с OWASP различными способами (до того, как они перешли на github), но так и не получил никакого ответа. @Taytay успешно обновил статью, поэтому я обновил свой ответ. - person nickspoon; 07.08.2019
comment
stackoverflow.com/questions/59610943/ , @Stev. это похожая проблема. Можете ли вы добавить свои мысли - person Priya; 06.01.2020
comment
Несмотря на то, что это, несомненно, разумный совет, это не отвечает на вопрос OP о том, есть ли смысл предоставлять этот заголовок в ответе API. Он имеет не больше смысла, чем заголовок X-Powered-By; клиент не обратит на это ни малейшего внимания. - person Ed Graham; 04.08.2021