badsectorlabs/ludus_elastic_agent
GitHub: badsectorlabs/ludus_elastic_agent
一个用于在 Ludus 实验环境中快速部署 Elastic Agent 的 Ansible 角色,支持跨平台日志采集与监控。
Stars: 7 | Forks: 6
# Ansible Role:Elastic Agent 部署
一个用于将 Elastic Agent 部署到 Windows、Debian 和 Ubuntu 系统的 Ansible role。
## 描述
- 该 role 会检查 Elastic Agent 是否已下载到 Ludus 主机上。如果没有,它将尝试根据 `ludus_elastic_agent_version` 变量下载 Agent。
- Agent 版本可以在[这里找到](https://www.elastic.co/downloads/past-releases#elastic-agent)
- 该 role 专为 Windows、Debian、Ubuntu 系统设计。
- 该 role 是 [ludus_elastic_container](https://github.com/badsectorlabs/ludus_elastic_container) 的补充。
警告:
- Agent 安装过程中使用了 `--force` 标志。这将覆盖当前的安装并且不提示确认。
- Agent 安装过程中使用了 `--insecure` 标志。这是为了忽略自签名证书。
## 要求
无。
## Role 变量
可用的变量如下所示,以及默认值(见 `defaults/main.yml`):
```
# 如果你正在监控日志,ludus_elastic_container role 会将其输出到控制台。
# 也可以通过 kibana UI 访问。
# 也可以在 /opt/{{ ludus_elastic_container_install_path }}/enrollment_token.txt 中访问
ludus_elastic_enrollment_token: ""
# 你的 elastic 服务器 IP 地址和端口(默认为 8220)
# `ludus range status` 将为你提供 IP 地址
ludus_elastic_fleet_server: ""
# 一个有效的 agent 版本以供下载和安装
ludus_elastic_agent_version: ""
# 在任何 Windows 主机上安装 Sysmon(Elastic v9.X 会摄取日志)
ludus_elastic_install_sysmon: ""
# Sysmon 安装位置
ludus_elastic_sysmon_path: "C:\\Program Files (x86)\\Sysmon"
```
## 依赖
无。
## 示例 Playbook
```
- hosts: elastic-agent
roles:
- badsectorlabs.ludus_elastic_agent
role_vars:
ludus_elastic_enrollment_token: ""
ludus_elastic_fleet_server: "https://:8220" #8220 by default
ludus_elastic_agent_version: "9.3.1"
```
## 示例 Ludus Range 配置
```
ludus:
- vm_name: "{{ range_id }}-jumpbox01"
hostname: "{{ range_id }}-jumpbox01"
template: debian-12-x64-server-template
vlan: 20
ip_last_octet: 25
ram_gb: 4
cpus: 2
linux: true
testing:
snapshot: false
block_internet: false
roles:
- badsectorlabs.ludus_elastic_agent # role_vars are not required when using ludus
```
设置 `role_vars` 以安装 Elastic agent v8.X:
```
ludus:
- vm_name: "{{ range_id }}-jumpbox01"
hostname: "{{ range_id }}-jumpbox01"
template: win2022-server-x64-template
vlan: 20
ip_last_octet: 21
ram_gb: 6
cpus: 4
windows:
sysprep: true
roles:
- badsectorlabs.ludus_elastic_agent
role_vars:
ludus_elastic_agent_version: "8.12.2"
ludus_elastic_install_sysmon: false
```
## Ludus 设置
```
# 将 role 添加到你的 ludus host
ludus ansible roles add badsectorlabs.ludus_elastic_agent
# 将你的配置放入文件中,以便分配给你的 VM
ludus range config get > config.yml
# 编辑配置以将 role 添加到你想作为 elastic server 的 VM
ludus range config set -f config.yml
# 仅使用 user-defined-roles 部署 range :)
ludus range deploy -t user-defined-roles
```
## 许可证
GPLv3
## 作者信息
此 role 由 [Bad Sector Labs](https://badsectorlabs.com/) 为 [Ludus](https://ludus.cloud/) 创建。欢迎提交 PR。
标签:Ansible, Ansible Role, Debian, EC2, Elastic Agent, Elasticsearch, Fleet Server, IaC, IT运维, Ludus, MIT许可证, OpenCanary, PE 加载器, Socks5代理, Sysmon, 安全代理, 数据集, 日志采集, 服务端点, 特权提升, 端点管理, 系统提示词, 自动化部署, 请求响应过滤, 逆向工具