syslog
更新日:
用語解説
OS、アプリケーション及びネットワーク機器がイベントメッセージを生成・転送・集約するための標準的なログ通知方式です。送信元の外部へログを集めることで、機器故障・侵害後にも横断的な監視、障害解析及びインシデント調査を行いやすくします。
■ 試験で押さえるポイント
syslogメッセージはFacilityで生成元の機能分類、Severityで重大度を示します。標準Severityは0のEmergencyから7のDebugまでで、数値が小さいほど重大です。Priority値はFacilityとSeverityを組み合わせて表します。
RFC 5424形式はPriority、版、タイムスタンプ、ホスト名、アプリケーション名、プロセスID、メッセージID、構造化データ及び本文を持てます。古いBSD形式や製品独自形式もあり、受信側で正規化しないと同じ項目を一律に検索できません。
従来のUDP転送は軽量ですが、配送確認、順序保証及び再送がなく、混雑・障害時にログが失われ得ます。TCPは配送制御を改善し、TLSを使うsyslog転送は通信相手認証、機密性及び転送中の完全性を高めます。
TLSを使わないsyslogは盗聴、送信元詐称及び改ざんの危険があります。TLSを使っても、送信元で生成前に改ざんされたログや、受信後に管理者が変更する危険までは防げないため、端末保護、アクセス制御、追記型保存及び改ざん検知を組み合わせます。
収集しきい値をWarningに設定する場合、通常はそれより重大なEmergency、Alert、Critical、Errorも対象にします。Severityの数値が大きい方を重大と誤解すると、必要なログを捨てる設定になります。
全機器をNTP等で時刻同期し、タイムゾーン、機器名、送信元アドレス及び受信時刻も保持します。時刻がずれると、複数機器をまたぐ攻撃・障害の時系列と因果関係を誤ります。
中央syslogサーバ自体の容量、可用性、受信キュー、転送欠落、アクセス権、保持期間及びバックアップを監視します。大量のDebugログで重要イベントが埋もれたり、ディスク枯渇で受信不能になったりしないようレートと保管を設計します。
■ 過去問での着眼点
syslogのSeverityは0が最も重大なEmergency、7がDebugであり、重大度しきい値、転送方式及び時刻同期を正しく設定します。UDP転送はログの到達を保証せず、中央収集しただけで改ざん耐性や機密性が得られるわけではありません。必要に応じてTCP/TLSと保護された保存を使います。Severityは数値が小さいほど重大という順序を押さえます。
例: 収集しきい値をWarning(4)にするなら、0~4のEmergency、Alert、Critical、Error、Warningを保存します。UDP送信だけでは障害時に欠落し得るため、重要機器はTLS転送とローカル保持を併用し、Collector側でも欠落と容量を監視します。