首页
/ SGT项目使用与配置指南

SGT项目使用与配置指南

2025-04-17 06:05:23作者:宣海椒Queenly

1. 项目目录结构及介绍

SGT(Simple Go TLS)项目是一个用Go语言编写的osquery管理服务器,它完全基于AWS服务构建,使得基础设施要求极为简单、健壮且可扩展。以下是项目的目录结构及其各部分的简要介绍:

.
├── certs                  # 存储SSL证书文件
├── deploy                 # 部署相关文件
├── docs                   # 文档
├── dyndb                  # 动态数据库相关文件
├── endpoints              # 端点配置和部署脚本
├── handlers               # 处理程序相关代码
├── internal               # 内部包和模块
├── lambda_functions       # AWS Lambda函数
├── logger                 # 日志记录器
├── osquery_configs        # osquery配置文件
├── packs                  # osquery数据包
├── server                 # 服务器代码
├── terraform              # Terraform配置文件
├── vendor                 # 依赖库
├── .github                # GitHub相关配置
├── Gopkg.lock             # 依赖锁定文件
├── Gopkg.toml             # 依赖配置文件
├── LICENSE                # 许可证文件
├── README.md              # 项目说明文件
├── Tests.md               # 测试文档
├── config.example.json    # 配置文件示例
└── sgt.go                 # 主Go源文件

2. 项目的启动文件介绍

项目的启动文件是sgt.go,这是SGT服务的主入口点。在这个文件中,它定义了程序的初始化逻辑,包括加载配置、设置日志记录器、初始化数据库连接等。以下是启动文件的基本结构:

  • 初始化配置:读取配置文件,设置环境变量。
  • 设置日志记录器:配置日志记录的级别和输出位置。
  • 启动服务:初始化HTTP服务器,监听指定端口,处理请求。

3. 项目的配置文件介绍

SGT项目的配置文件是config.example.json,这个文件包含了项目的所有配置项,包括:

  • environment:环境名称,如DevProdTesting
  • aws_profile:AWS配置文件的名称,用于部署环境。
  • user_ip_address:部署者的IP地址,用于访问Elasticsearch集群。
  • sgt_osquery_results_bucket_name:S3存储桶名称,用于存储osquery日志。
  • sgt_config_bucket_name:S3存储桶名称,用于存储服务器配置。
  • domain:根域名,用于创建子域名的TLS端点。
  • subdomain:子域名,用于访问SGT服务器。
  • aws_keypair:AWS密钥对名称,用于访问EC2实例。
  • full_ssl_certchain:完整的SSL证书链文件名。
  • ssl_private_key:SSL私钥文件名。
  • sgt_node_secret:节点密钥,用于端点注册。
  • sgt_app_secret:应用密钥,用于API交互时生成会话令牌。
  • create_elasticsearch:是否创建Elasticsearch服务。

在使用前,需要根据实际情况修改config.example.json文件,并将其重命名为对应环境的配置文件,例如config.json。然后,SGT服务将使用这些配置来启动和运行。

登录后查看全文
热门项目推荐