修复 docker 文件中的漏洞

问题描述 投票:0回答:2

我已经开始运行示例 .net8 Web api 并将图像上传到亚马逊 ecr 上。我发现检测到以下漏洞。

CVE 列表(关键至中等)

CVE-2023-45853
CVE-2023-31484
CVE-2023-4039

我已经更新了 docker 文件来尝试更新软件包,但我猜修复尚未可用。

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
RUN apt-get update
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
RUN apt-get update
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["SampleAppNet8.csproj", "."]
RUN dotnet restore "./././SampleAppNet8.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "./SampleAppNet8.csproj" -c $BUILD_CONFIGURATION -o /app/build

FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./SampleAppNet8.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "SampleAppNet8.dll"]

处理部署管道中的 ecr 扫描漏洞的推荐方法是什么?

docker security dockerfile amazon-ecr
2个回答
1
投票

您可以尝试将基础图像更改为高山(或基础图像,因为我猜它被用作最终图像)

FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine AS runtime

0
投票

实际上,您始终可以在 docker hub 上浏览镜像,以免出现严重问题。我发现 alpine 有最好的赛道,你可以在开发和单元测试期间使用类似的( dotnet/sdk:8.0-alpine )

FROM microsoft-docker-remote.artifactory.swisscom.com/dotnet/aspnet:8.0-alpine AS base

稍后您可以在本地安装 trivy(例如,使用 choco/brew)并扫描图像以节省时间,然后再推送到管道

trivy image <full-image-name>
© www.soinside.com 2019 - 2024. All rights reserved.