# Посилила захист застосунку за допомогою CSP на основі nonce, HSTS, cookie SameSite, ролей бази даних за принципом найменших привілеїв та серверних повторних перевірок прав доступу.

2025

**Ситуація.** Платформа зберігає професійні та організаційні дані — саме ті, які люди очікують бачити захищеними належним чином, тож одного рубежу оборони було апріорі недостатньо. Робоче припущення таке: клієнт вороже налаштований, — усе, що примусово виконує браузер, може бути вимкнене тим, у чиїх руках цей браузер, — і безпека все одно мусить триматися.

**Завдання.** Платформу потрібно було захистити на кожному рівні — фронтенд, API, база даних, — так, щоб безпеку забезпечував сервер незалежно від того, що саме дозволяв інтерфейс.

**Дія.** На фронтенді проксі‑мідлвар Next.js — proxy.ts — встановлює Content‑Security‑Policy з nonce для кожного запиту та strict‑dynamic, а також HSTS і SameSite cookies, тож браузер жорстко обмежений у тому, що він виконає й надішле. На рівні API діють rate limiting, CORS, обмеження розміру запиту, валідація вводу до того, як щось торкнеться бази даних, і логування подій, пов'язаних із безпекою. У базі даних API входить під роллю з мінімальними привілеями, яка може лише виконувати (EXECUTE) функції застосунку, самі функції запускаються з SECURITY DEFINER, а все параметризовано. А права доступу — тариф, роль, організація, прив'язка до судна — перевіряються сервером повторно на кожен запит, тоді як фронтендні обмеження розглядаються лише як UX. Ці обмеження визначають, що видно; сервер визначає, що дозволено робити.

**Результат.** Безпека не залежить від того, як поводиться UI. Захист побудовано шарами так, щоб подолання одного рівня не давало проходу через решту, а вся система базується на припущенні, що клієнту довіряти не можна, — і це правильне припущення для даних, які люди довіряють платформі.

---

- Роль: Інженер з безпеки
- Категорії: [Архітектура платформи](https://software.engineer.company/uk/categories/platform-architecture/), [Backend‑розробка](https://software.engineer.company/uk/categories/backend/), [Frontend‑розробка](https://software.engineer.company/uk/categories/frontend/), [API та інтеграції](https://software.engineer.company/uk/categories/api/), [Бази даних](https://software.engineer.company/uk/categories/databases/), [Безпека](https://software.engineer.company/uk/categories/security/)
- Послуги: [Backend- та API‑розробка](https://software.engineer.company/uk/services/backend-development/), [Безпека та керування доступом](https://software.engineer.company/uk/services/security-access/)

<https://software.engineer.company/uk/portfolio/hardened-the-application-with-nonce-based-csp-hsts-77/>
