Packetbeat 快速入门:安装和配置

编辑

Packetbeat 快速入门:安装和配置

编辑

了解像 Packetbeat 这样的网络数据包分析系统的价值的最佳方式是在您自己的流量上试用它。

本指南介绍了如何快速开始进行网络数据包分析。您将学习如何

  • 在您要监视的每个系统上安装 Packetbeat
  • 指定要嗅探的网络设备和协议
  • 将数据包数据解析为字段并将其发送到 Elasticsearch
  • 在 Kibana 中可视化数据包数据
Packetbeat Overview dashboard

开始之前

编辑
  • 您需要 Elasticsearch 来存储和搜索您的数据,以及 Kibana 来可视化和管理数据。

    要快速入门,请启动我们的托管 Elasticsearch Service 的部署。Elasticsearch Service 可在 AWS、GCP 和 Azure 上使用。免费试用

  • 在大多数平台上,Packetbeat 需要 libpcap 数据包捕获库。根据您的操作系统,您可能需要安装它

    sudo apt-get install libpcap0.8

步骤 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

显示的命令适用于 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" 

此示例显示了一个硬编码的密码,但您应该将敏感值存储在密钥库中。

要了解有关所需角色和权限的更多信息,请参阅授予用户访问安全资源的权限

您可以将数据发送到其他输出,例如 Logstash,但这需要额外的配置和设置。

步骤 3:配置嗅探

编辑

packetbeat.yml 中,配置要从中捕获流量的网络设备和协议。

  1. 设置嗅探器类型。默认情况下,Packetbeat 使用 pcap,它使用 libpcap 库并在大多数平台上工作。

    在 Linux 上,将嗅探器类型设置为 af_packet 以使用内存映射嗅探。此选项比 libpcap 快,并且不需要内核模块,但它是 Linux 特定的

    packetbeat.interfaces.type: af_packet
  2. 指定要从中捕获流量的网络设备。例如

    packetbeat.interfaces.device: eth0

    在 Linux 上,指定 packetbeat.interfaces.device: any 以捕获安装 Packetbeat 的服务器发送或接收的所有消息。any 设置在 macOS 上不起作用。

    要查看可用设备的列表,请运行

    packetbeat devices

    有关这些设置的更多信息,请参阅流量嗅探

  3. 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 的更多信息,另请参阅

步骤 4:设置资产

编辑

Packetbeat 带有用于解析、索引和可视化数据的预定义资产。要加载这些资产

  1. 确保在 packetbeat.yml 中指定的用户有权设置 Packetbeat
  2. 从安装目录中,运行

    packetbeat 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

Packetbeat 应该开始将数据流式传输到 Elasticsearch。

步骤 6:在 Kibana 中查看您的数据

编辑

Packetbeat 带有预构建的 Kibana 仪表板和 UI,用于可视化日志数据。您在之前运行 setup 命令时加载了这些仪表板。

打开仪表板:

  1. 启动 Kibana。

    1. 登录到您的 Elastic Cloud 账户。
    2. 导航到您的部署中的 Kibana 端点。
  2. 在侧边导航中,单击 Discover。要查看 Packetbeat 数据,请确保已选择预定义的 packetbeat-* 数据视图。

    如果您在 Kibana 中没有看到数据,请尝试将时间过滤器更改为更大的范围。默认情况下,Kibana 显示最近 15 分钟的数据。

  3. 在侧边导航中,单击 Dashboard,然后选择您要打开的仪表板。

这些仪表板仅作为示例提供。我们建议您自定义它们以满足您的需求。

要填充概览仪表板中的客户端位置地图,请按照使用 geoIP 信息丰富事件中描述的步骤进行操作。

下一步是什么?

编辑

现在您已经将数据流式传输到 Elasticsearch,请学习如何统一您的日志、指标、正常运行时间和应用程序性能数据。

  1. 通过安装和配置其他 Elastic Beats 来摄取来自其他来源的数据

    Elastic Beats 用于捕获

    Metricbeat

    基础设施指标

    Filebeat

    日志

    Winlogbeat

    Windows 事件日志

    Heartbeat

    正常运行时间信息

    APM

    应用程序性能指标

    Auditbeat

    审计事件

  2. 使用 Kibana 中的可观测性应用程序搜索您的所有数据

    Elastic 应用程序 用于

    指标应用程序

    浏览有关您的生态系统中系统和服务的指标

    日志应用程序

    实时跟踪相关日志数据

    正常运行时间应用程序

    监控您的应用程序和服务中的可用性问题

    APM 应用程序

    监控应用程序性能

    SIEM 应用程序

    分析安全事件