注意:Turbinia 将不再开发新功能,并已进入维护模式。用户应关注 OpenRelik。
Turbinia 是一个开源框架,用于部署、管理和运行分布式取证工作负载。其目标是自动运行常见的取证处理工具(如 Plaso、TSK、strings 等),以帮助在云端处理证据、扩展大量证据的处理能力,并通过尽可能并行处理来缩短响应时间。
Turbinia 由客户端、服务器和工作者等不同组件构成。这些组件可以在云端、本地机器上运行,或采用混合方式。Turbinia 客户端向 Turbinia 服务器提交证据处理请求。Turbinia 服务器根据用户传入的请求创建逻辑作业,这些作业会生成并调度取证处理任务,由工作者执行。当可能时,作业会将待处理的证据进行拆分,从而创建多个任务以实现并行处理。一个或多个工作者持续运行,处理来自服务器的任务。任务创建或发现的任何新证据都会被反馈回 Turbinia 进行进一步处理。
目前,客户端与服务器之间的通信通过 Kombu 消息传递实现。工作者实现使用 Celery 进行任务调度。
Turbinia 的主要文档可以在此处找到。你也可以查阅关于架构和工作原理的更多信息。
Turbinia 目前处于 Alpha 版本。
这里有一份安装指南。
在初始安装和配置之后,基本的使用步骤如下:
turbiniactl server 命令启动 Turbinia 服务器组件turbiniactl api_server 命令启动 Turbinia API 服务器组件turbiniactl celeryworker 启动一个或多个 Turbinia 工作者pip install turbinia-client 安装 turbinia-clientturbinia-client submit ${evidencetype} 提交待处理的证据turbinia-client status 检查运行任务的状态turbinia-client 可用于通过 API 服务器组件与 Turbinia 交互,以下是基本用法:
$ turbinia-client -h
Usage: turbinia-client [OPTIONS] COMMAND [ARGS]...
Turbinia API command-line tool (turbinia-client).
*** ***
* *
*** ******
* *
** * * ** ,*
******* * ********
* * *
* * *
%%%%%%
%%%%%%
%%%%%%%%%%%%%%% %%%%%%
%%%%%%%%%%%%%%%%%%%%% %%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ** *******
%% %% ***************
%% (%%%%%%%%%%%%%%%%%%% ***** **
%%%%% %%%%%%%%%%%%%%%
%%%%%%%%%% %% ** ***
%%% %% %% %%% %%%%,
%%% %%% %%% %%%%% %%% %%% %% %%% %%% %%% (%%
%%% %%% %%% %%% %% %%/ %% %%% %%% %%% %%%%%%%%
%%% %%% %%% %%% %%% %%% %% %%% %%% %%% %%% %%%
%%% %%%%% %%% %%%%% %% %%% %% %%% %%%%%
This command-line tool interacts with Turbinia's API server.
You can specify the API server location in ~/.turbinia_api_config.json
Options:
-c, --config_instance TEXT A Turbinia instance configuration name.
[default: (dynamic)]
-p, --config_path TEXT Path to the .turbinia_api_config.json file..
[default: (dynamic)]
-h, --help Show this message and exit.
Commands:
config Get Turbinia configuration.
evidence Get or upload Turbinia evidence.
jobs Get a list of enabled Turbinia jobs.
result Get Turbinia request or task results.
status Get Turbinia request or task status.
submit Submit new requests to the Turbinia API server.
请查看 turbinia-client 文档页面获取详细用户指南。
你也可以通过使用 API 库直接从 Python 与 Turbinia 交互。我们在此提供了一些示例。
这不是一个官方的 Google 产品(实验性的或其他),它只是恰好由 Google 拥有的代码。