SSLクライアント証明書 – ムービットのブログ https://www.mubit.co.jp/pb-blog Powered BLUE サーバー Fri, 17 Nov 2023 01:57:56 +0000 ja hourly 1 https://wordpress.org/?v=6.5.2 KeycloakをSSLクライアント認証で運用する~Keycloakへの不正アクセスやリスト攻撃をブロック https://www.mubit.co.jp/pb-blog/?p=15522 Wed, 16 Feb 2022 08:58:59 +0000 https://www.mubit.co.jp/pb-blog/?p=15522 Keycloakのデフォルトの認証形式は、ID/パスワードの認証です。ワンタイムパスワード認証(OTP)で2要素認証を設定する方法もありますが、毎回異なるパスワードの入力が嫌われる場合もあります。

SSLクライアント証明書による認証の場合には、毎回異なるパスワードの入力は不要になり多要素認証 ( MFA )としての使い勝手が向上します。

Keycloakの認証強化

SSLクライアント認証により第三者による不正アクセス(なりすまし対策)や悪意のあるボットからのアクセスも防止できます(悪性Bot対策)。

 

リスト攻撃対策

Keycloakでのワンタイムパスワード認証やCAPTCHA認証と比較すると、SSLクライアント認証はSSLクライアント証明書の無い場合には、KeycloakへのアクセスをブロックできるのでID/パスワードのリスト攻撃も防ぐことが出来ます。

SSLクライアント認証 ワンタイムパスワード認証 CAPTCHA認証
Keycloakへのアクセス前に判定 Keycloakへのアクセス後に判定 Keycloakへのアクセス後に判定
リスト攻撃 ブロック  リスト攻撃 ブロック ✖ リスト攻撃 ブロック ✖

 

 

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

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

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

 

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

 

 

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

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

 

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

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

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

 

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

 

 

Keycloak

一般的なKeycloakにもSSLクライアント認証を対応できます

 

Keycloakアプライアンス

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

 

 「Powered BLUE idP for Keycloak

での利用も可能です。

 

 

Keycloakアプライアンスの構成

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

 

 

KeycloakアプライアンスのGUI設定

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

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

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

 

リバースプロキシ経由やダイレクトアクセスモードに対応

 

 

 

 

 

 

 

①   リバースプロキシ構成(有無)

ダイレクトアクセス・モード Client ⇒   ( 443 / Keycloak )

 

 

 

 

 

 

 

リバースプロキシ・モード  Client ⇒   ( 443 / リバースプロキシ  ⇒ 8080 / Keycloak )  1台で運用

 

 

 

 

 

 

②  パス設定
https:// idp.keycloak.com / auth /

③  ポート設定
443 / 8080 / 80  /etc

 

 

SSLサーバー証明書の登録

  • 自己証明書やパブリックなSSLサーバー証明書の登録

 

 

 

 

 

 

 

 

DBセットアップやスタンドアローンやクラスター構成

 

 

 

 

 

 

 

クラスター構成

 

 

 

keycloak バージョン管理

例 ver 18.0.1 から19.0.1 へアップグレード

 

 

 

keycloak バックアップ

 

keycloakサーバーの監視やパッチの自動適用

  1.  サーバーの自己監視やサービスの自動再起動機能
  2.  パッチのスケジュールアップデート機能
  3.  管理者への通知機能

 

 

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など

 

お問合せ

 

 

 

製品についての、ご質問やご相談など

 

]]>
iPhoneやiPad へのSSLクライアント証明書のインストール手順 / 機種変更時は証明書を再インストール https://www.mubit.co.jp/pb-blog/?p=12358 Fri, 04 Dec 2020 03:35:58 +0000 https://www.mubit.co.jp/pb-blog/?p=12358 従来まではメールに添付の、SSLクライアント証明書をクリックするだけでインストールが出来ました。iOSの最新版 / 14.x では、安全サイドに手順が変更になったようでSSLクライアント証明書のインストールの手順が変わりました。

 

メールに添付のSSLクライアント証明書のインストール手順

1)メールの添付ファイル

 

2)添付のSSLクライアント証明書を保存

https://d33wubrfki0l68.cloudfront.net/97d2ca52cecf1870b46240778171d8208b76e502/7d842/img-ja/ios_131211_img03.png

 

3)SSLクライアント証明書は、設定のプロファイルフォルダーに保存されます

 

4)保存された  p12やpfx   のSSLクライアント証明書をクリック

 

5)iPhone のパスワードを入力

ご利用機器の設定により、認証方式は異なります

 

6)SSLクライアント証明書のパスワードを入力

 

 

機種変更時はSSLクライアント証明書の再インストール

iPhone / iPad の機種変更時などでは、バックアップ&リストアで既存の機種のデータを新機種に移行の場合でも、既存機種にインストールのSSLクライアント証明書は新機種に引き継げません(安全面の考慮のためか)

新機種に変更時には、SSLクライアント証明書を「再度インストールする必要があります

 

 

 

]]>
Keycloakを https (443) ポートでの運用設定 / AWS-EC2編 https://www.mubit.co.jp/pb-blog/?p=9371 Mon, 11 Nov 2019 06:00:29 +0000 https://www.mubit.co.jp/pb-blog/?p=9371 Keycloakのデフォルトでは、管理GUIへのアクセスは http(8080) / https(8443) などが基本です。

 

リバースプロキシ経由

Keycloakへ443ポートでのアクセスの場合には、リバースプロキシを介しての運用が一般的です。

  • Client ⇒   443/リバースプロキシ ⇒  8080/Keycloak

 

httpsポート(8443)

httpsポートでアクセスの場合には8443がデフォルトになります。しかし社内Firewallなどのアクセス制限でClient側からは8443ポートへのアクセスができないケースなどもあります。

  • Client ⇒  8443/Keycloak

 

ダイレクトアクセスでのhttpsポート(443)

リバースプロキシなしで直接

  • Client  ⇒   443 / Keycloak

での運用を行うには

Keycloakのアプライアンス、   「Powered BLUE for idP 」 を使用します

 

アプライアンスの構成

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

 

 

 

 

 

 

自社環境および自社管理での運用に対応

 

 

GUIからKeycloakサーバーを設定

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

コマンドラインからの操作や設定は不要

 

 

 

 

 

 

リバースプロキシ経由やダイレクトアクセスモードに対応

「Powered BLUE for idP 」では

1)Keycloakを直接443ポートでの運用

2)リバースプロキシとの同居での一体運用

の2方式に対応しています

 

 

 

 

 

 

 

 

①   リバースプロキシ構成(有・無)

ダイレクトアクセス・モード Client ⇒   ( 443 / Keycloak )

  • Keycloakを直接443番ポートで運用します

 

 

 

 

 

 

リバースプロキシ・モード  Client ⇒   ( 443 / リバースプロキシ ⇒ 8080 / Keycloak )  1台で運用

  • リバースプロキシ経由でKeycloakへアクセスさせる構成です

 

 

 

 

 

②  パス設定 (Quarkusでも任意のパスを指定できます)
https:// idp.keycloak.com / auth /

③  httpポート設定
443 / 8080 / 80  /etc

 

 

KeycloakのDB設定からHA構成

  • DB選択や構成( 内部DB / 外部DB )
  • スタンドアローンやクラスター構成

 

 

 

 

 

 

  • クラスター構成

 

 

 

 

Keycloakのバージョン管理

バージョンアップ前 例 18.0.1

バージョンアップ後 例 19.0.1

 

Keycloakのバックアップ

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

 

 

KeycloakへのSSLサーバー証明書の登録

  • キーストア対応
  • 自己証明書やパブリックなSSLサーバー証明書および中間証明書の登録も簡単

 

 

 

 

 

 

 

 

Keycloakサーバー管理者の負担軽減での運用に対応

  1.  サーバーの自己監視やサービスの自動再起動機能
  2.  パッチのスケジュールアップデート機能
  3.  管理者への通知機能

 

 

 

 

 

 

 

 

クローズドネットワークでの運用

仮想アプライアンスのイメージでの提供により

  • 仮想基盤へ仮想サーバーのイメージインポートでの運用が可能

 

サーバーの自己監視機能や自動再起動機能により

  • 外部の監視サービスを利用しない運用に対応

 

 

 

 

 

 

Keycloakへのアクセス(443)

https://idp.keycloak.com/

 

運用先

クラウド環境や仮想環境、オンプレミスでの運用に対応

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

 

 

SSLサーバー証明書

Powered BLUE上で運用するKeycloakで使用するSSLサーバー証明書には、公的な機関で発行されたSSLサーバー証明書や自己証明を利用する事も出来ます

 

AWSでの構築 例

https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif Powered BLUE のAWSでの構築&設定例

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2015/01/aws-ami-select02-1024x907.png

 

 

 

SSLクライアント認証での運用

KeycloakへのアクセスをSSLクライアント認証(多要素認証)で運用

  • SSLクライアント認証
  • ID・パスワード認証(Keycloak)

 

 

 

 

SSLクライアント認証 〇 SSLクライアント認証 ✖

 

Private CA

 

 

 

 

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

Powered BLUE プライベートCA

を利用します。

 

Keycloakの認証設定

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

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

 

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

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

 

 

SSOの構成や手順

 

 

 

 

 

 

  1. SAML / OIDC認証対応のWeb / SPへアクセス
  2. 初回のみ  idP へアクセス
  3. Webへ自動ログイン
  4. Webの表示

 

 

 

 

 

 

 

お問合せ

 

 

ご質問やご相談など

 

 

 

]]>