web-dev-qa-db-ja.com

syslogのlocal6(およびその他すべてのlocal#)機能とは何ですか?

私が理解していること

* nixサーバーでは、facility.severityを使用して送信ログを構成します。ここで、facilityは、カーネル、認証など、システムの(コンポーネントと呼ばれます)「コンポーネント」の名前です。 severityは、info(情報)、crit(クリティカル)ログなど、ファシリティによってログに記録される各ログの「レベル」です。

したがって、カーネルの重要なログを送信する場合は、kern.critを使用します。

ファシリティと重大度の組み合わせは、優先度と呼ばれます。たとえば...

  • 優先度= kern.crit
  • 施設=カーン
  • 重大度=クリティカル

質問

local0local7という「施設」があります。

これらのlocal#施設は、世界で何ですか? local6について特に質問します。これは通常、検索で見つける最も一般的なものだからです。

私の質問は、実際にはログを送信するようにSnort(SourceFire Intrusion Sensor)を構成しているためです。そのため、どのfacilityを使用するか知りたいと思いました。 local#機能はいたるところにあるため、私の質問はSnort固有ではありません。たとえば、CiscoとIBMのWebSphere Application Server。

研究

  • RFC3164 は、syslogプロトコルが定義されている場所です。

    local6 - local use 6
    

    以下とは対照的に、それは実際にはそれを説明しません:

    auth   - security/authorization messages
    
  • Ubuntuでは、man syslogは次のように表示されます。

     LOG_LOCAL0からLOG_LOCAL7 
    はローカルで使用するために予約されています
    

    また、あいまい。

46
Alaa Ali

一般的な情報

local0からlocal7の機能は、syslogがユーザーに提供する「カスタム」の未使用の機能です。開発者がアプリケーションを作成し、それをsyslogに記録するようにしたい場合、または何かの出力をsyslog(たとえば、Apacheログ)にリダイレクトしたい場合は、local#のいずれかに送信することを選択できます。施設。次に、/etc/syslog.conf(または/etc/rsyslog.conf)を使用して、そのlocal#に送信されているログをファイルに保存したり、リモートサーバーに送信したりできます。

私の質問に答える

この質問をしたのは、ログを外部サーバーに送信するため、「local#機能にログを書き込む」のではなく、どちらを選択するかを知りたいからです。 Snortのドキュメントに戻って、local#機能への書き込み内容を確認する必要がありました。

33
Alaa Ali

Local#機能はローカルでの使用に特化しており、どのアプリケーションでどの標準を使用するか(RFCなど)は定義されていません。だからあなたはあなたが好きなものを選ぶことができます。もちろん、一部のアプリケーションとその開発者は特定の機能を使用することに同意していますが、これは公式の標準ではありません(Sudo-LOCAL2、Snort-LOCAL5など)。

7
dsmsk80