LilithSec/Lilith
GitHub: LilithSec/Lilith
将 Suricata 和 Sagan 的 EVE 日志存入 PostgreSQL 并提供多维度搜索查询的轻量级安全事件聚合工具。
Stars: 1 | Forks: 1
# Lilith
Lilith 读取来自 Suricata 和 Sagan 的 EVE 文件并存入 PostgreSQL。
随后可以搜索这些数据并获取特定事件的信息。
## 安装
### Debian
```
apt-get install zlib1g-dev cpanminus libjson-perl libtoml-perl \
libdbi-perl libfile-readbackwards-perl libdigest-sha-perl libpoe-perl \
libfile-slurp-perl libdbd-pg-perl
cpanm Lilith
```
### FreeBSD
```
pkg install p5-App-cpanminus p5-JSON p5-TOML p5-DBI \
p5-File-ReadBackwards p5-Digest-SHA p5-POE \
p5-MIME-Base64 p5-Gzip-Faster p5-DBD-Pg p5-File-Slurp
cpanm Lilith
```
### 源码
```
perl Makefile.PL
make
make test
make install
```
## 设置
首先你需要设置你的 PostgreSQL 服务器。
```
createuser -D -l -P -R -S lilith
createdb -E UTF8 -O lilith lilith
```
设置 `/usr/local/etc/lilith.toml`
```
dsn="dbi:Pg:dbname=lilith;host=192.168.1.2"
pass="WhateverYouSetAsApassword"
user="lilith"
# 用于 extend 时方便忽略的一个选项,因为它会产生大量信息
class_ignore=["Generic Protocol Command Decode"]
# 添加一个 suricata 实例进行监控
[suricata-eve]
instance="foo-pie"
type="suricata"
eve="/var/log/suricata/alert.json"
# 添加第二个 suricata 实例进行监控
[another-eve]
instance="foo2-pie"
type="suricata"
eve="/var/log/suricata/alert2.json"
# 添加一个 sagan eve 进行监控
# 实例名称为 'foo-lae',因为实例没有值
[foo-lae]
type="sagan"
eve="/var/log/sagan/alert.json"
```
现在我们只需要设置表。
```
lilith -a create_tables
```
如果使用 snmpd。
```
extend lilith /usr/local/bin/lilith -a extend
```
### 配置文件
默认配置文件是 `/usr/local/etc/lilith.toml`。
| 变量 | 描述 |
|--------------|------------------------------------------------------------------------------------------------------------------------|
| dsn | [DBI][https://metacpan.org/pod/DBI] 使用的 DSN 连接字符串。[DBD::Pg][https://metacpan.org/pod/DBD::Pg] |
| pass | 用于连接的密码。 |
| user | 用于连接的用户。 |
| class_ignore | 要忽略的类数组。 |
子哈希随后被视为一个实例。以下值可用于该实例。
| 变量 | 必需 | 描述 |
|----------|------|----------------------------------------------------|
| eve | 是 | 要跟踪的 EVE 文件。 |
| type | 是 | `sagan` 或 `suricata`,取决于它是哪种。 |
| instance | 否 | 实例的名称。如果未指定,则使用哈希名称。 |
## 选项
### 概要
lilith \[-c \\] -a run
lilith -a class_map
lilith \[-c \\] -a create_tables
lilith \[-c \\] -a dump_self
lilith \[-c \\] -a event \[-t \\] --id \