Packetbeat 快速入门:安装和配置
编辑Packetbeat 快速入门:安装和配置
编辑了解像 Packetbeat 这样的网络数据包分析系统的价值的最佳方式是在您自己的流量上试用它。
本指南介绍了如何快速开始进行网络数据包分析。您将学习如何
- 在您要监视的每个系统上安装 Packetbeat
- 指定要嗅探的网络设备和协议
- 将数据包数据解析为字段并将其发送到 Elasticsearch
- 在 Kibana 中可视化数据包数据
开始之前
编辑-
您需要 Elasticsearch 来存储和搜索您的数据,以及 Kibana 来可视化和管理数据。
要快速入门,请启动我们的托管 Elasticsearch Service 的部署。Elasticsearch Service 可在 AWS、GCP 和 Azure 上使用。免费试用。
要安装和运行 Elasticsearch 和 Kibana,请参阅安装 Elastic Stack。
-
在大多数平台上,Packetbeat 需要 libpcap 数据包捕获库。根据您的操作系统,您可能需要安装它
步骤 1:安装 Packetbeat
编辑您可以在专用服务器上安装 Packetbeat,从镜像端口或 tap 设备获取流量,也可以在现有应用程序服务器上安装它。
要下载和安装 Packetbeat,请使用适用于您系统的命令
curl -L -O https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-8.17.0-amd64.deb sudo dpkg -i packetbeat-8.17.0-amd64.deb
curl -L -O https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-8.17.0-x86_64.rpm sudo rpm -vi packetbeat-8.17.0-x86_64.rpm
curl -L -O https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-8.17.0-darwin-x86_64.tar.gz tar xzvf packetbeat-8.17.0-darwin-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-8.17.0-linux-x86_64.tar.gz tar xzvf packetbeat-8.17.0-linux-x86_64.tar.gz
- 下载 Packetbeat Windows zip 文件:https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-8.17.0-windows-x86_64.zip
- 将 zip 文件的内容解压缩到
C:\Program Files
。 - 将
packetbeat-8.17.0-windows-x86_64
目录重命名为Packetbeat
。 - 以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标并选择 以管理员身份运行)。
-
在 PowerShell 提示符下,运行以下命令将 Packetbeat 安装为 Windows 服务
PS > cd 'C:\Program Files\Packetbeat' PS C:\Program Files\Packetbeat> .\install-service-packetbeat.ps1
如果您的系统上禁用了脚本执行,您需要将当前会话的执行策略设置为允许脚本运行。例如:PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-packetbeat.ps1
。
显示的命令适用于 AMD 平台,但也提供了 ARM 包。有关可用软件包的完整列表,请参阅下载页面。
其他安装选项
编辑步骤 2:连接到 Elastic Stack
编辑需要连接到 Elasticsearch 和 Kibana 才能设置 Packetbeat。
在 packetbeat.yml
中设置连接信息。要查找此配置文件,请参阅目录布局。
指定您的 Elasticsearch Service 的cloud.id,并将cloud.auth设置为有权设置 Packetbeat 的用户。例如
cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw==" cloud.auth: "packetbeat_setup:YOUR_PASSWORD"
此示例显示了一个硬编码的密码,但您应该将敏感值存储在密钥库中。 |
-
设置 Packetbeat 可以找到 Elasticsearch 安装的主机和端口,并设置有权设置 Packetbeat 的用户的用户名和密码。例如
output.elasticsearch: hosts: ["https://myEShost:9200"] username: "packetbeat_internal" password: "YOUR_PASSWORD" ssl: enabled: true ca_trusted_fingerprint: "b9a10bbe64ee9826abeda6546fc988c8bf798b41957c33d05db736716513dc9c"
此示例显示了一个硬编码的密码,但您应该将敏感值存储在密钥库中。
此示例显示了一个硬编码的指纹,但您应该将敏感值存储在密钥库中。该指纹是 CA 证书的十六进制编码 SHA-256,当您第一次启动 Elasticsearch 时,默认启用 Elasticsearch 的网络加密 (TLS) 等安全功能。如果您使用的是 Elasticsearch 首次启动时生成的自签名证书,您将需要在此处添加其指纹。该指纹打印在 Elasticsearch 启动日志上,或者您可以参考将客户端连接到 Elasticsearch 文档以获取有关检索它的其他选项。如果您向 Elasticsearch 提供您自己的 SSL 证书,请参阅有关如何设置 SSL 的 Packetbeat 文档。
-
如果您计划使用我们预构建的 Kibana 仪表板,请配置 Kibana 端点。如果 Kibana 与 Elasticsearch 在同一主机上运行,请跳过此步骤。
Kibana 运行所在计算机的主机名和端口,例如
mykibanahost:5601
。如果在端口号后指定路径,请包含方案和端口:http://mykibanahost:5601/path
。Kibana 的
username
和password
设置是可选的。如果您没有为 Kibana 指定凭据,Packetbeat 将使用为 Elasticsearch 输出指定的username
和password
。要使用预构建的 Kibana 仪表板,此用户必须有权查看仪表板或具有
kibana_admin
内置角色。
要了解有关所需角色和权限的更多信息,请参阅授予用户访问安全资源的权限。
您可以将数据发送到其他输出,例如 Logstash,但这需要额外的配置和设置。
步骤 3:配置嗅探
编辑在 packetbeat.yml
中,配置要从中捕获流量的网络设备和协议。
-
设置嗅探器类型。默认情况下,Packetbeat 使用
pcap
,它使用 libpcap 库并在大多数平台上工作。在 Linux 上,将嗅探器类型设置为
af_packet
以使用内存映射嗅探。此选项比 libpcap 快,并且不需要内核模块,但它是 Linux 特定的packetbeat.interfaces.type: af_packet
-
指定要从中捕获流量的网络设备。例如
packetbeat.interfaces.device: eth0
在 Linux 上,指定
packetbeat.interfaces.device: any
以捕获安装 Packetbeat 的服务器发送或接收的所有消息。any
设置在 macOS 上不起作用。要查看可用设备的列表,请运行
packetbeat devices
packetbeat devices
./packetbeat devices
./packetbeat devices
PS C:\Program Files\Packetbeat> .\packetbeat.exe devices 0: \Device\NPF_{113535AD-934A-452E-8D5F-3004797DE286} (Intel(R) PRO/1000 MT Desktop Adapter)
在此示例中,系统上只安装了一张网卡,索引为 0。如果有多个网卡,请记住要用于捕获流量的设备的索引。
修改
device
设置以指向设备的索引packetbeat.interfaces.device: 0
有关这些设置的更多信息,请参阅流量嗅探。
-
在
protocols
部分中,配置 Packetbeat 可以在其中找到每个协议的端口。如果您使用任何非标准端口,请在此处添加它们。否则,请使用默认值。packetbeat.protocols: - type: dhcpv4 ports: [67, 68] - type: dns ports: [53] - type: http ports: [80, 8080, 8081, 5000, 8002] - type: memcache ports: [11211] - type: mysql ports: [3306,3307] - type: pgsql ports: [5432] - type: redis ports: [6379] - type: thrift ports: [9090] - type: mongodb ports: [27017] - type: cassandra ports: [9042] - type: tls ports: [443, 993, 995, 5223, 8443, 8883, 9243]
要测试您的配置文件,请更改到安装 Packetbeat 二进制文件的目录,并在前台运行 Packetbeat,并指定以下选项:sudo ./packetbeat test config -e
。确保您的配置文件位于 Packetbeat 期望的路径中(请参阅目录布局),或者使用 -c
标志指定配置文件的路径。根据您的操作系统,运行此测试时可能会遇到文件所有权问题。有关更多信息,请参阅配置文件所有权和权限。
有关配置 Packetbeat 的更多信息,另请参阅
- 配置 Packetbeat
- 配置文件格式
-
packetbeat.reference.yml
:此参考配置文件显示所有未弃用的选项。您将在与packetbeat.yml
相同的位置找到它。
步骤 4:设置资产
编辑Packetbeat 带有用于解析、索引和可视化数据的预定义资产。要加载这些资产
- 确保在
packetbeat.yml
中指定的用户有权设置 Packetbeat。 -
从安装目录中,运行
packetbeat setup -e
packetbeat setup -e
./packetbeat setup -e
./packetbeat setup -e
PS > .\packetbeat.exe setup -e
-e
是可选的,它将输出发送到标准错误而不是配置的日志输出。
此步骤加载推荐的索引模板,用于写入 Elasticsearch,并部署示例仪表板,用于可视化 Kibana 中的数据。
需要连接到 Elasticsearch(或 Elasticsearch Service)才能设置初始环境。如果您使用其他输出(例如 Logstash),请参阅手动加载索引模板和加载 Kibana 仪表板。
步骤 5:启动 Packetbeat
编辑在启动 Packetbeat 之前,请修改 packetbeat.yml
中的用户凭据,并指定一个有权发布事件的用户。
要启动 Packetbeat,请运行
sudo service packetbeat start
如果您使用 init.d
脚本来启动 Packetbeat,则无法指定命令行标志(请参阅命令参考)。要指定标志,请在前台启动 Packetbeat。
另请参阅Packetbeat 和 systemd。
sudo service packetbeat start
如果您使用 init.d
脚本来启动 Packetbeat,则无法指定命令行标志(请参阅命令参考)。要指定标志,请在前台启动 Packetbeat。
另请参阅Packetbeat 和 systemd。
您将以 root 用户身份运行 Packetbeat,因此您需要更改配置文件的所有权,或者在运行 Packetbeat 时指定 |
您将以 root 用户身份运行 Packetbeat,因此您需要更改配置文件的所有权,或者在运行 Packetbeat 时指定 |
PS C:\Program Files\packetbeat> Start-Service packetbeat
默认情况下,Windows 日志文件存储在 C:\ProgramData\packetbeat\Logs
中。
Packetbeat 应该开始将数据流式传输到 Elasticsearch。
步骤 6:在 Kibana 中查看您的数据
编辑Packetbeat 带有预构建的 Kibana 仪表板和 UI,用于可视化日志数据。您在之前运行 setup
命令时加载了这些仪表板。
打开仪表板:
-
启动 Kibana。
- 登录到您的 Elastic Cloud 账户。
- 导航到您的部署中的 Kibana 端点。
将您的浏览器指向 https://127.0.0.1:5601,将
localhost
替换为 Kibana 主机的名称。 -
在侧边导航中,单击 Discover。要查看 Packetbeat 数据,请确保已选择预定义的
packetbeat-*
数据视图。如果您在 Kibana 中没有看到数据,请尝试将时间过滤器更改为更大的范围。默认情况下,Kibana 显示最近 15 分钟的数据。
- 在侧边导航中,单击 Dashboard,然后选择您要打开的仪表板。
这些仪表板仅作为示例提供。我们建议您自定义它们以满足您的需求。
要填充概览仪表板中的客户端位置地图,请按照使用 geoIP 信息丰富事件中描述的步骤进行操作。
下一步是什么?
编辑现在您已经将数据流式传输到 Elasticsearch,请学习如何统一您的日志、指标、正常运行时间和应用程序性能数据。
-
通过安装和配置其他 Elastic Beats 来摄取来自其他来源的数据
Elastic Beats 用于捕获 基础设施指标
日志
Windows 事件日志
正常运行时间信息
应用程序性能指标
审计事件
-
使用 Kibana 中的可观测性应用程序搜索您的所有数据
Elastic 应用程序 用于 浏览有关您的生态系统中系统和服务的指标
实时跟踪相关日志数据
监控您的应用程序和服务中的可用性问题
监控应用程序性能
分析安全事件