SPA, сайт с использованием api oauth2 - нужна ли мне защита csrf
Мой сайт является полным SPA, и все запросы аутентифицированного пользователя выполняются с использованием маркера доступа, единственная форма, к которой имеют доступ неаутентифицированные пользователи, - это форма входа. Так необходима ли защита csrf? С какими потенциальными проблемами безопасности я могу столкнуться, если отключу защиту csrf с моего веб-сайта? Спасибо.
1 ответ:
Если я правильно понял вашу установку, то она выглядит следующим образом:
- пользователь отправляет учетные данные (например: форма входа)
- сервер возвращает токен auth в ответ
- пользователь включает токен в заголовок запроса с каждым последующим запросом
Если это верно и предполагается, что вы используете TLS и правильно проверяете токены, я думаю, что вы уже хорошо защищены от подделок межсайтовых запросов.
Типичная защита CSRF заключается в отправке маркера, который только легитимный веб-сайт может видеть (например, установив файл cookie), а затем ожидать, что тот же самый маркер будет возвращен либо в заголовках последующих запросов, параметрах запроса (не очень хорошая идея), либо в теле запроса. Аутентификация на основе маркеров, такая как ваша, уже отвечает этим требованиям.
Короче говоря, если злой сайт способен обойти вашу установку для подделки запросов (CSRF), то злой сайт, вероятно, может использовать ту же уязвимость, чтобы победить типичную защиту CSRF.