見出し画像

Falcoで使い分ける「fd.name」と「fd.filename」の違いとは?

システム監視ツール「Falco」を使っていると、設定中に「fd.name」や「fd.filename」といったフィールドを目にすることがあるかと思います。これらはどちらもファイルやリソースを指していますが、実は扱う対象に違いがあります。この違いを知っておくと、目的に応じた正確な監視設定ができるようになります。


日常の例えで考えてみる

想像してみてください。あなたが大きな図書館にいるとして、何か特定の情報を探すとします。

  • fd.name は、図書館内の「すべての情報源(本、雑誌、オンラインリソースなど)」を探す方法に近いです。幅広く、いろいろな種類の情報が対象です。

  • fd.filename は、その中でも「物理的な本」にだけ注目する方法。オンラインリソースや雑誌は関係なく、本だけをピンポイントで扱います。

こんな感じで、それぞれのフィールドがどのような対象をカバーしているかを意識するだけで使い分けがしやすくなります。


fd.name: 幅広いリソースをカバーするフィールド

  • 何を表しているのか
    ファイルディスクリプタ(File Descriptor)が参照しているリソース全般を対象にします。ファイルだけでなく、ソケットやパイプなども含まれます。

  • こんな場合に使える
    ネットワーク通信を監視したいときや、プロセス間通信の状況を追跡したいとき。

    • /etc/passwd(ファイルの場合)

    • 127.0.0.1:443(ネットワークソケットの場合)

    • パイプやデバイスなどの特殊リソース


fd.filename: ファイル専用のフィールド

  • 何を表しているのか
    ファイルディスクリプタが「ファイル」を指している場合のみに適用されます。他のリソース(ソケットやパイプ)は含まれません。

  • こんな場合に使える
    特定のファイル(例: システム設定ファイルやログファイル)の動きだけを追跡したいとき。

    • /var/log/syslog

    • /etc/passwd


どちらを使うべき?

選び方のポイントは、監視したいリソースの種類です。

  1. 幅広く監視したいなら
    例: ネットワーク通信や特殊デバイスを含むすべてのリソース → fd.name

  2. ファイルに絞りたいなら
    例: 特定のログファイルや設定ファイル → fd.filename


まとめ

fd.name と fd.filename は、監視する対象の範囲が異なります。

  • fd.name → リソース全般(ファイル、ソケット、パイプ)

  • fd.filename → ファイル限定

たとえば、「システム設定ファイル /etc/passwd の変更を監視する」のが目的なら fd.filename を使うべきです。一方、「特定のIPアドレスへの通信を監視する」なら fd.name が適しています。

用途に合わせてこれらを使い分けることで、必要な情報だけを効率的にキャッチできるようになります!

いいなと思ったら応援しよう!