Удалить привилегированный режим из Docker #49

Closed
opened 2026-06-17 19:39:23 +00:00 by NW · 1 comment
Owner

Проблема

docker-compose.yml использует privileged: true, cap_add: [NET_ADMIN, SYS_MODULE], что даёт контейнеру полный root-доступ к хосту. SYS_MODULE позволяет загружать произвольные модули ядра.

Решение

  • Убрать privileged: true
  • Убрать SYS_MODULE из cap_add — оставлять только NET_ADMIN (нужно для WireGuard)
  • Добавить USER appuser в Dockerfile
  • Добавить resource limits (mem_limit, cpus)
  • Добавить health check
  • Убрать маунт исходников ./src:/app/src/ в production
  • Использовать Docker secrets для секретов вместо environment

Файлы

  • docker-compose.yml
  • Dockerfile

Приоритет: ВЫСОКИЙ

## Проблема `docker-compose.yml` использует `privileged: true`, `cap_add: [NET_ADMIN, SYS_MODULE]`, что даёт контейнеру полный root-доступ к хосту. SYS_MODULE позволяет загружать произвольные модули ядра. ## Решение - [ ] Убрать `privileged: true` - [ ] Убрать `SYS_MODULE` из cap_add — оставлять только `NET_ADMIN` (нужно для WireGuard) - [ ] Добавить `USER appuser` в Dockerfile - [ ] Добавить resource limits (mem_limit, cpus) - [ ] Добавить health check - [ ] Убрать маунт исходников `./src:/app/src/` в production - [ ] Использовать Docker secrets для секретов вместо environment ## Файлы - `docker-compose.yml` - `Dockerfile` ## Приоритет: ВЫСОКИЙ
NW added this to the Phase 1: Security & Secrets Management milestone 2026-06-17 19:39:23 +00:00
NW added the priority::hightype::infraphase::1 labels 2026-06-17 19:39:23 +00:00
Author
Owner

Реализовано

  • Убрать privileged: true из docker-compose.yml
  • Убрать SYS_MODULE из cap_add (оставлен NET_ADMIN)
  • Добавить USER appuser в Dockerfile
  • Добавить resource limits (mem_limit: 512m, cpus: 1.0)
  • Добавить healthcheck (curl -f http://localhost:3000/health)
  • Убрать маунт исходников ./src:/app/src/ (теперь COPY в Dockerfile)
  • Убрать маунт package.json/package-lock.json

Коммит: ba80784

## ✅ Реализовано - [x] Убрать `privileged: true` из docker-compose.yml - [x] Убрать `SYS_MODULE` из cap_add (оставлен NET_ADMIN) - [x] Добавить `USER appuser` в Dockerfile - [x] Добавить resource limits (mem_limit: 512m, cpus: 1.0) - [x] Добавить healthcheck (curl -f http://localhost:3000/health) - [x] Убрать маунт исходников `./src:/app/src/` (теперь COPY в Dockerfile) - [x] Убрать маунт package.json/package-lock.json **Коммит**: ba80784
NW closed this issue 2026-06-22 00:26:50 +00:00
Sign in to join this conversation.