Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Як захистити адмін-панель застосунку?

Адмін-панель дає доступ до даних усіх користувачів і до налаштувань системи - її компрометація зазвичай означає компрометацію всього застосунку. Тому захист будується в кілька шарів.

1. Сильна автентифікація:

  • обов'язкова двофакторна автентифікація для всіх облікових записів з доступом до адмінки - краще ключі безпеки чи passkeys (стійкі до фішингу), ніж SMS;
  • окремі облікові записи для кожної людини - без спільних «admin@company»;
  • коротша сесія й повторне підтвердження пароля перед критичними діями (Laravel - middleware password.confirm).

2. Мінімальні права:

  • ролі в адмінці (підтримка, модератор, фінанси, суперадміністратор), а не «адмін може все»;
  • політики на кожен ресурс і дію - як і в основному застосунку; Filament, Nova та подібні використовують політики Laravel;
  • суперадміністраторів - мінімум.

3. Обмеження доступу на рівні мережі:

  • окремий піддомен (admin.example.com) - простіше обмежити й моніторити;
  • дозволений список IP чи доступ через VPN / Zero Trust (Cloudflare Access тощо) - адмінка невидима з інтернету;
  • нестандартний шлях не є захистом - лише зменшує шум від сканерів.

4. Захист від типових атак:

  • обмеження частоти спроб входу й блокування після серії невдач;
  • CSRF-захист і frame-ancestors 'none' (адмінки - улюблена мішень clickjacking);
  • суворий CSP - XSS в адмінці небезпечніший, ніж на публічних сторінках.

5. Журнал дій:

  • хто, коли, що змінив, з якої IP - для всіх змін у адмінці;
  • особливо - зміни ролей, прав, налаштувань безпеки, експорти даних;
  • журнал недоступний для зміни самими адміністраторами;
  • сповіщення про аномалії (масові експорти, вхід з нової країни).

6. Обережно з «увійти як користувач» (impersonation): дуже зручно для підтримки, але це повний доступ до облікового запису. Лише для обмеженої ролі, з журналом, явною позначкою в інтерфейсі й заборонами (не змінювати пароль, не робити платежі від імені користувача).

7. Оновлення: пакети адмінок (Filament, Nova, сторонні) - така сама частина ланцюжка постачання; оновлювати й стежити за бюлетенями безпеки.

Регулярна ревізія доступів: хто має доступ до адмінки зараз, і чи досі він потрібен (звільнені співробітники, підрядники, тестові облікові записи).

Докладніше в документації: OWASP: багатофакторна автентифікація

1

Схожі питання