EN JP CN

Klocwork サーバーセキュア接続の使用

Klocwork サーバーセキュア接続の使用

Klocwork サーバーセキュア接続の使用

Klocwork サーバーセキュア接続の使用

Klocwork ツールを設定して、セキュア HTTP 接続 (https) を使用することができます。これは、Klocwork サーバーに接続するすべての Klocwork クライアントツールは SSL を使用して接続することを意味します。

以下のステップを実行して、SSL を設定してください。

  • Klocwork サーバーを設定する
  • Klocwork サーバーに接続するすべての Klocwork クライアントツールを設定する

kwauthconfig を使用して署名なしの証明書を生成するか、独自の署名付きの証明書を生成することができます。これら 2 つのシナリオについて次に説明します。

SSL を使用するための Klocwork サーバーの構成 - 署名なしの証明書

このセクションでは、kwauthconfig を使用して署名なしの SSL 証明書を生成する方法について説明します。署名付きの独自の証明書を生成する場合は、次のセクションを参照してください。

アクセス制御のセットアップの一部として SSL を設定できます。後で SSL を設定することもできます。

アクセス制御を設定していない場合:

  • アクセス制御のセットアップに移動し、アクセス制御メソッドを選択するときに [セキュア Klocwork サーバー接続の使用] チェックボックスを選択してください。テキストフィールドについて次に説明します。

アクセス制御を既に設定している場合:

  1. Klocwork セキュリティユーティリティ、kwauthconfig を起動する方法は、プラットフォームによって異なります。
    • Windows:[スタート] > [すべてのプログラム] > [Klocwork 12.2] > [Klocwork セキュリティ構成] をクリックします。
    • Mac OS/X:Applications フォルダーから kwauthconfig を起動します。
    • その他:<server_install>/bin から kwauthconfig を実行します。
  2. [構成] をクリックします。
  3. [セキュア Klocwork サーバー接続の使用] チェックボックスを選択します。
  4. 以下に説明するテキストフィールドに入力します。
  5. [終了] をクリックします。
  6. Klocwork サーバーをコマンド kwservice restart を使用して、または Windows Services 管理を使用して再起動します。

kwauthconfig で SSL を設定するためのテキストフィールド

  • [ホスト名] は、Klocwork サーバーの完全修飾ホスト名 (testserver.mydomain.com など) です。
  • [組織単位] は、この証明書が適用される組織単位 (開発など) です。
  • [組織] は組織の名前 (Klocwork など) です。

SSL を使用するための Klocwork サーバーの構成 - 署名済みの証明書

上に示すように、kwauthconfig を使用して、セキュア接続を使用するように Klocwork サーバーを設定すると、生成される証明書は署名なしになります。署名付きの独自の証明書を使用する場合は、自己署名キーストアファイルを作成し、kwauthconfig ユーティリティを実行して設定内容を検出します。

重要: 以下のプロセスは、Java Development Kit ツール keytool を使用して、自己署名キーストアを作成するための基本手順です。 このツールは <Server_install>/_jvm/bin にあります。ただし、Klocwork は、以下のマニュアルを読んで詳しく理解することを強くお勧めします。

たとえば、-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 を使用)

  1. Klocwork セキュリティユーティリティ、kwauthconfig を起動します。
  2. projects_root ディレクトリの場所を指定します。
  3. [構成] をクリックします...
  4. [セキュア Klocwork サーバー接続の使用] チェックボックスを選択します。設定内容が正しいことを確認し、[完了]をクリックしてください。(上述のキーストア作成中にこれらの設定が入力されます。)
  5. Klocwork サーバーをコマンド kwservice --projects-root <projects_root> restart klocwork を使用して、または Windows Services 管理を使用して再起動します。

これらのステップが完了したら、SSL を使用するための Klocwork クライアントツールの構成のセクションに進みます。

SSL を使用するための Klocwork サーバーの構成 (手動)

Klocwork サーバーで SSL を手動で構成/有効化する必要がある場合 (Klocwork をサーバー上で実行していて、シェルアクセスしかない場合など)、手順は次のようになります。

前提条件:.keystore ファイルを <projects_root>/tomcat/conf に作成して保存しておく必要があります。

  1. 次のファイルをテキストエディターで開きます。
    <projects_root>/config/admin.conf
  2. 設定 klocwork.protocol=http を検索し、値を to https に変更します。
  3. 次のファイルをテキストエディターで開きます。
    <projects_root>/tomcat/conf/server.template
  4. 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/html,text/xml"
         maxPostSize="0"
         />
    
  5. その要素に次の属性を追加します (以下の 3 行を maxPostSize/> の間に貼り付けます)。
         SSLEnabled="true" scheme="https" secure="true"
         clientAuth="false" sslProtocol="TLS"
         keystoreFile="conf/.keystore"
    
  6. Klocwork サーバーを AIX プラットフォームで実行している場合は、次の行も追加する必要があります (ステップ 5 で貼り付けた行の後から、/> の前に)。
         algorithm="IbmX509"
    
  7. コマンド 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 で実行されている必要があります。

これを有効にするには、以下の手順に従います。

  1. Windows で、[スタート] > [すべてのプログラム] > Klocwork 2017.2 > [Klocwork セキュリティ構成] の順にクリックするか、プラットフォームのコマンドラインから次のコマンドを実行します。
    kwauthconfig [<projects_root>]
  2. [構成...] をクリックします。
  3. まだ行っていない場合、[セキュア Klocwork サーバー接続の使用] チェックボックスを選択して、各フィールドに値を入力します
  4. [スマートカードクライアント認証の有効化] チェックボックスを選択します。
  5. [参照...] をクリックして、信頼されるクライアント証明書キーストアの場所を選択します。
  6. キーストアパスワードを入力します。
  7. [終了][OK] の順にクリックして変更を終了します。

信頼されるクライアント証明書キーストアは管理者によって作成され、Klocwork ツールにアクセスできるすべてのユーザーの証明書を格納します。

ブラウザーで Klocwork ポータルログインページにアクセスする場合、Chrome とInternet Explorer では、そのページに初めてアクセスするときにクライアント証明書の選択を求められます。初回以降は、選択は使用ブラウザーにより自動的に記憶されます。

Firefox では、別のキーストアが使用されるため、以下の手動による構成が必要となります。

  1. [オプション] > [詳細設定] > [暗号化] に移動します。
  2. [証明書の表示] をクリックします。
  3. [証明書] タブをクリックして、[インポート...] をクリックします。
  4. クライアント証明書を選択して、[開く] をクリックします。

これらの手順を実行した後で初めて Firefox を開くと、証明書の検証を求められる場合があります。証明書を検証した後は、プロンプトは一切表示されず、Klocwork ポータルログインページにアクセスできるようになります。

Klocwork サーバーに接続するコマンドラインツール

--url オプションを指定します。このオプションによって Klocwork サーバーのホストとポートも指定できます (コマンドによっては統合プロジェクトの名前も指定できます)。URL に http ではなく https を指定します。

kwadmin --url https://myserver:8080/

ヒント:古い --host および --port オプションを使用する場合は、--ssl オプションではなく --url オプションを使用できます。

kwadmin --ssl --host myserver --port 8080

GUI ベースのクライアントツール

IDE プラグインおよび Klocwork には、Klocwork サーバーに接続されていれば、デスクトップが「セキュア接続使用」オプションを有効にします。

ブラウザーベースのクライアントツール

Klocwork Static Code AnalysisKlocwork Code Review および Klocwork ドキュメンテーションには、URL で http ではなく https を指定します。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 接続の無効化

  1. <server_install>/bin から kwauthconfigを起動します。
  2. [構成] をクリックします。
  3. [セキュア Klocwork サーバー接続の使用] チェックボックスを選択解除します。
  4. [終了] をクリックします。
  5. Klocwork サーバーを、コマンド kwservice restart を使用して、または Windows Services 管理を使用して再起動します。
  6. 特別な SSL オプションを使用せずに Klocwork ツールを実行する必要があることをすべてのユーザーに通知します。

Active Directory への接続試行時のシンプルバインドの失敗エラー

LDAP サーバーへのセキュア接続を使用しており、Active Directory への接続試行時に次のようなエラーが表示される場合:
simple bind failed: ad.hostname.com:636
  1. LDAP サーバーのパブリック証明書を Klocwork キーストア (<path_to_JVM_install>\_jvm\lib\security\cacerts) に直接インポートします。

    LDAP サーバーの証明書を信頼された証明書リストにインポートして LDAP サーバーの証明書を信頼することになるため、Klocwork 側での証明書検証プロセスがバイパスされます。

  2. LDAP 管理者に、LDAP サーバーの証明書のこの拡張を非クリティカルに設定するように依頼します。

PKI 証明書がないため、サーバーに接続できませんでした

公開鍵基盤 (PKI) とスマートカードをサポートするクライアント証明書を使用しており、次のエラーが表示された場合:

サーバーに接続できませんでした 'https://server01.klocwork.com:8080':Software caused connection abort: recv failed

スマートカードがリーダーに正しく挿入され、Windows 証明書ストアに適切な証明書がインストールされていることを確認します。