検索 
       
[V5] Proselfでクライアント認証を使用するための設定手順を教えてください。

以下に手順を記載いたします。
なお、クライアント証明書、失効リストの作成方法につきましては弊社のサポート外となりますので、あらかじめお含みおきください。

事前準備

  • クライアント認証を有効にした瞬間に接続できなくなるのを防ぐため、ProselfをインストールしたサーバーのWebブラウザから管理画面に接続します。詳細につきましては以下FAQをご参照ください。
    https://www.proself.jp/support/faq391/
  • サーバーのWebブラウザをご利用できない場合は、クライアント認証を有効設定時でも暫定的にhttp接続できるようにするため以下設定を行っておきます。これにより、万が一設定に誤りがあってもhttpで接続して設定を戻すことが可能です。

    1. Proselfインストールフォルダ/conf/proself.propertiesのバックアップを取得します。
      ※バックアップファイル名はproself.properties.backup.YYYYMMDD等としてください。
    2. Proselfインストールフォルダ/conf/proself.properties内の末尾に以下を追記します。
      proself.security.clientauth.http = true
      ※本設定は即時反映されます。Proselfのサービス再起動は必要ありません。
      ※クライアント認証の設定が終わり次第この設定は消去ください。
      ※Proselfインストールフォルダの確認方法につきましては以下FAQをご参照ください。
      https://www.proself.jp/support/faq433/


設定手順
以下前提での手順としております。
  • Proselfが動作しているサーバー上に自己認証局(プライベート認証局)を構築し、その認証局からクライアント証明書を発行します。
  • サーバー上にはopensslがインストールされているものとします。

  1. 自己認証局(プライベート認証局)を作成します。
    自己認証局(プライベート認証局)を作成済みの場合は読み飛ばしてください。

    以下コマンドを順に実行して/etc/ssl配下にディレクトリを作成します。
    mkdir /etc/ssl/private
    mkdir /etc/ssl/private/client
    既にディレクトリが存在する場合は上記コマンドの実行は必要ございません。

    以下コマンドを実行し、自身が認証局となるための認証局のキーと証明書署名要求を作成します。
    openssl req -new -newkey rsa:2048 -nodes -out /etc/ssl/private/ca.csr -keyout /etc/ssl/private/ca.key
    注意:上記を1行で記述します。

    次に、以下コマンドを実行し、証明書に自己署名を行いX.509デジタル証明書を作成します。本例では期限として3650日(=10年)を指定しています。
    openssl x509 -trustout -signkey /etc/ssl/private/ca.key -days 3650 -req -in /etc/ssl/private/ca.csr -out /etc/ssl/ca.pem
    注意:上記を1行で記述します。
  2. クライアント証明書を作成します。
    クライアントにインストールする証明書を作成します。
    本手順は作成するクライアント証明書の数だけ実施する必要があります。
    そのため、以下で記載している「client1.key」「client1.pem」「client1.p12」については、クライアント証明書を作成する度に別ファイル名とする必要があります。

    最初に、認証局が使用するシリアルナンバーファイルを作成します。
    echo "02" > /etc/ssl/private/ca.srl

    次に、クライアント証明書のキーと証明書署名要求を作成します。本例では期限として365日(=1年間)を指定しています。
    ※手順1で作成した認証局の証明書よりも必ず期限を短くしてください。そうしないとクライアント証明書が有効になりません。
    openssl req -new -newkey rsa:2048 -nodes -out /etc/ssl/private/client/client1.req -keyout /etc/ssl/private/client/client1.key -days 365
    注意:上記を1行で記述します。

    認証局の証明書とキーを使ってX.509クライアント証明書の作成と署名を行います。本例では期限として365日(=1年間)を指定しています。
    ※手順1で作成した認証局の証明書よりも必ず期限を短くしてください。そうしないとクライアント証明書が有効になりません。
    openssl x509 -CA /etc/ssl/ca.pem -CAkey /etc/ssl/private/ca.key -CAserial /etc/ssl/private/ca.srl -req -in /etc/ssl/private/client/client1.req -out /etc/ssl/private/client/client1.pem -days 365
    注意:上記を1行で記述します。

    X.509クライアント証明書から、PKCS12形式のクライアント証明書を作成します。
    openssl pkcs12 -export -clcerts -in /etc/ssl/private/client/client1.pem -inkey /etc/ssl/private/client/client1.key -out /etc/ssl/private/client/client1.p12
    注意:上記を1行で記述します。
  3. Proselfのクライアント認証をONにします。
    Proselfに管理者でログインし、管理画面 - システム設定 - セキュリティ - クライアント認証設定の順にクリックしてクライアント認証設定画面へ移動します。
    クライアント認証設定
    クライアント認証設定画面では「クライアント認証を使用する」をONにし「設定」をクリックします。ONにした場合は、必要に応じて「クライアント認証時のみ利用できる画面/機能」と「クライアント認証オプション」を適宜設定ください。

    クライアント認証時のみ利用できる画面/機能
    対象とする画面/機能にチェックを入れます。なお、管理画面のチェックを外すことはできません。
    項目名 説明
    ユーザー画面 チェックすると「ファイル一覧」、「ファイル送信」、「ファイル受信」すべての機能でクライアント認証が有効になります。有効にさせたい機能を限定させたい場合は該当機能のチェックボックスを変更してください。
    Web公開画面 チェックするとWeb公開画面含めたProselfのすべての画面/機能でクライアント認証が有効になります。

    クライアント認証オプション
    必要に応じて設定ください。
    項目名 説明
    無し オプションを利用しません。
    Auto(※) クライアント認証のCNのIDで自動ログインします。(Webブラウザのみの機能です。)
    Force クライアント認証のCNとログインIDが一致しない場合、ログインができなくなります。
    ※Autoを選択する場合は、追加で以下手順を実施します。
    1. Proselfを停止します。
    2. Proselfインストールフォルダ/conf内にあるjaas.configをjass.config.bakにリネームします。
    3. インストールメディア内のAppendix/confフォルダ内にあるjaas.configをProselfインストールフォルダ/conf内にコピーします。
    4. Proselfを起動します。
  4. ルート証明書を設定します。
    手順3の設定を行うと、クライアント認証設定画面に「ルート証明書の設定」が表示されますので、「ルート証明書の設定」の「インポート」をクリックし「ルート証明書インポート」を表示します。

    次に、手順1で作成した自己署名した証明書(ca.pem)をエディタで開き、「-----BEGIN TRUSTED CERTIFICATE-----」から「-----END TRUSTED CERTIFICATE-----」までをコピーして画面のテキストエリア内に貼り付け、「インポート」をクリックします。
    ルート証明書インポート
  5. ルート証明書インポートのダイアログが表示されます。
    インポートするルート証明書の内容を確認し、「続行」をクリックします。
    ルート証明書インポート
  6. ルート証明書のインポートが行われます。
    「クライアント認証設定」 - 「ルート証明書の設定」内のステータスが設定済に変わり、インポートしたルート証明書の内容が表示されていることを確認します。
    ルート証明書の設定
  7. (Ver5.64以下の場合)Proselfの再起動を行います。
    クライアント認証を適用するためにProselfを再起動します。
  8. クライアント証明書を用いたログインが行えることを確認します。
    クライアント証明書をインストールしたWebブラウザからProselfにHTTPS接続を行い、クライアント証明書の選択ダイアログが表示されること、選択したクライアント証明書を使用してProselfにアクセスできることを確認します。

以上でクライアント認証の設定は終了です。
なお、追加でクライアント証明書の作成が必要な場合は、手順2のみ実施ください。


クライアント証明書を失効させる場合は、次項「失効リストの登録」を実施ください。
※失効リストを登録しない場合は実施しないでください。


失効リストの登録

  1. 証明書失効リストを用意します。
    ※最低でも1つ以上のクライアント証明書を失効させた状態の証明書失効リストをご用意ください。空の失効リストを読み込ませた場合、クライアント認証自体ができなくなってしまいます。
  2. 証明書失効リストをProselfインストールフォルダ/conf内にcrl.pemとして保存します。
    ※Proselfインストールフォルダの確認方法につきましては以下FAQをご参照ください。
    https://www.proself.jp/support/faq433/
  3. Proselfインストールフォルダ/conf/server.xmlを開き、94行目付近のcertificateVerification行とtruststoreFile行の間に行を追加します。
    (変更前)
    <SSLHostConfig sslProtocol="TLS" protocols="+TLSv1.2+TLSv1.3"
    ciphers="TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
    certificateVerification="optional"
    truststoreFile="${catalina.base}/conf/ca.ssl" truststorePassword="changeit">
    <Certificate certificateKeystoreFile="${catalina.base}/conf/keystore.ssl" certificateKeystorePassword="changeit" certificateKeyAlias="tomcat"/>
    </SSLHostConfig>
    (変更後)
    <SSLHostConfig sslProtocol="TLS" protocols="+TLSv1.2+TLSv1.3"
    ciphers="TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
    certificateVerification="optional"
    certificateRevocationListFile="${catalina.base}/conf/crl.pem"
    truststoreFile="${catalina.base}/conf/ca.ssl" truststorePassword="changeit">
    <Certificate certificateKeystoreFile="${catalina.base}/conf/keystore.ssl" certificateKeystorePassword="changeit" certificateKeyAlias="tomcat"/>
    </SSLHostConfig>
    certificateRevocationListFile="${catalina.base}/conf/crl.pem"を追記します。
    ※編集内容は即時反映されますので、Proselfの再起動は必要ありません。
  4. 管理画面 - システム設定 - セキュリティ - クライアント認証設定内に「失効リストのファイル登録設定」が表示されることを確認します。
    失効リストのファイル登録設定
  5. 失効リストに証明書を追加した場合は、上記crl.pemファイルを上書きし、「失効リストのファイル登録設定」内にある「設定」クリック後の画面で「適用」をクリックします。
    ※Ver5.64以下の場合は「適用」ではなく「Proselfの再起動」となっておりますので、「Proselfの再起動」をクリックします。
    失効リストのファイル登録
  6. ダイアログが表示されますので、内容を確認後「適用」クリックします。
    ※Ver5.70以上のみ
    失効リストのファイル登録
  7. 失効リストが適用されますので、ダイアログ内のメッセージに従いWebブラウザを閉じて開きなおします。
    ※Ver5.70以上のみ
    失効リストのファイル登録
  8. WebブラウザでProselfにHTTPSでアクセスし、クライント証明書選択ダイアログから失効済みのクライアント証明書を選択した場合にページが表示されないことを確認します。

以上で失効リストの登録は完了です。

(最終更新日:2024/04/24)