Python Docker镜像OpenSSH高危漏洞(CVE-2023-38408)修复咨询
修复Docker镜像中OpenSSH低于9.3p2的CVE-2023-38408漏洞方案
切换到基于Debian 12(Bookworm)的Python镜像
官方Python镜像提供了基于Debian Bookworm的标签(比如python:3.9-bookworm、python:3.10-bookworm),Bookworm的软件源里OpenSSH版本包含针对该漏洞的修复,直接替换基础镜像即可。示例Dockerfile:FROM python:3.9-bookworm RUN apt-get update && apt-get install -y --no-install-recommends openssh-server && \ rm -rf /var/lib/apt/lists/*启用Debian Backports源升级现有镜像
要是必须用Python 3.9.18的Bullseye镜像,通过添加Backports源可以获取到更高版本的OpenSSH。操作步骤:FROM python:3.9.18-slim-bullseye # 添加Bullseye Backports源 RUN echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list.d/backports.list && \ apt-get update && \ # 从Backports安装更新版OpenSSH apt-get install -y --no-install-recommends -t bullseye-backports openssh-server && \ rm -rf /var/lib/apt/lists/*从源码编译指定版本的OpenSSH
前两种方法都走不通的话,直接手动编译OpenSSH 9.3p2:FROM python:3.9.18-slim-bullseye RUN apt-get update && apt-get install -y --no-install-recommends build-essential zlib1g-dev libssl-dev wget && \ # 下载源码包 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p2.tar.gz && \ tar xzf openssh-9.3p2.tar.gz && cd openssh-9.3p2 && \ # 编译安装 ./configure --prefix=/usr --sysconfdir=/etc/ssh && \ make && make install && \ # 清理临时文件和依赖 cd ../ && rm -rf openssh-9.3p2* && \ apt-get purge -y build-essential wget && apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/*移除不必要的OpenSSH服务
如果你的容器根本不需要SSH访问,直接卸载相关包就能彻底消除这个漏洞:FROM python:3.9.18-slim-bullseye RUN apt-get remove -y --purge openssh-server openssh-client && \ apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/*
内容的提问来源于stack exchange,提问作者tranvizin
相关产品推荐
相关产品推荐

