使用Filebeat的Palo Alto Networks模块来可视化流量日志

Filebeat是什么?

    Elastic社の軽量ログ収集エージェント群Beatsの1つ。
beats.PNG
    • BeatsはいずれもGoで書かれており低負荷で動作するため、Logstashと比べてデータソース(Webサーバー等)に直接導入しやすい。

Logstashと比べて機能はシンプルで、収集対象のデータに応じてエージェントを使い分ける必要がある。

Filebeatはログファイルのデータ収集に特化したエージェント。
指定したログファイルを監視し、更新があるとLogstashやElasticsearch等に出力する。

Module是什么?

    • FilebeatとMetricbeatには一般的なログフォーマット(NGINX、Apache、System、Redis、Docker等)のデータに対応するModuleが存在する。一覧はこちら。

ModuleによってElasticsearchに取り込ませるデータの変換設定やKibanaによる可視化のためのダッシュボード作成を省略・簡略化できる。
7.0以降、Moduleで定義されるフィールド・データ型はElastic Common Schemaに準拠しており、異なるデータソース間でも統一された検索・分析基盤を構築できる。
ex) ユーザー名のフィールドがソースによってuserになったりusernameになったりnginx.access.user_nameになったりせず、user.nameに統一される。

今回はFilebeatのPalo Alto Networks moduleを使う。

做过的事情 de

在Palo Alto防火墙的Syslog服务器上安装Filebeat,并将其输出到新建的Elasticsearch+Kibana进行可视化。

环境

    • Elasticsearch+Kibana

Amazon Linux 2 AMI (HVM), SSD Volume Type
t2.medium
EBS(汎用SSD) 30GiB

Syslog+Filebeat

Amazon Linux 2 AMI (HVM), SSD Volume Type
t2.micro
EBS(汎用SSD) 30GiB

Palo Alto FW

VM-Series Next-Generation Firewall Bundle 1
m5.xlarge
EBS(汎用SSD) 30GiB

AWSのセキュリティグループは適宜開ける

程序

安装和配置Elasticsearch+Kibana。

    • インストール

yumで入れる

$ sudo yum install java
$ rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch  
$ sudo vi /etc/yum.repos.d/elastic.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

[kibana]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
$ sudo yum install elasticsearch kibana
    • Elasticsearchの設定

Filebeatからの出力をElasticsearchで許可する
シングル構成にするときその旨をは明示しないとサービス起動時にエラーになるっぽい

$ sudo vi /etc/elasticsearch/elasticsearch.yml
network.host: 127.0.0.1, <SyslogサーバーのIP>
discovery.type: single-node
    • Kibanaの設定

接続元の制限をかけない
elasticsearchの指定(今回は同居しているのでlocalhost)

$ sudo vi /etc/kibana/kibana.yml
server.host: "0.0.0.0"
elasticsearch.hosts: ["http//localhost:9200"]
    ElasticsearchとKibanaのサービス起動設定
$ sudo /bin/systemctl daemon-reload

$ sudo /bin/systemctl enable elastcisearch.service
$ sudo /bin/systemctl enable kibana.service

$ sudo systemctl start elasticsearch.service
$ sudo systemctl start kibana.service

Filebeat的安装和设置

syslogの設定は割愛

Paloからtrafficログとthreatログを受け取って/var/log/pan*.logに配置している前提

インストール

yumで入れる

$ sudo yum install filebeat
    Palo Alto Network moduleの有効化・設定
$ sudo filebeat modules enable panw
$ sudo vi /etc/filebeat/modules.d/panw.yml
- module: panw
  panos:
    enabled: true
    var.paths: ["/var/log/pan*.log"]
    var.input: "file"
    • Filebeatの設定

ElasticsearchとKibanaを指定する
以下は変更箇所のみ、他はデフォルト値

$ sudo vi /etc/filebeat/filebeat.yml
setup.kibana:
 host: "<Elasticsearch+KibanaサーバーのIP>:5601"
output.elasticsearch:
 hosts: ["<Elasticsearch+KibanaサーバーのIP>:9200"]
    • Filebeatのセットアップ

Moduleのデータ変換設定とダッシュボード設定がElastichsearchとKibanaに反映される

$ sudo filebeat setup -e
    Filebeatのサービス起動設定
$ sudo systemctl enable filebeat
$ sudo systemctl start filebeat

查看仪表盘

20191219_140448_3759.JPG

废话不多

这篇文章写得好像是在使用中的Syslog服务器上进行的安装,但实际上是为了文章的缘故,匆忙搭建了虚拟机的防火墙和Syslog服务器,所以数据比较少,看起来不够好看。

在汉语中,只需要一个选项,以下是对所提问题的本地化中文释义:

引用

尝试使用Paloalto Networks VM-Series for AWS来服务基础设施工程师
Filebeat
Filebeat模块
关于Elastic Common Schema
总结了Filebeat性能调优的要点

广告
将在 10 秒后关闭
bannerAds