当記事では、LogStare Collector(以下、LSCと記載)におけるTLS通信を使用したSyslog収集の設定について記載します。
目次
TLS通信を使用したSYSLOG収集 とは...
TLSとは通信を秘匿する際に使用される暗号化技術です。
TLS通信を利用したSyslog収集は暗号化されているので、重要なログを収集する際にご活用いただけます。
証明書について
LSCにてTLS通信を使用したSyslog収集を行うにはルートCA証明書と中間証明書、サーバ証明書を連結したチェーン証明書が必要となります。
チェーン証明書は、各証明書を1つのファイルに以下の形式で連結することで作成ができます。
証明書(CA証明書とサーバ証明書)
-----BEGIN CERTIFICATE----- サーバ証明書 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ルートCA証明書 -----END CERTIFICATE-----
CA証明書と中間証明書とサーバ証明書
-----BEGIN CERTIFICATE----- サーバ証明書 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- 中間証明書 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ルートCA証明書 -----END CERTIFICATE-----
CA証明書と複数の中間証明書とサーバ証明書
※今回は証明書のパスを以下の通りとします。
ルートCA証明書
└中間証明書2
└中間証明書1
└サーバ証明書
-----BEGIN CERTIFICATE----- サーバ証明書 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- 中間証明書1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- 中間証明書2 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ルートCA証明書 -----END CERTIFICATE-----
チェーン証明書の作成例
ここではKeyStore Explorerを利用して、手元にある証明書(CA証明書とサーバ証明書)に中間証明書を1つ追加してチェーン証明書(CA証明書と中間証明書とサーバ証明書)を作成する手順について説明しています。
具体的にはJavaで読み込むことができるチェーン証明書と秘密鍵が格納されたキーストアファイル(.jks)の作成手順となります。流れとしてはKeyStore Explorerを使って新規にJKS形式のキーストアファイル(.jks)を作成して事前に用意した証明書と証明書に紐づいた秘密鍵をインポートします。インポートした証明書に中間証明書を追加して、最後にキーストアファイル(.jks)を保存します。
事前準備
証明書(CA証明書とサーバ証明書)
証明書に紐づいた秘密鍵(OpenSSLのキーペアタイプ)
中間証明書にしたい証明書
作成手順
KeyStore Explorerをセットアップ
下記のURLよりKeyStore Explorerをダウンロードしてインストールします。
記事作成時に利用したKey Store Explorer は「kse-552-setup.exe(Java環境あり)」です。既にJava環境がある場合は「kse-552-setup-no-jre.exe」をダウンロードしてインストールすることができます。インストールは全て規定値の状態でインストールします。インストーラーの最期に「Launch KeyStore Explorer」にチェックを入れて「Finish」ボタンを押します。
新しくKeyStoreファイルを作成
ここではJavaで読み込むことができるキーストアファイルを新しく作成し、証明書と秘密鍵を格納します。その格納された証明書に中間証明書を追加します。
「Create a new KeyStore」を選択します。
キーストアファイルのタイプとして「JKS」を選択します。
Toolsから「Import Key Pair」を選択して、予め用意した証明書と秘密鍵をキーストアファイルに格納(インポート)します。
キーペアのタイプとして「OpenSSL」を選択します。
「OpenSSL Private key File」に秘密鍵ファイルパスを指定します。ここでは「c:\mykey.key」としています。「Certificate(s) File」に証明書ファイルパスを指定します。ここでは「C:\test.cer」としています。秘密鍵にパスワードが付いていれば、「Decryption Password」に復号化のパスワードを入力します。無ければチェックを外します。
「Enter Alias」にエイリアス名を入力します。インポートしたファイルに予めつけられているエイリアスが規定値で表示されますので、基本的には変更せずにそのままで問題ありません。必要に応じて変更してください。
キーペアを取り出す際のパスワードを入力します。ここでは仮にパスワードを「secuavail」とします。インポートが完了するとダイアログが表示されます。「OK」ボタンを押してキーストアに指定した秘密鍵と証明書のインポートを終了します。
新しく作成したキーストアファイルを右クリックして「Edit Certificate Chain」「Append Certificate」を選択し、予め用意した中間証明書となる証明書を追加します。
下記の様なエラーメッセージが表示された場合は、キーペアと共にインポートした元の証明書ファイルがまだ認証局から正式に署名されていない自己署名証明書である可能性があります。署名されたファイルであることを確認してください。
インポートする証明書ファイルの詳細については、前の手順にあったToolsから「Import Key Pair」を選択した画面で証明書ファイルを選択した後に「Details」を押すと下記の通り詳細画面が表示されます。ここでは架空の「a」という認証局が表示されています。正しい認証局の証明書があることを確認してください。
中間証明書を追加すると下記のようにCertificate Hierarchy項目に複数の証明書が連鎖して中間証明書が加えられます。
Toolsから「Set keyStore Password」を選択して、キーストアファイルを開くためのパスワードを設定します。ここではキーペアのパスワードと同じ「secuavail」としています。入力が終わったら「OK」ボタンを押します。このパスワードは後にLSCの設定で利用しますのでメモしておきます。
Fileから「Save As」を選択して中間証明書と秘密鍵が格納されたキーストアファイルを保存します。ここではファイル名を「server.jks」としています。このファイルは後にLSCの設定で利用しますので、メモしておきます。
以上がチェーン証明書を作成する手順です。
必要に応じて作成したキーストアファイルに設定したパスワードで開くことが出来るか確認することもできます。KeyStore Explorerからファイルを読み込んでパスワードを入れてください。
また、キーペアに設定したパスワードでキーペアが取り出せるかも確認することが出来ます。キーストアファイルを右クリックして「Unlock」を押してパスワードを入れてください。
使用方法
事前準備
- LSCサーバに、チェーン証明書を用意します。
※LSCサーバにて設定できる証明書は1つのみとなりますので、チェーン証明書を使用します。
※用意するサーバ証明書のCommon nameをLSCサーバのFQDNまたはIPアドレスと一致させてください。
※用意するチェーン証明書はJKSタイプをご用意ください。
※LSCにはクライアント認証を行う機能はありません。
※各証明書の作成はサポート対象外となります。
LSCサーバでの作業
- 事前準備にて用意したチェーン証明書のファイルパスを確認します。
※今回は/root/certs/にserver.jksが格納されています。# ls /root/certs/ server.jks
- /usr/local/logstarecollector/etc/lsc-site.confを編集します。
# vi /usr/local/logstarecollector/etc/lsc-site.conf
証明書の位置と証明書のパスワードを記載します。
以下の記載では、証明書の位置が「/root/certs/server.jks」パスワードが「secuavail」となっております。#JKSタイプの証明書の位置を設定する syslog_cert_file=/root/certs/server.jks #証明書のパスワードを設定 syslog_cert_password=secuavail
- LSCを再起動します。
# /usr/local/logstarecollector/sbin/stop_kallista.sh # /usr/local/logstarecollector/sbin/start_kallista.sh
LSCでの作業
- Syslog 収集の設定を行います。
※設定手順につきましては、以下の記事をご参照ください。
SYSLOG収集 - システム管理 > 環境設定 より、サーバ > Syslog ポート > TLS に収集対象デバイスで設定したポート番号を設定します。
※更新をクリックしなければ設定は保存されません。
※LSCv2.0.1build201113以降の場合は、syslogポートが競合していた際に、「ポート競合により正しく開始できませんでした。」と表示されます。
※LSCv2.0.1build201113以降の場合は、TLSの設定が行われていない際に、「TLSの利用に必要な設定が行われていません。 」と表示されます。
監視対象デバイスでの設定
- 信頼されるルート証明機関としてルートCA証明書をインポートします。
※インポートするルートCA証明書は、LSCサーバにて使用するチェーン証明書に記載されたルートCA証明書をご利用ください。 - LSCへTLS通信によってSyslogを送信する設定を行います。
※PaloAltoの設定手順につきましては、以下の記事をご参照ください。
PaloAltoにおけるTLS通信を利用したSYSLOG送信方法
※FortiGateの設定手順につきましては、以下の記事をご参照ください。
FortiGateにおけるTLS通信を利用したSYSLOG送信方法
以上でLSCにおけるTLS通信を使用したSYSLOG収集についての説明は終了となります。
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。