LogStare Collector リファレンス

LogStare CollectorにおけるSSL化(HTTPS化) Windows版

この記事は投稿日から6年以上経過しています。

当記事では、Windows版のLogStare Collector をSSL化(HTTPS化)に対応する手順について記載します。
※SSL対応はLogStare Collector 1.7.0以降のバージョンにてご利用いただけます。

若手エンジニア志望者を募集!支度金あり

また、SSL化(HTTPS化)に対応したLogStare Collectorより別のLogStare Collectorへリストアした場合、下記のファイルはリストア手順では復元されないため、手動での更新が必要になります。

  • jetty.xml
  • kallista_env.cmd

 

更新履歴

2024/03/11 keysotreファイルの作成例を追記しました。

事前準備

  • LogStare Collector (以下 : LSC) のバージョンが1.7.0以降であることを確認します。
    ※システム設定 > ライセンス > LogStare Collector バージョンより確認します。

設定手順

手順の流れは以下の通りです。

keytoolコマンドを使って鍵を作成

Windowsコマンドプロンプトを用いて以下のkeytoolコマンドを実行して鍵を生成します。
ここでは例として以下を指定しています。

9,999日間有効な2,048ビットのRSAのキー・ペアと自己署名型証明書(SHA256withRSA)を生成しています。
ディレクトリ名: CN=sample, OU=sample, O=sample, L=sample, ST=sample, C=JP

ファイルパス:「C:\LogStareCollector\etc\keystore」
パスワード:「SAPassword」

※「C:\LogStareCollector」はLogStare Collector のインストール先(デフォルト)を指します。

keytoolコマンド

cd C:\LogStareCollector\etc
C:\LogStareCollector\etc>c:\LogStareCollector\jdk-XX.X.XX+X\bin\keytool -genkeypair -alias mykey -validity 9999 -keystore .\keystore -keyalg RSA

※「jdk-XX.X.XX+X」の部分は数字が入ります。お使いのLogStare Collectorのバージョンによって変わります

キーストアのパスワードを入力してください: SAPassword(画面には表示されません))
新規パスワードを再入力してください: SAPassword(画面には表示されません)
姓名は何ですか。
  [Unknown]:  sample
組織単位名は何ですか。
  [Unknown]:  sample
組織名は何ですか。
  [Unknown]:  sample
都市名または地域名は何ですか。
  [Unknown]:  sample
都道府県名または州名は何ですか。
  [Unknown]:  sample
この単位に該当する2文字の国コードは何ですか。
  [Unknown]:  JP
CN=sample, OU=sample, O=sample, L=sample, ST=sample, C=JPでよろしいですか。
  [いいえ]:  はい

9,999日間有効な2,048ビットのRSAのキー・ペアと自己署名型証明書(SHA256withRSA)を生成しています
        ディレクトリ名: CN=sample, OU=sample, O=sample, L=sample, ST=sample, C=JP

以下コマンドでC:\LogStareCollector\etcディレクトリに新しく keystoreファイルが生成されていることを確認します。

C:\LogStareCollector\etc>dir
C:\LogStareCollector\etc のディレクトリ

2020/01/06  09:05    <DIR>          .
2020/01/06  09:05    <DIR>          ..
2020/01/06  09:03    <DIR>          db
2020/01/07  14:32             3,657 jetty.xml
(2020/01/08  09:05             2,710 keystore) ここにファイルがあることを確認します
2020/01/04  15:21               192 license_lsc.dat
2010/01/13  16:48             1,832 log4j.xml
2020/01/21  18:21             1,248 lsc-site.conf
2020/01/07  14:28    <DIR>          plugins

以下のコマンドで keystore ファイル内に作成した鍵が登録されていることを確認します。

利用するキーストアには 1 エントリが含まれていることを確認します。

(作成した鍵はデフォルトでは mykey という名前になっています)

C:\LogStareCollector\etc>c:\LogStareCollector\jdk-XX.X.X+X\bin\keytool -list -keystore keystore

キーストアのパスワードを入力してください:SAPassword(パスワードは表示されません)
キーストアのタイプ: PKCS12
キーストア・プロバイダ: SUN

キーストアには1エントリが含まれます

mykey,2020/01/08, PrivateKeyEntry,
証明書のフィンガプリント(SHA-256): AB:E1:52:B8:10:D....................

※仮に、以下のように LogStare Collector で利用するkeystoreファイルにはキーストアに 2 エントリがあるとエラーになってLSCの起動ができません。
LSC専用の keystore ファイルとしてエントリが 1 つになるよう新しい keystore ファイルを作成するか、利用しないエントリを削除してください。

C:\LogStareCollector\etc>c:\LogStareCollector\jdk-XX.X.X+X\bin\keytool -list -keystore keystore

キーストアのパスワードを入力してください:SAPassword(パスワードは表示されません)
キーストアのタイプ: PKCS12
キーストア・プロバイダ: SUN

キーストアには2エントリが含まれます

mykey,2020/01/08, PrivateKeyEntry,
証明書のフィンガプリント(SHA-256): 8D:EB:FC:86:EF:BB:01:0D:FE:29:F1:14:3B:..............
test2,2020/01/08, PrivateKeyEntry,
証明書のフィンガプリント(SHA-256): B1:E1:1F:74:53:75:39:A5:B1:9D:B0:78:46:C.............

 

※ エントリーが 2 つの状態で起動するとLSCのサービス起動時に以下のようなエラーが出ます。

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

java.lang.IllegalStateException: KeyStores with multiple certificates are not supported on the base class org.eclipse.jetty.util.ssl.SslContextFactory. (Use org.eclipse.jetty.util.ssl.SslContextFactory$Server or org.eclipse.jetty.util.ssl.SslContextFactory$Client instead)
at org.eclipse.jetty.util.ssl.SslContextFactory.newSniX509ExtendedKeyManager(SslContextFactory.java:1289)
at org.eclipse.jetty.util.ssl.SslContextFactory.getKeyManagers(SslContextFactory.java:1271)
at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:373)

ヒント:コマンド実行中に以下のようなメッセージが表示されてもご利用いただくことは可能です。 PKCS12に移行する方法は必要でしたら別途お問い合わせください。

---------------------------------------------------------------------------------------

Warning:
JKSキーストアは独自の形式を使用しています。
"keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12"
を使用する業界標準の形式であるPKCS12に移行することをお薦めします。
---------------------------------------------------------------------------------------

例えば、上記の test2 の証明書を削除する場合は以下のコマンドを実行します

cd C:\LogStareCollector\etc


C:\LogStareCollector\etc>c:\LogStareCollector\jdk-XX.X.X+X\bin\keytool -delete -alias test2 -keystore keystore
キーストアのパスワードを入力してください:SAPassword(パスワードは表示されません)

jetty.xml にて2か所設定を追記

[LogStare Collector インストール先]\etc\jetty.xml ファイルを開いて以下2か所の設定を追記します。
ここでは以下の値を例として設定します。

KeyStorePathの値「C:\LogStareCollector\etc\keystore
KeyStorePasswordの値「SAPassword

<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
        <Set name="KeyStorePath">C:\LogStareCollector\etc\keystore</Set>
        <Set name="KeyStorePassword">SAPassword</Set>
    </New>

※オプション設定として以下のHTTPSアクセス用ポート番号(8443)の変更ができます。
変更箇所は2か所あり、それぞれ同じ値にします。

1箇所目

<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
        <Set name="secureScheme">https</Set>
        <Set name="securePort">8443</Set>
    </New>

2箇所目

</Arg>
        <Set name="port">8443</Set>
    </New>

    <New id="connector" class="org.eclipse.jetty.server.ServerConnector">
        <Arg name="server">

kallista_env.cmd にて SSL_ENABLEを true へ変更

[LogStare Collector インストール先]\sbin\kallista_env.cmd ファイルの以下を追記します。
ここでは以下の値を例として設定します。

変更前

@rem Use SSL.
set SSL_ENABLE=false

 

変更後

@rem Use SSL.
set SSL_ENABLE=true

 

LogStare Collector を再起動

WindowsOS上で「Windows サービス」を開き、「LogStare Collector」サービスを再起動します。

LSCのGUIからログアウトします。

  1. デスクトップ上の「LogStare Collector(終了)」を実行します。
  2. コマンドプロンプトが自動で開き、LSCの終了処理が走ります。
  3. コマンドプロンプトが閉じれば完了です。LSCを停止します。

Windowsコマンドプロンプトによる再起動を行う場合は以下の通りです。

LogStare Collector を停止

cd C:\LogStareCollector\sbin


C:\LogStareCollector\sbin>stop_kallista.bat


C:\LogStareCollector\sbin>start /wait C:/LogStareCollector/jdk-17.0.2+8/bin/javaw.exe -DSTOP.PORT=17081 -DSTOP.KEY=kallista  -jar "C:/LogStareCollector/lib/start.jar" --stop

※停止には時間がかかることがあります。
以下のコマンドで 「0.0.0.0:80」と書かれたローカル アドレスの行が無いことを確認します

C:\LogStareCollector\sbin>netstat -an

アクティブな接続

  プロトコル  ローカル アドレス      外部アドレス           状態
  TCP         0.0.0.0:21             0.0.0.0:0              LISTENING
( TCP         0.0.0.0:80             0.0.0.0:0              LISTENING ) この行が無いことを確認します
  TCP         0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP         0.0.0.0:445            0.0.0.0:0              LISTENING

LSCが停止していることを確認するには、コマンドプロンプトを起動して以下のコマンドを実行します。

wmic process where "name like 'java%%'" get name,ProcessID,commandline

「利用できるインスタンスがありません。」と表示されれば、LSCは停止しています。

LogStare Collector を起動

C:\LogStareCollector\sbin>start_kallista.bat

C:\LogStareCollector\sbin>if true == true (
echo ssl-enable
 start /b C:/LogStareCollector/jdk-17.0.2+8/bin/javaw.exe -Xss256K -Xmx2048m -Xms128m -Dsa_kallista_home="C:/LogStareCollector" -Djava.io.tmpdir="C:/LogStareCollector/app_tmp" -Djdk.http.auth.tunneling.disabledSchemes="" -Dorg.apache.jasper.compiler.disablejsr199=true -Dorg.eclipse.jetty.annotations.AnnotationParser.LEVEL=OFF -Djava.net.preferIPv4Stack=true -jar "C:/LogStareCollector/lib/jetty-runner-9.4.0.v20161208.jar" --config "C:/LogStareCollector/etc/jetty.xml" --stop-port 17081 --stop-key kallista --path / --log "C:/LogStareCollector/logs/http.yyyy_mm_dd.log" "C:/LogStareCollector/webapp/lsc.war"
)  else (
echo ssl-disable
 start /b C:/LogStareCollector/jdk-17.0.2+8/bin/javaw.exe -Xss256K -Xmx2048m -Xms128m -Dsa_kallista_home="C:/LogStareCollector" -Djava.io.tmpdir="C:/LogStareCollector/app_tmp" -Djdk.http.auth.tunneling.disabledSchemes="" -Dorg.apache.jasper.compiler.disablejsr199=true -Dorg.eclipse.jetty.annotations.AnnotationParser.LEVEL=OFF -Djava.net.preferIPv4Stack=true -jar "C:/LogStareCollector/lib/jetty-runner-9.4.0.v20161208.jar" --port 80 --stop-port 17081 --stop-key kallista --path / --log "C:/LogStareCollector/logs/http.yyyy_mm_dd.log" "C:/LogStareCollector/webapp/lsc.war"
)
ssl-enable

 

ブラウザで管理画面へアクセス

ブラウザで「https://<<LogStare CollectorのIPアドレス>>:8443」でログイン画面を表示します。

例:<<LogStare CollectorのIPアドレス>>が 192.168.0.1の場合

https://192.168.0.1:8443

※再起動には時間がかかることがあります。再起動してしばらくしてからブラウザでアクセスしてください。

※「この接続ではプライバシーが保護されません」という表示が出る場合は、同じ画面上にある詳細設定ボタンや「192.168.0.1 にアクセスする(安全ではありません)」と言ったボタンを押すことでアクセスできます。

※ブラウザは Chrome または Edge を推奨しております。

HTTPSからHTTPアクセスへ戻す方法

ここではHTTPSをHTTPに戻す設定について説明します。

ブラウザからHTTPSでLSCへアクセスできないなどの理由で、HTTPによるアクセスに戻したい場合は、
設定ファイルのパラメーター SSL_ENABLE を false に変更し、LSCの再起動を行ってください。
※[LogStare Collector インストール先]\sbin\kallista_env.cmd
 →set SSL_ENABLE=false

再起動後、ブラウザからHTTPでLSCへアクセスしてログイン画面が出ることを確認します。

例:<<LogStare CollectorのIPアドレス>>が 192.168.0.1の場合

http://192.168.0.1:80

※再起動には時間がかかることがあります。再起動してしばらくしてからブラウザでアクセスしてください。

若手エンジニア志望者を募集!支度金あり

LogStare Collector 無償版

記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。

当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。

LogStare CollectorにおけるSSL化(HTTPS化) Linux版前のページ

LogStare Collectorの監視項目データベースをアップデートする方法次のページ

ピックアップ記事

  1. IoT機器「Raspberry pi」とLogStare Collectorで温…
  2. 自社製品をAMIにしてAWSマーケットプレイスへ出品
  3. Zabbixヒストリデータのレポート生成について
  4. ログフォワーダー「okurun.jar」について

関連記事

  1. LogStare Collector リファレンス

    ファイル収集 - HTTPS - 編

    ファイル収集 - HTTPS - とは...収集対象サーバのディレ…

  2. LogStare Collector リファレンス

    特定プロセスの監視方法

    当記事ではLogStare Collectorにおける特定プロセスの監…

若手エンジニア志望者を募集!
LogStare Collector 無償版
クラウド活用の「困った」「焦った」事例
月額200円でM356の監査ログの運用レベルUP LogStare M365
AWSのログ分析・モニタリングに 次世代のマネージド・セキュリティ・プラットフォーム LogStare

  1. 実践記事

    DNSキャッシュポイズニングやってみた
  2. NW機器

    PaloAltoのIPsec IKEv1 Phase1におけるトラブルシューティ…
  3. AWS/Azure

    AWSマーケットプレイス上から無償版のLogStare Collectorを試す…
  4. SNMPを触ってみた

    ログ分析・監視テクニック

    SNMPとは?新入社員が生まれてはじめて触ってみた!
  5. NW機器

    Nutanix Prism ElementにおけるSNMP監視/REST API…
PAGE TOP