vsenatorov/auditvision
GitHub: vsenatorov/auditvision
面向 OpenShift 和 Kubernetes 的实时审计日志浏览器,通过集群内 AI 模型对操作事件进行本地风险评分,帮助企业实现合规审计与操作追踪。
Stars: 17 | Forks: 1
# Audit Radar
```
### 5. 打开 UI
```
oc get route audit-ui -n audit-vision
```
### 6. 获取管理员密码
```
oc get secret audit-ui-basic-secret -n audit-vision \
-o jsonpath='{.data.AUTH_BASIC_PASS}' | base64 -d && echo
```
使用 `admin` 及上述密码登录。
## 在 Kubernetes / k3s 上安装
### 前置条件
- Kubernetes 1.24+ 或 k3s 且具有 cluster-admin 权限
- Helm 3.x
- 在 kube-apiserver 上启用审计日志记录
### 1. 启用审计日志记录
Audit Radar 需要 kube-apiserver 将审计日志写入节点上的文件中。请参阅您所用发行版的文档。审计日志路径必须与 values 中的 `vector.auditLogPath`(默认为:`/var/log/k3s-audit.log`)相匹配。
`deploy-k8s/audit-policy.yaml` 中包含了示例审计策略。
### 2. 部署 Audit Radar
```
helm install audit-radar ./Helm/audit-radar-k8s \
--set ui.ingress.host=audit.192.168.10.30.nip.io
```
### 3. 打开 UI
```
kubectl get ingress -n audit-vision
```
### 4. 获取管理员密码
```
kubectl get secret audit-ui-basic-secret -n audit-vision \
-o jsonpath='{.data.AUTH_BASIC_PASS}' | base64 -d && echo
```
使用 `admin` 及上述密码登录。
## 默认凭据
Helm chart 会在安装时自动生成密码。请使用上方安装章节中的命令获取它,或者:
```
# OpenShift
oc get secret audit-ui-basic-secret -n audit-vision \
-o jsonpath='{.data.AUTH_BASIC_PASS}' | base64 -d && echo
# Kubernetes
kubectl get secret audit-ui-basic-secret -n audit-vision \
-o jsonpath='{.data.AUTH_BASIC_PASS}' | base64 -d && echo
```
在**不使用 Helm** 安装时,默认凭据为 `admin` / `changeme` —— 请立即更改。
## 角色映射
### OpenShift
| 来源 | 角色 | 权限 |
|--------|------|--------|
| OCP 组 `audit-radar-admins` | admin | 完全访问权限,包括设置 |
| OCP 组 `audit-radar-editors` | editor | 告警规则管理,无设置权限 |
| 任何经过认证的 OCP 用户 | viewer | 只读事件流 |
| Basic auth 用户 | admin | 完全访问权限 |
```
oc adm groups add-users audit-radar-admins alice
oc adm groups add-users audit-radar-editors bob
```
### Kubernetes
单一 Basic auth 用户。具有独立角色的多用户支持需要 OIDC 提供商(Keycloak、Dex)。
## 配置
### 关键参数 —— OpenShift
| 参数 | 默认值 | 描述 |
|-----------|---------|-------------|
| `collector.retentionDays` | `30` | 事件保留天数 |
| `ui.auth.adminGroup` | `audit-radar-admins` | 具有 admin 角色的 OCP 组 |
| `ollama.enabled` | `true` | 部署 AI 分析器 |
| `ollama.model` | `granite3.2:2b` | 模型(约 1.5GB) |
| `alerter.slack.webhookUrl` | `""` | Slack 入站 Webhook URL |
### 关键参数 —— Kubernetes
| 参数 | 默认值 | 描述 |
|-----------|---------|-------------|
| `ui.ingress.host` | `audit.192.168.10.30.nip.io` | Ingress 主机名 —— **请修改此项** |
| `vector.auditLogPath` | `/var/log/k3s-audit.log` | 宿主机上的审计日志路径 |
| `ollama.enabled` | `true` | 部署 AI 分析器 |
### 禁用 AI 分析器(资源受限的集群)
```
helm install audit-radar ./Helm/audit-radar-k8s \
--set ollama.enabled=false \
--set analyzer.enabled=false
```
## 排除过滤器
在 **Settings -> Exclusion Filters** 中丢弃嘈杂的 service account 流量。支持通配符匹配:
```
system:serviceaccount:cert-manager:*
system:serviceaccount:openshift-*
```
规则每 30 秒重载一次 —— 无需重启。
## 升级 / 卸载
```
# 升级
helm upgrade audit-radar ./Helm/audit-radar-openshift # or audit-radar-k8s
# 卸载 — OpenShift
helm uninstall audit-radar
oc delete namespace audit-vision
oc delete clusterrole audit-ui-groups-reader audit-ui-oauth-sync audit-vision-collector
oc delete clusterrolebinding audit-ui-groups-reader audit-ui-oauth-sync audit-vision-collector
oc delete oauthclient audit-radar
# 卸载 — Kubernetes
helm uninstall audit-radar
kubectl delete namespace audit-vision
kubectl delete clusterrole audit-vision-collector
kubectl delete clusterrolebinding audit-vision-collector
```
## Docker 镜像
| 镜像 | 链接 |
|-------|------|
| audit-ui | [hybrid2k3/audit-ui](https://hub.docker.com/r/hybrid2k3/audit-ui) |
| audit-collector | [hybrid2k3/audit-collector](https://hub.docker.com/r/hybrid2k3/audit-collector) |
| audit-analyzer | [hybrid2k3/audit-analyzer](https://hub.docker.com/r/hybrid2k3/audit-analyzer) |
| audit-alerter | [hybrid2k3/audit-alerter](https://hub.docker.com/r/hybrid2k3/audit-alerter) |
## 许可证
Apache 2.0
面向 OpenShift 和 Kubernetes 的实时审计日志浏览器
谁在什么时候做了什么 —— 横跨您的整个集群。具备 AI 风险评分和登录跟踪功能。
🌐 audit-radar.com · Docker Hub · Apache 2.0
标签:AI风险缓解, DevSecOps, EVTX分析, OpenShift, 上游代理, 审计日志, 日志审计, 测试用例, 请求拦截, 运维监控