加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

基于Docker的基础架构测试工具

发布时间:2020-12-16 03:55:03 所属栏目:安全 来源:网络整理
导读:我目前正在尝试将基于VM的基础架构迁移到基于Docker的基础架构,并抓住机会为此基础架构添加行为测试.因此,我的目标是在代码中对基本系统配置进行所有更改(例如在Dockerfile中),git版本化和(在理想世界中)每个更改都应该具有可测试的效果. 我想做的测试示例:

我目前正在尝试将基于VM的基础架构迁移到基于Docker的基础架构,并抓住机会为此基础架构添加行为测试.因此,我的目标是在代码中对基本系统配置进行所有更改(例如在Dockerfile中),git版本化和(在理想世界中)每个更改都应该具有可测试的效果.

我想做的测试示例:

>如果我在“postgres”容器中添加用户帐户和权限规则,则用户“x”应该能够(仅)从“web”容器访问(仅)数据库“y”(仅).
>如果我在此处更改后缀配置,例如插入更改,那么人类用户必须进行身份验证,但系统用户可以发送未经身份验证的电子邮件.
>如果我在此处更改Apache配置,那么平均响应时间将低于x ms.

我真的不想测试的东西(尽管如此我不会受伤):

>文件x应该存在.
>应安装服务y.

我想知道如上所述进行基础设施测试的好/常用方法是什么,并乐于接受任何建议或听取最佳实践. (我发现serverspec,但在我看来好像这会支持第二种测试;在我读过的所有例子中,它宁愿检查系统状态而不是系统行为.)

最佳答案
在单一的“行为测试”中,您将混合各种想法.测试安全性(访问…),应用程序监控(响应时间……),基础架构合规性(文件/服务应该存在……).

因为你将infra作为版本化的代码方式,所以你应该像任何代码一样测试它,而serverspec是一个很好的工具.我个人更喜欢testinfra,基于python的等效框架.还有其他的,比如goss,robotframework,inspec ……在那里你可以测试很多东西:监听端口80,服务运行,配置文件存在.此外,由于您可以连接任何代码,您可以读取配置文件并检查用户X是否可以访问数据库Y而不是数据库Z.

至于响应时间是一个监控主题,如果它是关于实时环境,或负载测试,如果它是关于在上线之前测试分期.监控的可能性很多,比如nagios,zabbix ……对于负载测试,我会选择蝗虫.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读