SSLクライアント認証」カテゴリーアーカイブ

KeycloakをSSLクライアント認証で運用する~CA 連携 / 多要素認証(MFA)

Keycloakのデフォルトの認証形式は、ID/パスワードの認証です。ワンタイムパスワード認証(OTP)で2要素認証を設定する方法もありますが、毎回異なるパスワードの入力が嫌われる場合もあります。SSLクライアント証明書による認証の場合には、毎回異なるパスワードの入力は不要になり多要素認証 ( MFA )としての使い勝手が向上します。

またSSLクライアント証明書は、Keycloakとは別のCAシステムで発行させることによりワンタイムパスワード認証時に比べて、セキュリティ上のリスクを軽減できます。ワンタイムパスワード認証とSSLクライアント認証の併用での運用も可能です。

 

 

【SSLクライアント認証の組合せ】

ユーザー端末側には、CAで発行のSSLクライアント証明書をインストールします。

SSLクライアント証明書 SSLサーバー証明書

 

Keycloakサーバー側には、SSLサーバー証明書をインストールすることで「SSLクライアント認証」を構成出来ます。

 

 

プライベートとパブリックの組合せ

プライベート パブリック
SSLクライアント証明書
SSLサーバー証明書

 

証明書としては、プライベートやパブリックのいずれの組みわせでもSSLクライアント認証で動作します。ただしプライベートなSSLサーバー証明書を使うとブラウザでワーニングが出る (*1) ので

  • SSLクライアント証明書(プライベート)
  • SSLサーバー証明書(パブリック)

の組合せで使うのが、費用を抑えることが出来る組み合わせです。

 

*1 プライベートなSSLサーバー証明書でブラウザのワーニングを抑制するには、サーバー証明書をブラウザの「信頼されたルート証明機関」に登録します

 

 

【Keycloakアプライアンス】

SSLクライアント認証に対応のKeycloakとしては、idPアプライアンス

 

 「Powered BLUE idP for Keycloak

を利用します。

 

 

【アプライアンスの構成】

  •  OS  RockyLinux 8.x  /  RedHat 8.x
  •  Keycloak(アプリ)
  •  GUIでのサーバーやアプリの設定

 

 

【Keycloakの構成やDB設定】

GUIからKeycloakやサーバー設定に対応しています

  • サーバーの設定(Network / Firewall )
  • ウィザードによるKeycloakの構成や設定(スタンドアロンやクラスター)
  • DB 設定( H2 / MariaDB )
  • DB 構成   ( 内蔵もしくは外部サーバーのどちらの構成にも対応 )
  • Keycloak のバックアップ、リストア、バージョンアップ
  • keycloak へのアクセスポート( 80 / 443 )
  • リバースプロキシ連携機能
  • SSLクライアント認証
  • SSLサーバー証明書の登録
  • アクティブモニタ(サービス監視・再起動・管理者への通知)

コマンドラインからのプログラムのインストールや設定は不要

( 画面のイメージをクリックで拡大表示 )

 

 

【Keycloakのバックアップ】

  • バックアップやリストア

 

 

【Keycloakのバージョンアップ】

  • ver 13.0.1 から ver 15.0.2 へ 変更 (例)

 

 

【SSLサーバー証明書機能】

自己証明のSSLサーバー証明書やパブリックなSSLサーバー証明書を登録できます。

 

 

【SSLクライアント認証のパスを指定】

Keycloakを運用するサーバーのURL

  • 例 https://auth.powered.blue/

 

このサーバーの keycloakのdir  /auth 以下にSSLクライアント認証を設定の場合

  • https://auth.powered.blue/auth

 

 

 

 

【Private-CA】

SSLクライアント証明書の発行及びSSLクライアント認証局として

Powered BLUE プライベートCA

を利用します。

* パブリックなCAで発行のSSLクライアント証明書での認証も出来ます

 

Private-CAとKeycloakの構成

  • 利用者側には、Private-CAからSSLクライアント証明書を配布します

 

 

 

【失効リストの入手&自動同期】

Private-CAの失効リストをKeycloak側で入手&自動同期する設定をします

 

 

 

【SSLクライアント認証のアクセス手順】

Web (SP) へアクセス時のSSO

 

SSLクライアント証明書が有効の場合

1)ターゲットWeb(SP)にアクセス
2)idP / Keycloakの認証
(初回のみ・シングルサインオン・SSLクライアント認証)
3)認証の成功後 ターゲットWeb(SP)を表示

 

有効なSSLクライアント証明書の無い場合

 

 

【アクセスコントロール】

有効なSSLクライアント証明書の場合でも、時間や曜日などでのKeycloakへのアクセスコントロールが可能です。

  • 組織や部門でのアクセス制限
  • 曜日や時間帯でのアクセス制限
  • 特定ユーザーでのアクセス制限
  • 端末を紛失したAさんのアクセス禁止

 

【対応の運用先】

  • VMware / Hyper-V
  • AWS / Azure / FUJITSU Hybrid IT Service FJcloud-O(富士通) / IndigoPro(NTTPC) / VPSなど

 

 

【アプライアンスの提供形態】

  • 運用環境に対応のアプライアンスでの提供

 

 

ご不明な点などは、ムービットの https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif お問い合わせフォーム からお問い合わせください