镜像安全之构建阶段阻断

我们可以通过已有的镜像安全检测工具,对早已存在的镜像进行安全扫描,并对当前正在构建的镜像设置阻断规则,将安全防护前移至 CI/CD 阶段

当前市面上已知的镜像检测工具有:trivy、anchor、veinmind等,有一些是免费开源的

这个帖子记录一下使用 veinmind 阻断功能过程,其他工具功能后续再补充:

# first

./veinmind-runner authz -c config.toml 

# second

dockerd --authorization-plugin=veinmind-broker

其中config.toml,包含如下字段

字段名 字段属性 含义
policy action string 需要监控的行为
enabled_plugins []string 使用哪些插件
plugin_params []string 各个插件的参数
risk_level_filter []string 风险等级
block bool 是否阻断
alert bool 是否报警
log report_log_path string 插件扫描日志
authz_log_path string 阻断服务日志

action 原则上支持 DockerAPI 所提供的操作接口

如下的配置表示:当 创建容器或推送镜像 时,使用 veinmind-weakpass 插件扫描ssh服务,如果发现有弱密码存在,并且风险等级为 High 则阻止此操作,并发出警告。最终将扫描结果存放至plugin.log,将风险结果存放至auth.log。

[log]
plugin_log_path = "plugin.log"
auth_log_path = "auth.log"
[listener]
listener_addr = "/run/docker/plugins/veinmind-broker.sock"
[[policies]]
action = "container_create"
enabled_plugins = ["veinmind-weakpass"]
plugin_paramas = ["veinmind-weakpass:scan.serviceName=ssh"]
risk_level_filter = ["High"]
block = true
alert = true
[[policies]]
action = "image_push"
enabled_plugins = ["veinmind-weakpass"]
plugin_params = ["veinmind-weakpass:scan.serviceName=ssh"]
risk_level_filter = ["High"]
block = true
alert = true

项目地址:https://github.com/chaitin/veinmind-tools

老哥们有想看的工具或功能可以评论交流

75 views
Comments
登录后评论
Sign In