「安定坊」安全卫士-容器漏洞评估

2023-10-21 09:50

本文主要是介绍「安定坊」安全卫士-容器漏洞评估,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

「安定坊」安全卫士-容器漏洞评估

现阶段,我们正在从虚拟化过渡到容器化,一些我们所熟悉的容器化技术就包括了诸如docker或quay.io等。一般来说,我们可以通过配置程序依赖环境来为特定应用程序建立镜像,通常当开发人员使用容器时,它不仅把程序进行了打包,同时也可以将程序封装成操作系统一部分。可糟糕的是,我们不知道容器的连接库是否已打补丁或是否易受到攻击。
因此,今天我们要来展示的是“如何在任何基础架构中进行容器审计以及漏洞评估”。

Clair:针对漏洞的漏扫工具

安装

CoreOS开发了一个很棒的容器扫描工具—Clair。

Clair是一个开源项目,用于静态分析应用程序和Docker容器中的漏洞,使用以下命令可在git的帮助下克隆该软件包。
git clone https://github.com/arminc/clair-scanner.git

Docker镜像漏洞扫描

在本地计算机上运行docker
apt install golang

构建库以安装Clair的所有依赖项
cd clair-scanner
make build
make cross

如果主机中没有docker镜像,那么可以提取一个用于漏洞评估的新镜像如下:
docker pull ubuntu:16.04

在本地端口5432运行docker镜像
docker run -d -p 5432:5432 --name db arminc/clair-db:latest

运行docker image for postgres以链接Clair scan。
docker run -d -p 6060:6060 –-link db:postgres –- name clair arminc/clair-local-scan:latest

使用Clair扫描容器或容器镜像的漏洞。
Syntax: ./clair-scanner -ip -routput.jason
./clair-scanner –-ip 172.17.0.1 -r report.json ubuntu:16.04

Boom !!! 我们得到的扫描输出显示50个未批准的漏洞。
在这里插入图片描述
在这里插入图片描述

Bench - security :针对容器基线的漏扫工具

简介

Docker Bench for Security是一个脚本,用于检查有关在生产中部署Docker容器的安全问题。docker-bench根据互联网安全中心CIS对于docker1.13.0+的安全规范进行一系列的安全检查,bench对当前主机内的参数进行检查,输出相应的结果。

安装

git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker-compose run --rm docker-bench-security

容器基线安全扫描

主机上有一些docker镜像:
在这里插入图片描述
如下所示的一组命令为Docker基线审计过程。
docker run -it --net host --pid host --userns host --cap-add audit_control
-eDocker_CONTENT_TRUST=$DOCKER_
CONTENT_TRUST
-v /etc:/etc:ro \
-v /usr/bin/containerd:/usr/bin/containerd:ro
-v /usr/bin/runc:/usr/bin/runc:ro
-v /usr/lib/systemd:/usr/lib/systemd:ro
-v /var/lib:/var/lib:ro
-v /var/run/docker.sock:/var/run/docker.sock:ro
–label docker_bench_security
docker/docker-bench-security

每个配置建议的输出结果为“信息”,“警告”,“合格”和“注释”,如下所述:
1.主机配置
2. Docker Daemon配置
3. Docker Daemon配置文件
4.容器镜像和安装文件
5.容器的runtime文件
6. Docker安全策略
也就是说,从截图中观察到已经创建了针对运行docker映像的root权限的警报。
在这里插入图片描述
要解决这种类型的配置错误,要先停止docker的运行过程,然后再次以低权限用户访问,并运行docker映像,如下所示:
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker run -itd –user 1001:1001 ubuntu

如果漏洞已修复,需再次使用bench工具扫描目标,交叉验证以确保已解除警告。 如下所示,此次我们获得了绿色标记,表明我们已经修补了漏洞。在这里插入图片描述
在这里插入图片描述

我们是谁:
安定坊是一个由白帽安全攻防爱好者组成的社群,这里有很多的爱好者交流与分享国内外前沿的安全攻防技术、国际安全事件、工具等。

加入我们:
扫描下方小助手二维码即可进群获得最新免费安全工具,一手国际安全资讯和国内外安全教材完整版PDF哦!

在这里插入图片描述

这篇关于「安定坊」安全卫士-容器漏洞评估的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/253590

相关文章

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle