Проверяет понимание принципа наименьших привилегий и его применения для безопасности систем.
Принцип наименьших привилегий (PoLP) — это фундаментальная концепция информационной безопасности, которая предписывает предоставлять субъектам (пользователям, программам, процессам) минимально возможный набор прав, необходимый для выполнения их легитимных функций. Суть в том, чтобы не давать лишнего: если задача — чтение файла, не нужно давать права на запись; если задача — запуск приложения, не нужно давать права администратора.
Ограничение прав снижает поверхность атаки. Если злоумышленник скомпрометирует учетную запись с минимальными правами, он сможет нанести лишь ограниченный ущерб. Например, если веб-сервер работает с правами обычного пользователя, а не root, то взлом сервера не даст злоумышленнику полный контроль над системой. Это также защищает от случайных ошибок: оператор, не имеющий прав на удаление данных, не сможет случайно их стереть.
В операционных системах это выражается в разделении прав пользователей (обычный пользователь vs администратор). В базах данных — через роли и гранты: приложение может иметь доступ только к определенным таблицам и операциям. В контейнерах и микросервисах — через запуск процессов с non-root пользователем и ограничение capabilities. В CI/CD — через использование отдельных токенов с минимальными правами для каждого этапа.
# Создание пользователя без прав sudo
useradd -m -s /bin/bash appuser
# Запуск процесса от его имени
sudo -u appuser ./myapp
# Ограничение прав на файл
chmod 600 /etc/app/config.yml
# В Dockerfile
FROM node:18
RUN useradd -m appuser
USER appuser
CMD ["node", "server.js"]Принцип наименьших привилегий — это базовая практика безопасности, которую стоит применять везде: от настройки прав в Linux до проектирования API и баз данных. Он не устраняет все угрозы, но значительно уменьшает потенциальный ущерб от взлома или ошибки, поэтому его внедрение обязательно для production-систем.