LoginSignup
13
2

More than 3 years have passed since last update.

FilebeatのPalo Alto Networks moduleでtrafficログを可視化する

Last updated at Posted at 2019-12-20

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を使う。

やったこと

Palo Alto FWの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のセキュリティグループは適宜開ける

手順

Elalsticsearch+Kibanaのインストールと設定

  • インストール
    • yumで入れる
$ sudo yum install java
$ rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch  
$ sudo vi /etc/yum.repos.d/elastic.repo
/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
/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
/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
/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
/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

ダッシュボード確認

  • Kibanaに接続し、Dashboardを確認 20191219_140404_3757.JPG
  • traffic用とthreat用のダッシュボードが用意されている 20191219_140416_3758.JPG 20191219_140448_3759.JPG

余談

さも運用中のSyslogサーバーに導入した感じで書いたが、実際は記事のために突貫でVMのFWとSyslogサーバーを立てたためデータが少なく見栄えしなかった。

参考

インフラエンジニア向けPaloalto Networks VM-Series for AWSを使ってみる
Filebeat
Filebeat module
Elastic Common Schemaについて
Filebeatの性能チューニングポイントまとめ

13
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
2