Подтвердить что ты не робот

Playpramework owasp top 10

Я думаю об использовании Play для крупномасштабного проекта, так, есть ли какая-нибудь проверенная битком платформа для OWASP Top 10? Существуют ли какие-либо проблемы с безопасностью, о которых вы знаете в платформе Play?

4b9b3361

Ответ 1

В OWASP Top 10 и Play (некоторая информация здесь):

  • A1: Инъекция

    Использует JPA и по умолчанию сохраняет строки

  • A2: Межсайтовый скриптинг (XSS)

    Начиная с версии 1.0.1, механизм шаблонов Plays автоматически выполняет строку

  • A3: Сломанная аутентификация и управление сеансом

    Воспроизведение без апатии, сеанс не задействован. Печенье защищено криптографией. Хранение данных безопасно в базе данных (пароли) через хеширование зависит от пользователя, а не от фреймворка

  • A4: Небезопасные ссылки на прямые объекты

    Опять же, это зависит от того, кто разработчик проверяет доступ к разрешенным ресурсам, а не столько фреймворк

  • A5: Подделка запросов на межсайтовый запрос (CSRF)

    Запросы POST позволяют использовать токены аутентификации для предотвращения этого. Конечно, это зависит от разработчика, правильно использующего GET/POST.

  • A6: Конфигурация безопасности

    Процесс отчетов об ошибках по умолчанию выглядит безопасным при производстве (утечки следов стека нет). Единственная проблема заключалась бы в том, что запись "поймать все" в маршрутах, но это должно быть прокомментировано в режиме производства

  • A7: небезопасное криптографическое хранилище

    Разработчик несет ответственность за шифрование разумной информации в базе данных

  • A8: отказ от ограничения доступа к URL

    Разработчик должен реализовать ограничение безопасности (через @Before, как в учебнике), чтобы запретить доступ к запрещенным страницам.

  • A9: Недостаточная защита транспортного уровня

    Play поддерживает SSL

  • A10: Неопределенные перенаправления и переадресации

    Воспроизвести перенаправление через 302, а не жестко закодированные строки, что должно помешать этому.

TL; DR: В тех частях, которые структура может выполнять всю работу, Play делает это. В тех частях, которые разработчик должен выполнять всю работу, разработчик должен выполнять всю работу. Части, которым требуется 50% каждого, Play дает 50%.

Скажем так: нет причин, по которым вы должны считать Play менее безопасным, чем любая другая среда Java. Во многих случаях вы можете считать его более безопасным. И с Play, являющимся легкостью для разработчиков, безстоящих и REST-инфраструктур, вы получаете меньше шансов испортить это.

Ответ 2

О A3, вам нужно быть осторожным. В Play есть два типа переменных сеанса. Один из них - session(), который имеет цифровую подпись, а другой flash(), который не подписан. Кроме того, оба из них хранятся в файлах cookie , что может вызвать проблемы конфиденциальности, если вы решили хранить там конфиденциальные данные.

Также, как и в A7 (криптография), обратите внимание, что Play предлагает удобную библиотеку Crypto, но ее шифрование использует режим ECB, который снова открывает целое новая группа потенциальных проблем.