※ 本記事は、GK (Gopi Krishna) Goallaによる”OCI IAM RADIUS Proxy (Part 3) – MFA in Action for Oracle Databases“を翻訳したものです。
2023年9月25日
お帰りなさい。これは、Oracle Databasesのマルチファクタ認証(MFA)のトピックを中心としたブログ投稿シリーズの3番目の投稿(パート3)です。前のブログ投稿では、OCI IAM RADIUSプロキシを使用してOracle DatabasesでMFAを構成および有効化する方法の詳細な手順が提供されました。これらの構成をすべて正常に完了したとすると、Oracle DatabaseのMFAがどのように動作するかを見てみましょう。
このブログ投稿では、ユースケースを実行する前に、ユーザーに必要な構成について確認します。
アイデンティティ・ドメイン・アカウントの認証ファクタの有効化:
- アイデンティティ・ドメインのMy Appsダッシュボード (https://<identity_domain>/ui/myconsole )にログインします。
- 右上隅にあるユーザー・アイコンをクリックし、「My Profile」を選択します。

- 「Security」タブをクリックします。
- 「2-Step Verification」セクションで、プロファイルの認証ファクタを構成します。

ノート: この統合では、次の認証ファクタのみがサポートされます。したがって、次に示す3つの要因のうち少なくとも1つを構成し、そのうちの1つをデフォルト・ファクタとして設定していることを確認してください。ここでは、「Phone Number」をデフォルト・ファクタに設定し、必要に応じて後で変更できます。
- モバイル・アプリケーション通知
- モバイル・アプリケーション・パスコード
- 電話番号(テキスト・メッセージ/SMS)
SQL*Plus (データベース・クライアント)環境を設定:
SQL*Plusコマンドライン・ユーティリティを使用して、MFAユースケースをテストします。データベース・クライアント環境を設定します。
- 同じデータベース・サーバーからこのユース・ケースをテストする予定がある場合は、前のブログ投稿に従って、データベース・サーバーで”sqlnet.ora“をすでに構成したため、このステップをスキップできます。そうでない場合は、テスト元のデータベース・クライアント・マシン上の“sqlnet.ora”ファイルが少なくとも次のエントリを持っていることを確認してください。
- SQLNET.authentication_services=(RADIUS, BEQ, TCPS)
- SQLNET.RADIUS_CHALLENGE_RESPONSE=on
- SQLNET.RADIUS_AUTHENTICATION_INTERFACE=oracle/net/radius/DefaultRadiusInterface
- SQLNET.RADIUS_CLASSPATH=<Oracle_Home>/network/jlib/netradius8.jar:<Oracle_Home>/network/jlib:<Oracle_Home>/jdk/jre/lib:<Oracle_Home>/sw/lib:<Oracle_Home>/jdk/jre/lib/amd64:<Oracle_Home>/sw/jdk/jre/lib/amd64/server/
2. 次に示すように、CLASSPATHおよびLD_LIBRARY_PATHオペレーティング・システムの環境変数を設定します。
- CLASSPATH=<Oracle_Home>/jdbc/lib/ojdbc8.jar:<Oracle_Home>/jlib:<Oracle_Home>/rdbms/jlib
- LD_LIBRART_PATH=<Oracle_Home>/jdk/jre/lib/amd64/server:/usr/lib:<Oracle_Home>/rdbms/lib:<Oracle_Home>/jdbc/lib:<Oracle_Home>/lib

MFAを今すぐテスト:
- SQLコマンドsqlplus /@<database_sid>を実行します。例: sqlplus /@ORCLPDB
- アイデンティティ・ドメイン・ユーザー資格証明を入力するためのポップアップ・ウィンドウが表示されます。資格証明を入力し、「OK」をクリックします。

- RADIUSプロキシ・サーバーは、アイデンティティ・ドメイン・エンドポイント/sso/v1/sdk/authenticate に資格証明をポストします。資格証明が正常に検証されると、第2要素認証のポップアップが表示されます。「Text Message (SMS)」ファクタをデフォルト・ファクタとして設定しているため、モバイルでOTP (ワン・タイム・パスコード)を受信する必要があります。OTPを入力し、「OK」をクリックします。

- OTPが正常に検証されると、データベースに接続できます。オプションで、‘select user from dual’ 問合せを実行して、現在のユーザー情報を表示できます。


ノート:
次に、RADIUSプロキシ・ログから、ユーザーが2番目の要素認証(MFA)でデータベースにログインしようとしたときに何がバックグラウンドで発生するかを理解するためのいくつかのtidbitsを示します。

まとめ:
このブログ投稿では、ユーザーのために配置する必要のある構成、およびデータベース向けのMFAがどのように動作するかについて調査しました。この記事が好奇心を持っている人なら誰でも、この機能がどのように動作するかを知ってくれることを願っています。
要約すると、MFAの実装は、機密データを保護するためのセキュリティへの取り組みとプロアクティブなアプローチを示しています。さらに防御層が追加され、攻撃者がデータベースに侵入するのが困難になります。
