工具简介
Cnitch,又名Snitch或Container Snitch,它是一款针对Docker引擎的运行进程权限检测工具。Cnitch本质上来说是一个简单的框架和命令行工具,该工具可以帮助研究人员监控Docker容器内的运行进程,如果有进程是以root权限的话,研究人员将第一时间收到Cnitch的通知。
运行机制
Cnitch能够通过API来跟Docker引擎连接,并查询当前正在运行的容器。接下来,该工具将会检测容器内正在运行的进程,并识别运行的进程是否是以root用户权限运行的。
当Cnitch检测到了一个root进程之后,便会将相关信息发送给Cnitch中的一个可配置报告模块,并允许研究人员对相关信息进行编辑或进行其他操作。
报告模块
目前,Cnitch可以将发现的信息报告给StatsD和StdOut,报告后端允许研究人员自行扩展,以便支持任何后台服务器。除此之外,Cnitch的可扩展特性还可以帮助研究人员构建一个后台系统以支持日志存储或日志聚合,而且整个过程非常简单。
StatsD Cnitch会利用cnitch.exception.root_process方法将检测到的信息发送给StatsD,并且每条信息都会使用Cnitch示例的host名称以及container名称进行标记。
StdOut StdOut是一个简单的输出日志记录组件,它可以接收并记录Cnitch反馈回来的监测信息。
工具运行
我们可以在一个Docker容器内运行Cnitch,也可以直接在本地运行,但在工具运行之前需要设置服务器的URL地址、Docker API和socket路径,所有的参数都需要通过环境变量“DOCKER_HOST”来设置。
工具下载
- https://github.com/nicholasjackson/cnitch
还没有评论,来说两句吧...