dependency management
4 статей с этим тегом
Безопасность Express (Node.js) — защита, которую вы добавляете сами
Express минималистичен — из коробки он почти не несёт функций безопасности, поэтому защиту добавляет разработчик. Главное: (1) заголовки безопасности (уровня helmet), (2) валидация и санитизация ввода, (3) авторизация по владельцу, а не только аутентификация, (4) ограничение частоты (перебор / DoS), (5) мониторинг CVE зависимостей (npm) и быстрое закрытие. Плюс защита от SSRF при исходящих запросах к URL и секреты в переменных окружения, вне кода. Свобода минимального фреймворка идёт вместе с ответственностью за защиту.
Безопасность Next.js — Server Actions, переменные окружения и CVE зависимостей
Next.js поставляется с довольно безопасными значениями по умолчанию, но инциденты происходят на границе сервер/клиент. Большая тройка: (1) утечка переменных окружения (неверное использование NEXT_PUBLIC_ или передача серверных секретов клиенту), (2) отсутствие авторизации в Server Actions / Route Handlers (аутентифицирован, но нет проверки владельца) и (3) известные CVE зависимостей (включая RCE в ядре фреймворка — судите по работающей версии и быстро патчите). Защита: держите секреты на сервере, следите за границей, авторизуйте в каждом действии, машинно мониторьте CVE зависимостей.
Безопасность Ruby on Rails — Strong Parameters, авторизация и CVE gem'ов
Rails поставляется с соглашениями и безопасными значениями по умолчанию (защита от CSRF, Strong Parameters, ORM) и надёжен при корректном использовании. Но инциденты приходят из эксплуатации. Большая тройка: (1) слишком широкие Strong Parameters, допускающие Mass Assignment (перезапись is_admin и т. п.), (2) слабая авторизация (вход = аутентификация, но нет области владельца), (3) известные CVE gem'ов (зависимостей). Плюс SQLi через интерполяцию строк в where, опасные динамические методы (send/constantize) и утечка credentials/secret_key_base. Защита: сузить permit, сделать авторизацию явной, мониторить CVE gem'ов.
Безопасность Spring Boot — CVE зависимостей, экспозиция Actuator и авторизация
Spring (Spring Boot) — корпоративный стандарт. Типы инцидентов: (1) известные CVE зависимостей (широко наследуемый изъян фундамента, как Log4Shell — судите по работающей версии и быстро патчите), (2) открытые конечные точки управления/диагностики вроде Actuator (утечка информации / операции), (3) отсутствие авторизации Spring Security (аутентифицирован, но слабые проверки прав), (4) небезопасная десериализация. Защита: машинно мониторьте CVE зависимостей и быстро патчите, закрывайте поверхности управления Actuator, делайте авторизацию явной, не десериализуйте недоверенные данные.