vadage/signalytics

GitHub: vadage/signalytics

一个从 HTTP 日志中采集并聚合 TLS 指纹信号的微服务,帮助用户分析访问客户端的 TLS 特征趋势。

Stars: 0 | Forks: 0

# Signalytics 一个用于从 HTTP 日志中收集聚合 TLS 指纹的微服务。 用于获取访问您服务器的 TLS 信号/指纹的分析洞察,以便您可以根据趋势在防火墙上采取相应措施。 ## 功能 * 聚合 TLS 指纹:密码套件、扩展和 ClientHello 长度。 * 这些字段可以由 Cloudflare 免费版提供。[查看他们的文档](https://developers.cloudflare.com/rules/transform/request-header-modification/reference/fields-functions/)。 * 批量写入 MySQL 以实现高效存储。 * 包含 [Caddy](conf/Caddyfile) 和 [Nginx](conf/nginx.conf) 的示例集成。 * 通过 UDP 端口 ``9000`` 接收日志。 * 通过 JSON 格式可轻松扩展以支持其他 Web 服务器。 * 同时支持 RFC 3164 和 RFC 5424 的 Syslog。 ## 入门指南 ### 前置条件 * Docker / Docker Compose ### 本地开发 ``` git clone https://github.com/vadage/signalytics.git cd signalytics docker compose up -d ``` 使用 cURL 测试的示例: ``` curl 'http://localhost:8080/' \ --header 'X-TLS-Client-Ciphers-SHA1: GXSPDLP4G3X+prK73a4wBuOaHRc=' \ --header 'X-TLS-Client-Extensions-SHA1: OWFiM2I5ZDc0YWI0YWYzZmFkMGU0ZjhlYjhiYmVkMjgxNTU5YTU2Mg==' \ --header 'X-TLS-Client-Hello-Length: 508' ``` ### 生产环境 确保仅转发来自受信任来源的值。 ``` docker run \ -e DATABASE_URL="mysql://user:password@host:port/dbname" \ ghcr.io/vadage/signalytics:latest ``` **附加选项** | 选项 | 默认值 | 描述 | |-------------|---------|--------------------------------------------------------------------------------------| | `LOG_LEVEL` | info | 设置日志的详细程度。可以是 `off`、`trace`、`debug`、`info`、`warn`、`error`。 | ### JSON 日志格式 日志必须至少包含此结构。建议使用较小的 payload 以获得更高的吞吐量和可靠性。 ``` { "tls_client_ciphers_sha1":"GXSPDLP4G3X+prK73a4wBuOaHRc=", "tls_client_extensions_sha1":"OWFiM2I5ZDc0YWI0YWYzZmFkMGU0ZjhlYjhiYmVkMjgxNTU5YTU2Mg==", "tls_client_hello_length":"508" } ``` ## 许可证 [MIT 许可证](LICENSE)
标签:Radare2, TLS指纹, 命令控制, 数据采集, 版权保护, 请求拦截, 通知系统, 防火墙集成