Debian系统Docker安全配置要点
sudo apt update && sudo apt upgrade更新Debian系统及Docker引擎(如docker-ce、containerd.io),修复内核漏洞与Docker自身安全问题,降低被攻击风险。docker组(sudo usermod -aG docker your_username),避免直接以root身份运行Docker命令;禁止root用户SSH远程登录(修改/etc/ssh/sshd_config中PermitRootLogin no),减少宿主机被入侵的入口。ufw或iptables限制入站流量,仅开放HTTP(80)、HTTPS(443)、SSH(22)等必要端口,阻止未经授权的容器访问。debian:bullseye-slim),通过docker scan(Docker Desktop内置)或trivy扫描镜像漏洞(如trivy image --severity HIGH,CRITICAL your-image:tag),避免使用包含高危漏洞的镜像。/etc/docker/daemon.json,启用userns-remap(用户命名空间映射,如"userns-remap": "default")实现容器用户与宿主机用户隔离;设置log-driver为json-file并限制日志大小(如"log-opts": {"max-size": "100m"}),避免日志文件过大;指定storage-driver为overlay2(Debian推荐的存储驱动)。/var/run/docker.sock权限(sudo chown root:docker /var/run/docker.sock,sudo chmod 660 /var/run/docker.sock),仅允许root用户和docker组成员访问;建议启用TLS加密(在daemon.json中配置"tls": true并生成证书),防止未经授权的远程访问。--privileged标志运行容器(该标志赋予容器root权限),尽量以非root用户运行容器(在Dockerfile中通过RUN useradd创建用户,或在docker run命令中指定-u 1001:1001);使用--cap-drop=ALL移除所有Linux能力,仅添加必要能力(如--cap-add=NET_BIND_SERVICE)。docker run或docker-compose.yml设置资源上限,如限制CPU使用(--cpus="2.0")、内存使用(--memory="1G")、进程数(--pids-limit=100),防止容器因资源耗尽导致宿主机崩溃或被用于挖矿等恶意行为。docker network create --driver bridge secure-network),将容器放入自定义网络中,限制容器间通信;避免暴露不必要的端口(如使用-p 8080:80而非-p 80:80),减少外部攻击面。docker run --security-opt apparmor=docker-default myapp:latest);使用Seccomp过滤系统调用(如docker run --security-opt seccomp=./secure-profile.json myapp:latest),仅允许容器使用必要的系统调用。--read-only=true),防止容器内恶意进程修改文件;将临时目录(如/tmp)挂载为tmpfs(--tmpfs /tmp:size=100M,mode=1777),限制临时文件的写入权限。docker stats实时监控容器资源使用情况;配置日志收集(如docker logs -f或第三方工具如ELK、Prometheus),记录容器运行日志;定期审计Docker配置(如检查/etc/docker/daemon.json)和镜像(如扫描漏洞),及时发现并修复安全问题。