Docker安全基线检查需要修复的一些问题

这篇具有很好参考价值的文章主要介绍了Docker安全基线检查需要修复的一些问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、可能出现的漏洞

Docker安全基线检查需要修复的一些问题,java,docker,安全,容器

限制容器之间的网络流量
限制容器的内存使用量
为Docker启用内容信任
将容器的根文件系统挂载为只读
审核Docker文件和目录
 

默认情况下,同一主机上的容器之间允许所有网络通信。 如果不需要,请限制所有容器间的通信。 将需要相互通信的特定容器链接在一起。默认情况下,同一主机上所有容器之间都启用了不受限制的网络流量。 因此,每个容器都有可能读取同一主机上整个容器网络上的所有数据包。 这可能会导致意外和不必要的信息泄露给其他容器。 因此,限制容器间的通信。

 
"默认情况下,Docker主机上的所有容器均等地共享资源。 通过使用Docker主机的资源管理功能(例如内存限制),您可以控制容器可能消耗的内存量。


默认情况下,容器可以使用主机上的所有内存。 您可以使用内存限制机制来防止由于一个容器消耗主机的所有资源而导致的服务拒绝,从而使同一主机上的其他容器无法执行其预期的功能。 对内存没有限制可能会导致一个问题,即一个容器很容易使整个系统不稳定并因此无法使用。"


"默认情况下禁用内容信任。 您应该启用它。
内容信任提供了将数字签名用于发送到远程Docker注册表和从远程Docker注册表接收的数据的功能。 这些签名允许客户端验证特定图像标签的完整性和发布者。 这确保了容器图像的出处"
"容器的根文件系统应被视为“黄金映像”,并且应避免对根文件系统的任何写操作。 您应该显式定义用于写入的容器卷。


您不应该在容器中写入数据。 属于容器的数据量应明确定义和管理。 在管理员控制他们希望开发人员在何处写入文件和错误的许多情况下,这很有用。"
除了审核常规的Linux文件系统和系统调用之外,还审核所有与Docker相关的文件和目录。 Docker守护程序以“ root”特权运行。 其行为取决于某些关键文件和目录。如 /var/lib/docker、/etc/docker、docker.service、 docker.socket、/usr/bin/docker-containerd、/usr/bin/docker-runc等文件和目录

二、修复建议:

在守护程序模式下运行docker并传递'--icc = false'作为参数。
例如,
```
/usr/bin/dockerd --icc=false
```
若使用systemctl管理docker服务则需要编辑
```
/usr/lib/systemd/system/docker.service
```
文件中的`ExecStart`参数添加 `--icc=false`选项
然后重启docker服务
```
systemctl daemon-reload
systemctl restart docker
```"
"仅使用所需的内存来运行容器。 始终使用'--memory'参数运行容器。 您应该按以下方式启动容器:
```
docker run --interactive --tty --memory 256m <Container Image Name or ID>
```"
"要在bash shell中启用内容信任,请输入以下命令:`export DOCKER_CONTENT_TRUST=1`
或者,在您的配置文件中(/etc/profile或/etc/profile.d/docker.sh)设置此环境变量,以便在每次登录时启用内容信任。
内容信任目前仅适用于公共Docker Hub的用户。 当前不适用于Docker Trusted Registry或私有注册表。"
"添加“ --read-only”标志,以允许将容器的根文件系统挂载为只读。 可以将其与卷结合使用,以强制容器的过程仅写入要保留的位置。
您应该按以下方式运行容器:
```
docker run --interactive --tty --read-only --volume <writable-volume> <Container Image Name or ID> <Command>
```
如果您是k8s或其他容器编排软件编排的容器,请按照相应的安全策略配置或忽略。"
"找到/etc/audit/audit.rules与/etc/audit/rules.d/audit.rules文件(若没有则先确认是否已安装auditd服务),
在文件中添加以下行:
```
-w /var/lib/docker -k docker
-w /etc/docker -k docker
-w /usr/lib/systemd/system/docker.service -k docker
-w /usr/lib/systemd/system/docker.socket -k docker
-w /usr/bin/docker-containerd -k docker
-w /usr/bin/docker-runc -k docker
-w /usr/bin/containerd -k docker
```
然后,重新启动audit程序。 例如
```
service auditd restart
```"
 

三、修复样例:

一、限制容器之间的网络流量

vim  /etc/docker/daemon.json
添加以下内容到 daemon.json 文件中:

{
    "icc": false
}
 
 

sudo service docker restart

docker restart apollo-configservice 
docker restart apollo-portal
docker restart  apollo-adminservice

docker restart  ctg-eureka 
docker restart  nginx
systemctl start docker

二、限制容器的内存使用量
 

docker stats {container_id/container_name}
 
docker stats  apollo-portal
docker stats apollo-configservice 
docker stats apollo-adminservice


docker stats ctg-eureka
docker stats nginx
 

docker update --memory 1GiB --memory-swap -1 apollo-portal
docker update --memory 1GiB --memory-swap -1 apollo-configservice 
docker update --memory 1GiB --memory-swap -1 apollo-adminservice


docker update --memory 10GiB --memory-swap -1 ctg-eureka
docker update --memory 10GiB --memory-swap -1 nginx


三、为Docker启用内容信任

 vim  /etc/profile

export DOCKER_CONTENT_TRUST=1

source  /etc/profile


四 、将容器的根文件系统挂载为只读

docker run --interactive --tty --read-only --volume <writable-volume> <Container Image Name or ID> 

docker run --interactive --tty --read-only --volume  /home/docker/apps/eureka/ ctg-eureka

docker run --interactive --tty --read-only --volume  /home/docker/apps/nginx/ nginx

例子:
 docker run --read-only -v /icanwrite busybox touch /icanwrite/here

五、审核Docker文件和目录

在/etc/audit/audit.rules与/etc/audit/rules.d/audit.rules文件中添加以下行:

-w /var/lib/docker -k docker
-w /etc/docker -k docker
-w /usr/lib/systemd/system/docker.service -k docker
-w /usr/lib/systemd/system/docker.socket -k docker
-w /usr/bin/docker-containerd -k docker
-w /usr/bin/docker-runc -k docker

vim  /etc/audit/audit.rules
vim  /etc/audit/rules.d/audit.rules

-w /var/lib/docker -k docker
-w /etc/docker -k docker
-w /usr/lib/systemd/system/docker.service -k docker
-w /usr/lib/systemd/system/docker.socket -k docker
-w /usr/bin/docker-containerd -k docker
-w /usr/bin/docker-runc -k docker


service auditd restart


 文章来源地址https://www.toymoban.com/news/detail-802216.html

到了这里,关于Docker安全基线检查需要修复的一些问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安全评估之漏洞扫描、基线检查、渗透测试

    为保证业务系统运营的安全稳定,在业务系统上线前需要开展三同步检查,针对新业务系统上线、新版本上线、项目验收前开展安全评估。可以帮助其在技术层面了解系统存在的安全漏洞。今天就来了解一下安全评估之漏洞扫描、基线检查、渗透测试。 安全评估的内容主要涉

    2024年02月11日
    浏览(55)
  • 基线扫描tomcat安全加固-检查是否支持HTTPS等加密协议

    背景:基线扫描时,docker镜像中的tomcat在检查是否支持HTTPS等加密协议这一项上未通过。 思路:先通过JDK自带的keytool工具生成证书,再从tomcat的server.xml配置文件中增加配置。 我不确定不同版本的JDK生成的证书是否可以通用,所以我使用镜像自带的jdk生成证书, 因为我使用的

    2024年01月23日
    浏览(51)
  • 大坝安全监测中需要做好检查监测

    大坝安全监测是人们了解大坝运行状态和安全状况的有效手段和方法。它的目的主要是了解大坝安全状况及其发展态势,是一个包括由获取各种环境、水文、结构、安全信息到经过识别、计算、判断等步骤,最终给出一个大坝安全 程度的全过程。   此过程包括:通过各种信

    2024年02月17日
    浏览(46)
  • 电脑蓝屏、经常用一会后蓝屏问题检查修复

    本篇文章适用于 解决电脑能正常开机,但是用一会后就蓝屏 的问题。按照下面的顺序进行检查和修复, 绝大部分蓝屏问题都能得到解决 。 电脑蓝屏可以从三个方面进行检查: 1、内存条,2、硬盘,3、程序或者软件驱动。 1.内存条 内存条出问题或者损坏会导致电脑蓝屏,可

    2024年02月09日
    浏览(45)
  • 【golang】使用通道时需要注意的一些问题

    Go 1.20 Windows 11 1.定义通道变量: 2.通道遵循FIFO先入先出规则,可以保证元素的顺序 3.通道是并发安全的,不会因多个协程的同时写入而发生数据错乱 下面的代码例子会经常出现调用 display 函数,这是我自己定义的一个函数,主要用于打印信息,代码如下: 为了减少代码冗余

    2024年02月12日
    浏览(94)
  • 【笔记】Arrays.binarySearch()实践,以及需要注意的一些问题点

    背景:我想校验一个指定的String字符串,是否存在于另一个String数组中,选择 Arrays.binarySearch() 方法实现,代码如下: 运行结果: 很直观的能看到item数组里面存在字符串 1591 ,为什么程序运行的结果却是找不到该元素呢? 首先来看一下源码: 注意,注释上提到了两个重点:

    2024年02月06日
    浏览(44)
  • 关于问题【Windows 资源保护找到了损坏文件,但其中有一些文件无法修复】解决办法

    Windows 资源保护找到了损坏文件,但其中有一些文件无法修复。 对于联机修复,位于 windirLogsCBSCBS.log 的 CBS 日志文件中 有详细信息。例如 C:WindowsLogsCBSCBS.log。对于脱机修复, /OFFLOGFILE 标记提供的日志文件中有详细信息。

    2024年02月16日
    浏览(58)
  • bat脚本字符串替换:路径中\需要替换,解决一些文件写入路径不对的问题

    set dir_tmp=%~dp0 新建一个变量dir_tmp,存储获取的脚本当前路径 set dir=%dir_tmp:= \\\\ \\\\% 新建一个变量dir ,存储字符串替换之后的路径 其中黄色的\\\\实际上代表的是一个

    2024年02月07日
    浏览(39)
  • SimpleDateFormat 线程安全问题修复方案

    在日常的开发过程中,我们不可避免地会使用到 JDK8 之前的 Date 类,在格式化日期或解析日期时就需要用到 SimpleDateFormat 类,但由于该类并不是线程安全的,所以我们常发现对该类的不恰当使用会导致日期解析异常,从而影响线上服务可用率。 以下是对 SimpleDateFormat 类不恰当

    2024年02月12日
    浏览(40)
  • 10-java实现对上传文件做安全性检查

    对外接口支持文件上传功能时,为避免有人恶意上传有毒或者篡改程序的脚本,需要对上传的文件添加安全性校验。 文件首先校验直观文件上传格式,校验文件后缀是否符合业务要求。以MultipartFile类为例 由于文件后缀可能涉及到篡改的情况出现,因此需要校验文件的魔数,

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包