パート01. rsyslogとは何ですか?強力で高度に設定可能なシステムログデーモンであるrsyslogは、ログサーバーとログクライアントという2つの異なる環境で実行できます。ログサーバーとして、rsyslogはネットワーク上の他のホストからログデータを収集できます。ログクライアントとして、rsyslogは内部ログメッセージをフィルタリングし、ルーティング可能なリモートrsyslogサーバーに送信できます。 rsyslog の主な機能は次のとおりです。
これらの機能により、rsyslog はシステム ログを処理および管理するための強力なツールになります。 パート02. rsyslogのログの種類とレベルrsyslog ログ タイプは、ログ メッセージのソースを定義するために使用され、ログの分類が容易になります。 rsyslog ログ レベルは、さまざまなメッセージのレベルを定義します。 写真 パート03. rsyslogを簡単に設定する方法内部ログ メッセージをリモート rsyslog サーバーに送信するには、次のトポロジ構成を使用できます。
上記の構成により、後続の分析と監視のために内部ログを集中管理および保存できます。 写真 3.1 rsyslog ログサーバーの設定 - rsyslog サービスがインストールされているかどうかを確認します。 - 設定ファイルを編集する この設定により、rsyslogデーモンはUDPポート514経由でログメッセージを受信できるようになります。UDPはTCPよりも高速なプロトコルですが、TCPほどの信頼性はありません。信頼性の高いトランスポートメカニズムが必要な場合は、TCPポート514でログメッセージを受信できます。 TCP/UDP 接続をリッスンするには、TCP と UDP の両方を同時に有効にできることに注意することが重要です。 写真 ログ情報を受信するためのプロトコルとポートを構成することに加えて、他のクライアント マシンから受信したメッセージを記録する方法を rsyslog デーモンに指示するためのログ受信テンプレートも作成する必要があります。 テキストエディタで `/etc/rsyslog.conf` ファイルを開き、`GLOBAL DIRECTIVE` ブロックの前に以下のテンプレート設定を追加します。`$template RemoteLogs` ディレクティブを使用して、rsyslog デーモンにログメッセージを別のローカルログファイル `/var/log/rsyslogTest` に書き込むように指示します。 - 設定ファイルを編集した後、変更を有効にするためにデーモン プロセスを再起動します。 rsyslogデーモンが正常に動作しているかどうかを確認するには、netstatコマンドを使用します。以下のコマンドを実行してください。 3.2 rsyslog ログクライアントの設定 - rsyslogデーモンをインストールする CentOS 7では、rsyslogデーモンがプリインストールされています。以下のコマンドを実行すると、CentOSシステムにrsyslogがインストールされているかどうかを確認できます。 何らかの理由で rsyslog デーモンがシステムに存在しない場合は、次のコマンドを使用してインストールできます。 - 設定ファイルの変更 テキスト エディターを使用して、/etc パスにあるメインの rsyslog 構成ファイルを開きます。 写真 3.3 設定ファイルを編集した後、変更を有効にするためにデーモン プロセスを再起動します。 - リモートログの検証 rsyslogクライアントで、コマンド「logger -t kern -p err "adddddddddddd"」を入力します。このコマンドは、kernタイプとerrレベルを含むログメッセージをクライアント上に作成し、その内容は「adddddddddd」になります。 写真 rsyslog サービス ログを表示すると、クライアントからログ ファイルに送信された内容が表示されます。 写真 パート04. 安全なログサーバーを素早くセットアップする方法セキュリティを強化するために、TLSを使用して安全なリモートログを実行できます。TLSを使用して安全なリモートログを実行すると、次のようなセキュリティ上の利点があります。
以下のデモでは、2つの異なるノードを用いて、TLS証明書を使用したrsyslogによる安全なリモートログ記録の実行方法を説明します。これらの2つのノードはそれぞれクライアントとサーバーであり、クライアントノードはrsyslogクライアントとして機能し、サーバーノードはリモートログサーバーとして機能します。 4.1 CA証明書を生成するsyslog をリモート ログ サーバーに安全に転送するための自己署名証明書を作成するには、まず GnuTLS の一部である certtool ツールをインストールする必要があります。 秘密鍵を生成し、作成された鍵が root ユーザーのみによって読み取れるように権限を設定します。 自己署名 CA 証明書を作成します。 証明書の有効期限については、証明書の有効期限が切れると、すべての証明書を再作成する必要があります。3650日(約10年)という比較的長い期間を設定できます。 写真 図に示すように、ca-key.pem は認証局の秘密鍵であり、ca.pem は他のノードに配布される公開鍵です。 写真 4.2 マシン証明書の生成このステップでは、サーバーの秘密鍵と証明書を生成します。`--outfile` オプションは、秘密鍵を使用するサーバーの名前を指定します。ここではサーバー名を `node3` とします。 秘密鍵を使用して署名要求を取得し、サーバー側の秘密鍵 node3-key.pem をロードし、秘密鍵を node3-request.pem に署名します。 写真 上記の手順を完了すると、ログサーバーの鍵生成プロセスが完了します。その後、認証局の秘密鍵(ca-key.pem)を使用して、使用する証明書に署名します。 4.3 安全なリモートログ記録を可能にするためにTLS証明書を配布する次に、キーをリモート ノード サーバー node3 にコピーします。 キーをコピーする前に、サーバー ノードに rsyslog-key という名前のディレクトリを作成してこれらのキーを保存し、クライアントからサーバーにキーをコピーします。 4.4 システムログを安全に転送するようにサーバーを構成するサーバー上でメッセージを受信するには、次の設定が必要です。 rsyslog サービスを再起動して、そのステータスを確認します。 4.5 ログメッセージを安全に受信するためのクライアント設定ログをリモート ログ サーバーに安全に転送するようにクライアントを構成し、ca.pem を保存するためのディレクトリをクライアントに作成します。 /etc/rsyslog.config ファイルに次の情報を入力します。 rsyslog サービスを再起動して、そのステータスを確認します。 4.6 リモートログ記録の検証rsyslog クライアントに `logger "hello world"` と入力すると、スクリーンショットに、リモート ログ サーバーがクライアントから送信されたメッセージを受信したことが示されます。 写真 パート05. 結論rsyslogは、Ubuntu 14.04、CentOS 6以降のバージョンなど、様々なLinuxディストリビューションで広く使用されている強力で安全なログシステムです。豊富な機能を備えており、さまざまなソースからログを収集し、ログをフィルタリングおよびフォーマットする機能も提供します。 rsyslog を使用することで、システムログの管理と記録が容易になります。rsyslog は、ログイン認証やシステムログなどの重要な情報を一元的に処理・保存し、リモートログサーバーに送信することができます。これにより、システム負荷の軽減とログの一元管理が可能になります。さらに、rsyslog は最新のログ情報をいつでも取得して監視・分析できるため、システムの稼働状況を把握するのに役立ちます。 まとめると、rsyslogは強力なログ収集機能を提供し、システムログをより適切に管理・活用することを可能にします。信頼性が高く、広く使用されているツールであり、システムのセキュリティ、信頼性、そして管理性の向上に役立ちます。 |