Klocwork サーバーセキュア接続の使用
Klocwork ツールを設定して、セキュア HTTP 接続 (https) を使用することができます。これは、Klocwork サーバーに接続するすべての Klocwork クライアントツールは SSL を使用して接続することを意味します。
以下のステップを実行して、SSL を設定してください。
- Klocwork サーバーを設定します。
- Klocwork サーバーに接続するすべての Klocwork クライアントツールを設定します。
kwauthconfig を使用して署名なしの証明書を生成するか、独自の署名付きの証明書を生成することができます。これら 2 つのシナリオについて次に説明します。
SSL を使用するための Klocwork サーバーの構成 - 署名なしの証明書
このセクションでは、kwauthconfig を使用して署名なしの SSL 証明書を生成する方法について説明します。署名付きの独自の証明書を生成する場合は、次のセクションを参照してください。
アクセス制御のセットアップの一部として SSL を設定できます。後で SSL を設定することもできます。
アクセス制御を設定していない場合:
- アクセス制御の設定に移動し、アクセス制御メソッドを選択するときに [セキュア Klocwork サーバー接続の使用] チェックボックスを選択してください。テキストフィールドについて次に説明します。
アクセス制御を既に設定している場合:
- Klocwork セキュリティユーティリティ、kwauthconfig を起動する方法は、プラットフォームによって異なります。
- Windows: [スタート] > [すべてのプログラム] > [Klocwork 23.1] > [Klocwork セキュリティ構成] をクリックします。
- その他: <server_install>/bin から kwauthconfig を実行します。
- [構成] をクリックします。
- [セキュア Klocwork サーバー接続の使用] チェックボックスを選択します。
- 以下に説明するテキストフィールドに入力します。
- [終了] をクリックします。
- Klocwork サーバーを、コマンド kwservice restart を使用して、または Windows Services 管理を使用して再起動します。
kwauthconfig で SSL を設定するためのテキストフィールド
- [ホスト名] は、Klocwork サーバーの完全修飾ホスト名 (testserver.mydomain.com など) です。
- [組織単位] は、この証明書が適用される組織単位 (開発など) です。
- [組織] は組織の名前 (Klocwork など) です。
SSL を使用するための Klocwork サーバーの構成 - 署名付きの証明書
上に示すように、kwauthconfig を使用して、セキュア接続を使用するように Klocwork サーバーを設定すると、生成される証明書は署名なしになります。署名付きの独自の証明書を使用する場合は、自己署名キーストアファイルを作成し、kwauthconfig ユーティリティを実行して設定内容を検出します。
Important:
- セキュア HTTP 設定に関する一般的な Apache Tomcat マニュアル: https://tomcat.apache.org/tomcat-8.5-doc/config/server.html
- keytool 使用の完全マニュアル: http://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.htm
たとえば、-validity フラグを使用して、デフォルトの証明書有効期間を変更する必要がある場合があります。
自己署名キーストアファイルの作成
<Server_install> から、次のコマンドを実行します。
_jvm/bin/keytool -genkeypair -alias tomcat -keyalg RSA -keystore <projects_root>/tomcat/conf/.keystore -dname "cn=<KlocworkServer_hostname>, ou=<your_organizational_unit>,o=<your_organization>" -keypass changeit -storepass changeit
フィールド
- cn は完全修飾 Klocwork サーバーのホスト名です。
- ou と o は、適切な組織のユニットと組織名で置き換える必要があります。
- keypass と storepass の値は、Tomcat のデフォルトの値です。
キーストアは Tomcat の config ディレクトリ (<projects_root>/tomcat/conf) に保存されます。
コマンドラインの例:
_jvm/bin/keytool -genkeypair -alias tomcat -keyalg RSA -keystore <projects_root>/tomcat/conf/.keystore -dname "cn=testserver.klocwork.com, ou=Development, o=Klocwork" -keypass changeit -storepass changeit
このコマンドで、.keystore という名前のキーストアファイルが生成されます。
SSL を使用するための Klocwork サーバーの構成 (kwauthconfig を使用)
- Klocwork セキュリティユーティリティ、kwauthconfig を起動します。
- projects_root ディレクトリの場所を指定します。
- [構成] をクリックします...
- [セキュア Klocwork サーバー接続の使用] チェックボックスを選択します。設定内容が正しいことを確認し、[完了]をクリックしてください。(上述のキーストア作成中にこれらの設定が入力されます。)
- Klocwork サーバーをコマンド kwservice --projects-root <projects_root> restart klocwork を使用して、または Windows Services 管理を使用して再起動します。
これらのステップが完了したら、SSL を使用するための Klocwork クライアントツールの構成のセクションに進みます。
SSL を使用するための Klocwork サーバーの構成 (手動)
Klocwork サーバーで SSL を手動で構成/有効化する必要がある場合 (Klocwork をサーバー上で実行していて、シェルアクセスしかない場合など)、手順は次のようになります。
前提条件: .keystore ファイルを <projects_root>/tomcat/conf に作成して保存しておく必要があります。
- 次のファイルをテキストエディターで開きます。
<projects_root>/config/admin.conf
- 設定 klocwork.protocol=http を検索し、値を to https に変更します。
- 次のファイルをテキストエディターで開きます。
<projects_root>/tomcat/conf/server.template
- XML 要素 <Connector> を見つけます。以下に例を示します。
<Connector port="$PORT" maxthreads="4-" minSpareThreads="20" maxSpareThreads="40" enableLooksups="false" redirectPort="8443" acceptCount="50" debug="0" connectionTimeout="20000" compression="on" compressionMinSize="2048" noCompressionUserAgents=".*MSIE.*,gozilla,traviata" compressableMimeType="text.htm,text/xml" maxPostSize="0" />
- その要素に次の属性を追加します (以下の 3 行を maxPostSize と /> の間に貼り付けます)。
SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore"
- コマンド kwservice --projects-root <projects_root> restart klocwork (または Windows Services 管理) を使用して Klocwork サーバーを再起動します。
これらのステップが完了したら、SSL を使用するための Klocwork クライアントツールの構成のセクションに進みます。
SSL を使用するための Klocwork クライアントツールの構成
このセクションでは、インストール後に Klocwork サーバーセキュア接続を設定する方法について説明します。次の方法で、インストール中に SSL を設定することもできます。
- Windows ユーザーインストーラーの [セキュアなサーバー接続 (HTTPS) を使用する] チェックボックス
- Windows 自動インストールの "USE_SSL" プロパティ
- UnixServer インストーラおよびユーザーインストーラの --use-ssl オプション
クライアント証明書サポート
クライアント証明書と連動するよう Klocwork ツールを構成すると、公開鍵基盤 (PKI) とスマートカードをサポートできるようになります。クライアント証明書は、Klocwork Web API との使用にも対応しています。
前提条件:
- クライアントインストールが Windows で実行されている必要があります。
これを有効にするには、以下の手順に従います。
- Windows で、[スタート] > [すべてのプログラム] > Klocwork 2023.1 > [Klocwork セキュリティ構成] の順にクリックするか、プラットフォームのコマンドラインから次のコマンドを実行します。
kwauthconfig [<projects_root>]
- [構成...] をクリックします。
- まだ行っていない場合、[セキュア Klocwork サーバー接続の使用] チェックボックスを選択して、各フィールドに値を入力します
- [スマートカードクライアント認証の有効化] チェックボックスを選択します。
- [参照...] をクリックして、信頼されるクライアント証明書キーストアの場所を選択します。
- キーストアパスワードを入力します。
- [終了]、[OK] の順にクリックして変更を終了します。
信頼されるクライアント証明書キーストアは管理者によって作成され、Klocwork ツールにアクセスできるすべてのユーザーの証明書を格納します。
ブラウザーで Klocwork ポータルログインページにアクセスする場合、Chrome と Internet Explorer では、そのページに初めてアクセスするときにクライアント証明書の選択を求められます。初回以降は、選択は使用ブラウザーにより自動的に記憶されます。
Firefox では、別のキーストアが使用されるため、以下の手動による構成が必要となります。
- [オプション] > [詳細設定] > [暗号化] に移動します。
- [証明書の表示] をクリックします。
- [証明書] タブをクリックして、[インポート...] をクリックします。
- クライアント証明書を選択して、[開く] をクリックします。
これらの手順を実行した後で初めて Firefox を開くと、証明書の検証を求められる場合があります。証明書を検証した後は、プロンプトは一切表示されず、Klocwork ポータルログインページにアクセスできるようになります。
Klocwork サーバーに接続するコマンドラインツール
--url オプションを指定します。このオプションによって Klocwork サーバーのホストとポートも指定できます (コマンドによっては統合プロジェクトの名前も指定できる)。URL に http ではなく https を指定します。
kwadmin --url https://myserver:8080/
Tip: 古い --host および --port オプションを使用する場合は、--ssl オプションではなく --url オプションを使用できます。
kwadmin --ssl --host myserver --port 8080
GUI ベースのクライアントツール
IDE プラグインおよび Klocwork デスクトップには、Klocwork サーバーに接続されていれば、「セキュア接続使用」オプションを有効にします。
ブラウザーベースのクライアントツール
Klocwork Static Code Analysis、Klocwork Code Review、および Klocwork ドキュメンテーションには、http ではなく https を URL で指定します。http を使用する場合、ファイルのダウンロードを求めるプロンプトが表示される場合があります。
Klocwork Static Code Analysis の場合の例:
https://myserver.mydomain.com:8080/
ブラウザーベースのクライアントツールによって発行される証明書警告
SSL が Klocwork サーバーで設定された後に Klocwork ブラウザーベースのツールに接続するときに、次のような警告が表示されます。
- Firefox の場合、"Secure Connection Failed"
- Internet Explorer の場合、"Certificate Error: Navigation Blocked"
今後、このメッセージが表示されないように、ユーザーは Klocwork サーバーに例外を追加できます。詳細については、お使いのブラウザーのヘルプを参照してください。
SSL 接続の無効化
- <server_install>/bin から kwauthconfigを起動します。
- [構成] をクリックします。
- [セキュア Klocwork サーバー接続の使用] チェックボックスを選択解除します。
- [終了] をクリックします。
- Klocwork サーバーを、コマンド kwservice restart を使用して、または Windows Services 管理を使用して再起動します。
- 特別な SSL オプションを使用せずに Klocwork ツールを実行する必要があることをすべてのユーザーに通知します。