zoukankan      html  css  js  c++  java
  • 螣龙安全手册:容器漏洞评估

     

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

    因此,今天我们要来展示的是“如何在任何基础架构中进行容器审计以及漏洞评估”。

    01

    Clair:针对漏洞的漏扫工具

    · 安装

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

    Clair是一个开源项目,用于静态分析应用程序和Docker容器中的漏洞,使用以下命令可在git的帮助下克隆该软件包

    gitclone  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 <docker ip> -routput.jason <docker-image>

    ./clair-scanner –-ip 172.17.0.1 -r report.json ubuntu:16.04

    Boom !!! 我们得到的扫描输出显示50个未批准的漏洞。

    02

     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哦!

     

  • 相关阅读:
    一次Oracle数据迁移
    mysql Error Handling and Raising in Stored Procedures
    expdp ORA-39213
    RHEL 6.4 64bit kettle5.01导入xlsx格式的excel时报错
    Oracle表空间传输测试
    oracle expdp 无法导出SYS下特定TABLE
    Oracle wrap 测试的一些细节问题
    论文-CondenseNet: An Efficient DenseNet using Learned Group Convolutions
    SystemVerilog-断言
    推挽输出和开漏输出
  • 原文地址:https://www.cnblogs.com/yhsaq/p/13687967.html
Copyright © 2011-2022 走看看