| 原作者 | エリック・オールマン |
|---|---|
| 初回リリース | 1980年代 |
| オペレーティング·システム | Unixライク |
| タイプ | システムログ |
| Webサイト | datatracker.ietf.org/wg/syslog/charter/ |
コンピューティングにおいて、syslog / ˈ s ɪ s l ɒ ɡ / はメッセージ ログの標準です。これにより、メッセージを生成するソフトウェア、メッセージを保存するシステム、およびメッセージを報告および分析するソフトウェアを分離できます。各メッセージには、メッセージを生成したシステムのタイプを示す機能コードが付けられ、重大度レベルが割り当てられます。
コンピュータ システム設計者は、一般的な情報、分析、デバッグ メッセージだけでなく、システム管理やセキュリティ監査にも syslog を使用できます。プリンタ、ルーター、メッセージ レシーバーなど、さまざまなデバイスがさまざまなプラットフォームで syslog 標準を使用しています。これにより、さまざまな種類のシステムからのログ データを中央リポジトリに統合できます。syslog の実装は、多くのオペレーティング システムで存在します。
ネットワーク経由で動作する場合、syslog はクライアント サーバーアーキテクチャを使用し、syslog サーバーがクライアントからのメッセージをリッスンして記録します。
歴史
Syslogは1980年代にSendmailプロジェクトの一環としてEric Allmanによって開発されました。[1]他のアプリケーションにもすぐに採用され、それ以来Unix系システムの標準的なログソリューションとなっています。[2]他のオペレーティングシステムにもさまざまな実装があり、ルーターなどのネットワークデバイスによく見られます。[3]
Syslogはもともと、公式に公開された仕様がないまま事実上の標準として機能し、多くの実装が存在しましたが、その中には互換性のない実装もありました。インターネット技術タスクフォースは、2001年8月にRFC 3164で現状を文書化しました。2009年3月にRFC 5424で標準化されました。[4]
さまざまな企業がsyslog実装の特定の側面について特許を主張しようとした。[5] [6]これはプロトコルの使用と標準化にほとんど影響を与えなかった。[引用が必要]
メッセージコンポーネント
syslog メッセージの発信元によって提供される情報には、ファシリティ コードと重大度レベルが含まれます。syslog ソフトウェアは、エントリを syslog 受信者に渡す前に、情報ヘッダーに情報を追加します。このようなコンポーネントには、発信元のプロセス ID、タイムスタンプ、デバイスの ホスト名またはIP アドレスが含まれます。
施設
ファシリティコードは、メッセージをログに記録するシステムのタイプを指定するために使用されます。異なるファシリティを持つメッセージは、異なる方法で処理される場合があります。[7]利用可能なファシリティのリストは、標準で説明されています:[4] :9
ファシリティコードとキーワードのマッピングは、オペレーティングシステムやsyslogの実装によって統一されていません。[8]
重大度レベル
重大度のリストは規格にも記載されている:[4] :10
緊急およびデバッグ以外の重大度レベルの意味は、アプリケーションによって異なります。たとえば、システムの目的がトランザクションを処理して顧客の口座残高情報を更新することである場合、最終ステップでのエラーにはアラートレベルを割り当てる必要があります。ただし、顧客の郵便番号を表示しようとしたときに発生するエラーには、エラー レベルまたは警告レベルを割り当てることができます。
メッセージの表示を処理するサーバープロセスは、通常、より重大度の低いレベルの表示が要求された場合、より低い(より重大度の高い)レベルをすべて含めます。つまり、メッセージが個々の重大度によって分離されている場合、通知、情報、デバッグメッセージをフィルタリングするときに警告レベルのエントリも含まれます。[12]
メッセージ
RFC 3164 では、メッセージ コンポーネント (MSG と呼ばれる) には、メッセージを生成したプログラムまたはプロセスの名前であるTAG フィールドと、メッセージの詳細を含む CONTENTフィールドが指定されていました。
RFC 5424 では、[4]「MSG は RFC 3164 で CONTENT と呼ばれていたものです。TAG は現在ヘッダーの一部ですが、単一のフィールドではありません。TAG は APP-NAME、PROCID、および MSGID に分割されています。これは TAG の使用方法と完全に似ているわけではありませんが、ほとんどの場合に同じ機能を提供します。」と説明されています。NXLog や Rsyslog などの一般的な syslog ツールは、この新しい標準に準拠しています。
コンテンツフィールドはUTF-8文字セットでエンコードする必要があり、従来のASCII制御文字範囲内のオクテット値は避けるべきである。[13] [4]
ロガー
生成されたログメッセージは、コンソール、ファイル、リモートsyslogサーバー、リレーなど、さまざまな宛先に送信される場合があります。ほとんどの実装では、ログにメッセージを送信するためのコマンドラインユーティリティ(多くの場合、ロガーと呼ばれます)とソフトウェアライブラリが提供されています。 [14]
収集されたログを表示および監視するには、クライアント アプリケーションを使用するか、システム上のログ ファイルに直接アクセスする必要があります。基本的なコマンド ライン ツールはtailとgrepです。ログ サーバーは、ログをネットワーク経由で送信するように構成できます (ローカル ファイルに加えて)。一部の実装には、syslog メッセージのフィルタリングと表示を行うレポート プログラムが含まれています。
ネットワークプロトコル
ネットワーク上で動作する場合、syslog はクライアント サーバーアーキテクチャを使用し、サーバーはクライアントからのプロトコル要求を既知のポートまたは登録済みポートでリッスンします。歴史的に、ネットワーク ログの最も一般的なトランスポート層プロトコルはユーザー データグラム プロトコル(UDP)であり、サーバーはポート 514 でリッスンします。[15] UDP には輻輳制御メカニズムがないため、伝送制御プロトコル(TCP) ポート 6514 が使用されます。実装にはトランスポート層セキュリティも必要であり、一般的な使用には推奨されます。[16] [17]
制限事項
各プロセス、アプリケーション、およびオペレーティング システムは独立して記述されているため、ログ メッセージのペイロードにはほとんど統一性がありません。このため、そのフォーマットや内容については想定されていません。syslog メッセージはフォーマットされています (RFC 5424 では拡張バッカス ナウア形式(ABNF) の定義が示されています) が、MSG フィールドはフォーマットされていません。
ネットワーク プロトコルは単純通信であり、送信元への配信を確認する手段はありません。
見通し
さまざまなグループが、ネットワークやセキュリティイベントのログ記録だけでなく、医療環境内での提案されたアプリケーションなど、syslogの使用を詳述する標準草案の作成に取り組んでいます。[18]
サーベンス・オクスリー法、PCI DSS、HIPAAなどの規制では、組織に包括的なセキュリティ対策の実施を義務付けており、これには多くの場合、さまざまなソースからのログの収集と分析が含まれます。 syslog 形式は、これらのログのレポートと分析のためのオープンソースおよび独自のツールが多数存在するため、ログの統合に効果的であることが実証されています。Windows イベント ログやその他のログ形式から syslog に変換するユーティリティも存在します。
マネージドセキュリティサービスプロバイダーは、分析技術と人工知能アルゴリズムを適用してパターンを検出し、顧客に問題を警告しようとします。[19]
インターネット標準文書
Syslogプロトコルは、インターネット技術特別調査委員会(インターネット標準)が発行するRequest for Comments(RFC)文書によって定義されています。以下は、Syslogプロトコルを定義するRFCの一覧です。[20]
- BSD syslogプロトコル。RFC 3164 。(Syslog プロトコルにより廃止されました。RFC 5424 ) )
- syslog の信頼性の高い配信。RFC 3195 。
- Syslogプロトコル。RFC 5424 。
- Syslog の TLS トランスポートマッピング 。RFC 5425。
- UDP経由の Syslog メッセージの送信。RFC 5426 。
- Syslog 管理のテキスト規則。RFC 5427。
- 署名された Syslog メッセージ。RFC 5848 。
- Syslog 用のデータグラム トランスポート層セキュリティ ( DTLS ) トランスポート マッピング。RFC 6012 。
- TCP 経由の Syslog メッセージの送信。RFC 6587。
参照
参考文献
- ^ 「エリック・オールマン」。インターネットの殿堂。 2017年10月30日閲覧。
- ^ 「今週応募すべき3つの素晴らしいエンジニアリング職」VentureBeat 2021年8月6日2021年8月16日閲覧。
- ^ チャン、シェンリン;劉英。孟、ウェイビン。ブ、ジアハオ。ヤン、セン。孫永銭。ペイ、ダン。シュウ、ジュン。張裕志。ソン、レイ。張明(2020)。 「データセンター ネットワークにおけるネットワーク デバイスの効率的かつ堅牢な Syslog 解析」。IEEE アクセス。8:30245~ 30261。
- ^ abcde Gerhards, Rainer. Syslog プロトコル。doi : 10.17487 / RFC5424。RFC 5424 。
- ^ 「LXer: 特許がIETF syslog標準を危険にさらす」。
- ^ 「HUAWEIの特許請求に関するIETF IPR開示」。
- ^ 「Syslog Facility」 。 2012年11月22日閲覧。
- ^ 「Syslog を使用したシステム ログの詳細」SANS Institute。
- ^ abc "syslog.conf(5) - Linux man page" . 2017-03-29取得。
キーワード error、warn、panic は非推奨であり、今後は使用しないでください。
- ^ abcde "closelog、openlog、setlogmask、syslog - システムログの制御" 。 2017 年 3 月 29 日取得。
LOG_NOTICE エラー条件ではないが、特別な処理が必要になる可能性がある条件。
- ^ 「GNU C ライブラリ: syslog、vsyslog」 。2024年 7 月 19 日閲覧。LOG_NOTICE
メッセージは、正常だが重要なイベントについて説明します。
- ^ 「Syslog メッセージの重大度レベル」。cd.delphix.com。2024年 10 月 2 日閲覧。
- ^ 「TCP 経由の Syslog メッセージの送信」www.ipa.go.jp . 2021 年 8 月 16 日閲覧。
- ^ 「logger コマンド」。www.ibm.com。2021年 8 月 16 日閲覧。
- ^ 「Syslog サーバー」。www.howtonetwork.com 。2021年 8 月 16 日閲覧。
- ^ Gerhards, Rainer (2009 年 3 月). 「RFC 5424 - Syslog プロトコル」. tools.ietf.org . doi :10.17487/RFC5424.
- ^ Fuyou, Miao; Yuzhi, Ma; Salowey, Joseph A. (2009 年 3 月)。 Miao, F; Ma, Y; Salowey, J (編)。 「RFC 5425 - Syslog の TLS トランスポート マッピング」。tools.ietf.org . doi :10.17487/RFC5425。
- ^ 「ATNA + SYSLOG で十分」。Healthcare Exchange Standards。2012 年 1 月 2 日。2018 年 6 月 6 日閲覧。
- ^ 山西 健二; 丸山 優子 (2005-08-21)。「ネットワーク障害監視のための動的 syslog マイニング」。データマイニングにおける知識発見に関する第 11 回 ACM SIGKDD 国際会議の議事録。KDD '05。米国イリノイ州シカゴ: Association for Computing Machinery。pp. 499– 508。doi : 10.1145 /1081870.1081927。ISBN 978-1-59593-135-1. S2CID 5051532。
- ^ 「ネットワーク イベント ログ (syslog) におけるセキュリティの問題」。IETF。
外部リンク
- インターネット エンジニアリング タスク フォース: Datatracker: syslog ワーキング グループ (終了)
- アメリカ国立標準技術研究所: 「コンピュータ セキュリティ ログ管理ガイド」(特別刊行物 800-92) (ホワイト ペーパー)
- ネットワーク管理ソフトウェア: 「Syslog を理解する: サーバー、メッセージ、セキュリティ」
- Paessler IT の説明 - Syslog
- MonitorWare: Syslog のすべて
