
资源介绍
本书围绕使用免费和开源工具构建安全的数据管道展开,全面介绍了网络安全领域的数据工程相关知识,涵盖基础理论、日志提取与管理、数据转换与标准化以及数据集中化、自动化和 enrichment 等多个方面。
第一部分:安全数据工程基础
数据工程基础
介绍了数据工程师的常见任务,如将数据传输到安全信息和事件管理(SIEM)系统、管理吞吐量和延迟、丰富和标准化事件等。
讲解了数据管道的示例架构,包括基本数据管道、主动数据检索、临时数据集中化、事件缓存等。
阐述了数据序列化格式,如 JSON、YAML、Elastic Common Schema。
介绍了虚拟机设置以及相关工具。
网络加密
详细讲解了 TLS 组件、交互过程、双向 TLS,以及生成证书颁发机构(CA)的步骤,包括根配置、根生成、中间配置、中间签名等。
介绍了为 Logstash 设置 TLS 的方法,包括 Flex 配置、服务器密钥和证书、目录准备、Logstash 配置、防火墙端口等。
讲解了 SSH 的相关内容,如启用 SSH、创建 SSH 密钥、启动代理、创建配置文件、分发公钥、验证连接等。
源和配置管理
介绍了 Git 版本控制工作流,包括安装、设置 GitHub 或 GitLab、创建新目录、本地初始化、克隆远程仓库等操作。
讲解了分支管理,如创建开发分支、将分支合并到主分支、执行可选清理等。
介绍了创建书籍项目代码仓库的方法。
第二部分:日志提取与管理
端点和网络数据
介绍了使用 Filebeat 收集日志的方法,包括安装、启用 TLS、创建配置文件、生成证书签名请求、配置输入源、处理器、模块、发送输出等。
讲解了 Filebeat 在 Windows 系统上的使用。
Windows 日志
介绍了使用 Winlogbeat 收集 Windows 日志的方法,包括事件日志类型、安装、启用 TLS、创建配置文件、生成密钥对和客户端证书、配置、启动服务等。
讲解了收集 Sysmon 和 PowerShell 的日志,以及探索可用的事件日志和使用处理器等内容。
集成和存储数据
介绍了 Elastic Agent 架构,包括设置环境、启用 TLS、配置 DNS 和防火墙规则、在多台服务器上安装工具、在 Kibana 中查看事件等。
讲解了配置不同的技术集成,如网络元数据、Iptables 防火墙日志等。
介绍了独立代理的相关内容,包括准备虚拟机、接收 Logstash API 密钥、配置独立代理策略、配置 Logstash、Elasticsearch 摄取管道等。
处理 Syslog 数据
介绍了日志优先级。
讲解了使用 Rsyslog 收集数据的方法,包括安装、启用 TLS、自定义 Rsyslog 配置、基本和高级格式、添加和测试新配置等。
介绍了 Rsyslog 的高级格式语法,如全局属性、输入模块、输出模块、模板、规则集等,并提供了示例配置。
第三部分:数据转换与标准化
数据操作管道
介绍了 Logstash 管道组件,包括 Logstash 的安装和设置、启用 TLS、配置 Java 虚拟机选项、安装编解码器等。
讲解了 Logstash 的输入和输出,如 HTTP POST 请求、API 请求、读写文件、Kafka、Redis、Amazon S3 和 MinIO、Logstash 到 Logstash、空输出等。
介绍了管道中的虚拟寻址。
转换过滤器
介绍了 Logstash 用于数据转换的过滤器,如从杂乱的输入中提取数据、处理不准确的 Syslog 时间戳、丰富数据等。
讲解了字段比较,如相等和不等、字段存在性、成员资格、正则表达式等。
介绍了从结构化 Syslog 数据中解析键值对、拆分字段和避免反斜杠、使用 Ruby 脚本编写过滤器等内容。
第四部分:数据集中化、自动化和 Enrichment
集中安全数据
介绍了 Kafka 的基础知识,包括生产者、消费者和消费者组、 brokers 和控制器、主题、分区、数据复制、监听器和元数据、流和连接器等。
讲解了创建 Kafka 集群的方法,包括设置网络、创建用户和目录、安装 Kafka 和 Java 开发工具包、启用 TLS、配置、启动 brokers、创建主题、发布消息、订阅主题等。
介绍了 Kafka 管道设计考虑因素,以及与外部工具(如 Rsyslog、Filebeat、Logstash)的连接。
自动化工具配置
介绍了 Ansible 的相关内容,包括清单、命令、剧本和角色、收集系统事实、模板、临时文件、SSH 要求等。
讲解了 Ansible 的安装、创建清单、配置文件、运行临时命令、启用检查模式、分发文件、执行命令、更新包、管理服务、重启服务器等操作。
介绍了用于任务执行的剧本,如可重用任务、委派任务、在本地执行任务、将动态数据写入文件、修改 hosts 文件、自动生成加密密钥、附加文本等。
Ansible 任务和剧本
介绍了使用 Ansible 允许防火墙流量、自动文件传输、分发 Kafka 包、从互联网下载文件、克隆 Git 仓库、创建 Kafka 配置模板、安装 GPG 密钥、响应提示、访问 API 和 Web 服务等操作。
讲解了 TLS 自动化,包括设置目录、创建根 CA、创建中间 CA、生成 CA 链、创建 Flex 证书、添加容器文件、创建 TLS 剧本、使用 debug 进行故障排除等。
缓存威胁情报数据
介绍了使用缓存工具(如 Redis 和 Memcached)加速查找和 enrichment 活动的方法。
讲解了为威胁查找填充和复制 Redis、创建领导者缓存、接收威胁指标、处理自定义上传、用键值对填充 Redis、创建自定义 API 密钥、将数据输出到 Elasticsearch 等。
介绍了读取威胁情报、创建 Redis 追随者、配置 Logstash getter、去重和丰富数据、使用 Memcached 分发威胁情报、防止漂移、处理分析师提交的指标数据等内容。