-
サーバ構築のデージーネットTOP
-
OSS情報
-
OSS紹介
-
Keycloak〜IdP・シングルサインオンを実現する注目のOSS〜
-
メールによる2段階認証をkeycloakで実装する方法〜KC-MailAuth〜
メールによる2段階認証をkeycloakで実装する方法〜KC-MailAuth〜
近年、クラウドサービスでのアカウント乗っ取りなどが増加したことから、ユーザIDとパスワードの認証だけでは不十分であるという認識が広がっています。これを解決する方法として、2段階認証の導入が増加しています。この記事では、Keycloakに組み込むことでメールによる2段階認証を実現する「KC-MailAuth」を紹介します。
- +
目次
パスワード認証の課題
パスワード認証は、いわゆるID・パスワードだけで認証を行う方式のことです。近年は企業のIT環境が複雑になり、パスワード認証だけでは様々なリスクがあります。例えば、利用者側では「使い回し」や「覚えやすい短い文字列」を選びがちで、パスワードの漏えいの可能性が一気に広がります。さらに、フィッシングやリスト型攻撃など、パスワードそのものを狙う手口は年々巧妙化しています。管理者側でも、サービスが増えるほどアカウント管理が分散し、退職・異動時の棚卸しや権限の見直しの負担が大きくなっています。結果として、セキュリティリスクと運用コストが同時に膨らむといった問題が生じます。
2段階認証としてよく選ばれる「メール認証」
2段階認証とは、パスワード認証に加えて、もう一つ別の方法で本人確認を行う仕組みです。たとえば、ログイン時にスマートフォンへ送られるワンタイムパスワード、認証アプリで生成されるコード、生体認証などを追加で求めることで、仮にパスワードが漏えいしても不正ログインを防ぎやすくなります。
2段階認証には、「知識(パスワードなど本人しか知らない情報)」に加えて、「所持(スマホやトークンなど本人が持っているもの)」や「生体(指紋・顔など本人そのもの)」といった異なる要素を組み合わせる点が特徴です。
その中でも、2段階認証の方式の一つとして導入しやすいのがメール認証です。IDとパスワードでのログイン後、登録済みメールアドレスに届くワンタイムコードや確認リンクを入力することで、本人確認を追加します。専用アプリや端末配布が不要なため、短期間で展開しやすく、利用者への説明コストも比較的低い点がメリットです。
KC-MailAuthとは

KC-MailAuthは、Keycloakに組み込むことで利用可能な認証プロバイダです。デージーネットが開発しOSSとして公開しています。
KC-MailAuthを組み込むことで、以下の流れで2段階認証を実現することができます。

- Keycloakの標準のユーザ認証画面でログインID(ユーザ名またはメールアドレス)を入力して認証を行う
- その後、ワンタイムコード入力画面が表示され、ログインIDに紐づいたメールアドレス宛にワンタイムコード通知メールが送付される
- 該当のワンタイムコードを、表示された入力画面に入力して認証を行う
- 認証成功後、対象サービスにアクセスできる
また、Keycloakが元となっているため、SSO(シングルサインオン)の導入も実現することができ、一回のログインによって複数のシステムを利用することができます。
「KC-MailAuthユーザマニュアル」へ
KC-MailAuthの導入メリット
KC-MailAuthを導入することで、次のようなメリットがあります。
パスワード漏えい時の不正ログイン対策を強化
Keycloakの標準の認証にKC-MailAuthを加えることで、2段階認証を実装することができます。パスワード単体ではアクセスできなくなるため、パスワードが漏れた場合や、アカウントを乗っ取られた際のリスクを軽減することができます。
また、KC-MailAuthでは入力試行回数の上限や、入力失敗時に次回入力可能となるまでの時間を遅延する機能があります。そのため、自動攻撃や総当たり攻撃の対策としても有効です。
追加アプリ不要で導入・運用が簡単
KC-MailAuthでは、Keycloak上で設定したSMTP情報を利用してメールを送信します。特別なアプリ等をダウンロードする必要はなく、通常のメールを利用して2段階認証を実装することができます。
また、KeycloakがサポートしているSAMLやOIDCに対応していれば、どのようなアプリケーションやサービスでもメール認証を利用することができます。
自社ポリシーに合わせて柔軟に設定可能
KC-MailAuthでは、ワンタイムコードの長さ、文字種、有効期限などを細かく制御することができます。また、ワンタイムコード通知メールや、ワンタイムコード入力画面はテンプレートとなっており、表示内容を変更することが可能です。そのため、自社に合わせた設定やカスタマイズをした上で運用することが可能です。
デージーネットでは
デージーネットで開発したKC-MailAuthは、OSSとして無償で公開しています。また、管理者向け・利用者向けのマニュアルもホームページ上で公開しています。Keycloakと合わせて、OSSだけで2段階認証とシングルサインオンを実現可能です。
なおデージーネットでは、KeycloakやKC-MailAuthを利用したシングルサインオンの認証システムの構築サービスを提供しています。お客様のご要望をヒアリングした上で、最適なシステムをご提案いたします。
さらに、デージーネットで構築サービスを提供したお客様には、導入後支援サービスとして、Open Smart Assistanceを提供しています。このサービスでは、ソフトウェア単体のサポートではなく、LinuxなどOSSを使ったシステム全体が安定稼働するためのサポートです。OSSやソフトウェアの使い方に関するQ&Aの受付や障害対応、ソフトウェアの脆弱性などのセキュリティ情報の提供を行っています。
お問い合わせはこちら
「情報の一覧」
パスワードレス認証とは、パスワード以外の方法で認証を行うことを言います。本書は、パスワードレス認証方式のであるFIDO2 やPasskeyについて調査した内容をまとめたものです。
Keycloakは、シングルサインオンを実現するための認証プロバイダです。本調査報告書では、インストール方法や詳しい使い方、Rocket.chatとApache HTTP Serverのoidcモジュールとの連携方法を調査した結果を解説しています。
Keycloakを用いて、複数のアプリケーション・サービスのシングルサインオンを実現するための手順の調査報告書です。
本書では、シングルサインオンを提供するサーバとしてKeycloakを使用し、Kerberos認証によりユーザー名やパスワードの入力なしでウェブサービスにログインできるようにする手順を記述します。
LDAPとは、ディレクトリサービスのための標準プロトコルです。LDAPを使い、ディレクトリサービスを提供するソフトウェアやシステムを、LDAPサーバと呼びます。本書は、OSSのLDAPサーバの管理UIの現状についてまとめたものです。
お客様は、システムごとにアカウントを管理していたため、管理者だけでなくユーザにも管理の手間がかかっていました。この記事は、弊社でOSSのKeycloakを利用したシングルサインオン(SSO)システムを導入した事例です。
医療サービスを提供しているお客様に、Keycloakを利用した認証システムを導入しました。お客様は、従業員が利用するポータルサイトやeラーニングシステムなど複数のシステムを利用していました。しかし、従業員の入れ替わりが激しく、IdaaS等の従量課金制のサービスでは、費用面で導入が難しいという課題がありました。そこで、OSSのKeycloakを利用したシングルサインオンサーバを導入しました。
今回は、シングルサインオンのKeycloakに多要素認証を導入した事例です。お客様は、ID/パスワード管理だけではセキュリティ面で不安ということで、多要素認証の導入を検討していました。
今回は、WebメールシステムのRoundcubeをKeycloakとSSO連携させた事例です。バージョンアップしたRoundcubeにSSO連携機能が追加されたことで、既存のRoundcubeをバージョンアップし、Keycloakと連携できるようにしました。
クラウド上のサービスを利用する機会が増加したことにより、最近になってシングルサインオンが再注目されています。この記事では、主な選定のポイントについてまとめ、解説します。
ここでは、シングルサインオンの仕組みを説明し、シングルサインオンを実現するためにソフトウェアやサービスを選定する時の選び方と検討のポイントについて説明します。
LDAPサーバは、企業内では特にユーザ情報の管理や認証の基盤として使用されています。ここでは、LDAPサーバのデータを管理するためのOSSを紹介します。
FaceAuthは、顔認証に対応していないサービスでも導入できる顔認証のソフトウェアです。このページでは、顔認証システムの導入におすすめのソフトウェアFaceAuthについて紹介します。
OpenAMとは、シングルサインオン(SSO)を実現するためのソフトウェアです。現在のOpenAMはオープンソースとして提供されていませんが、いくつかの商用サポートベンダーによって、OpenAMの公開とサポートは継続されています。
KC-MailAuthは、Keycloakの認証プロバイダです。サービスへアクセスする際の認証フローに組み込むことで、ユーザへのメール通知を用いたワンタイムコード認証を実現することができます。KC-MailAuthの管理者向けマニュアルです。
KC-MailAuthは、Keycloakの認証プロバイダです。サービスへアクセスする際の認証フローに組み込むことで、ユーザへのメール通知を用いたワンタイムコード認証を実現することができます。KC-MailAuthのユーザ向けマニュアルです。
デモのお申込み
もっと使い方が知りたい方へ
Keycloakの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。Keycloakのデモをご希望の方は、下記よりお申込みいただけます。

OSS情報
- KeyclockのLDAPデータ管理
- Keycloakは、シングルサインオンの認証バックエンドとしてLDAPを利用することができます。ここでは、KeycloakのLDAPデータ管理を紹介します。