Ужесточить контейнеры сервисов
Прикладные образы работают non-root (deal, UID 10001, HOME=/tmp); в compose добавлены read_only root FS, tmpfs /tmp, no-new-privileges, cap_drop ALL и лимиты mem/cpus. Логи stateless-сервисов вынесены в /tmp/logs. Проверено compose config (dev/prod/observability).
This commit is contained in:
@@ -35,4 +35,11 @@ COPY --from=ghcr.io/grpc-ecosystem/grpc-health-probe:v0.4.35 /ko-app/grpc-health
|
||||
# Сессии тенантов — файлы /data/sessions (Ruling 3): каталог монтируется volume-ом deal_tg_sessions
|
||||
# из compose.dev.yml; создаётся при первом сохранении сессии (задачи 9–11).
|
||||
|
||||
# Non-root: процесс работает пользователем deal (UID 10001); /data/sessions — каталог сессий (volume).
|
||||
RUN useradd --uid 10001 --shell /usr/sbin/nologin --no-create-home deal \
|
||||
&& mkdir -p /data/sessions \
|
||||
&& chown -R deal:deal /data/sessions
|
||||
ENV HOME=/tmp
|
||||
USER deal
|
||||
|
||||
ENTRYPOINT ["dotnet", "Deal.Telegram.dll"]
|
||||
|
||||
Reference in New Issue
Block a user