1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Redbook : IBM i 7.6 Features and Function を読む Chapter.3 セキュリティ ②OS標準MFA入力に非対応:ODBC

1
Last updated at Posted at 2026-02-25

IBM i 7.6のOS統合済みMFAはたとえば5250サインオン画面やNavigator for i, ACS などIBM i 独自インターフェースにおいては 追加要素 というTOTPトークンを入力する専用フィールドを設けていますが、業界標準プロトコル(SSH,その他)ではそういった独自拡張がむつかしいと言えます。

そのような通信ではたとえば、パスワードと TOTP 値の間にコロン (:) を置くことで、パスワードに TOTP 値を追加できます。
ただし、使用には注意が必要で、システムへのアクセスを許可することによるセキュリティへの影響を理解してください。

後の認証のためにユーザーのパスワードをキャッシュまたは保存するクライアント アプリケーションは、MFA では適切に機能しません。
TOTP は時刻ベースなのでキャッシュされた古い時間帯のTOTPパスワードは認証が通りません。次のリストは互換性のない例をいくつか説明します。

・ユーザーに TOTP 値の入力を求める機会のない保存されたパスワード。
・同じユーザー プロファイルとパスワードを必要とする 2 番目のシステムへの認証にアプリケーションで使用される、現在のユーザーの暗号化されたパスワード。 2 番目のシステムに TOTP 値を提供することはできません。(※保存されたパスワードは、password:totp 形式ですが、TOTP 値の有効期限が切れています。)

SSH

SSH ではセキュリティ上の理由から、ログイン中に文字が表示されません。 MFA が有効になっている場合でも入力値が表示されない為、パスワード・TOTPトークンの両方を正確に入力するにはより注意が必要です。

SSHでMFAが有効なシステムに接続する際は、以下のような形式で入力します。

<パスワード>:<MFA 生成コード>

image.png

ODBC

ODBCでMFA が有効なユーザー・プロファイルを使用して IBM i システムに接続するユーザーにも特別な注意が必要です。多くの環境では、ODBC 接続はアドホック ベースで行われ、多くの場合、ユーザーが 5250 セッションを通じて最初に認証することに依存します。同じパスワード (MFA コードなし) がデータ抽出の実行に再利用されます。このワークフローは、MFA 要件によって中断される可能性があります。
管理者やヘルプ デスクの支援の必要性を減らすには、TOTP オプションの間隔 (TOTPOPTITV) を調整して、最初の認証とその後のアクセスの間の時間を長くします。パスワードが構成ファイルに保存されている場合、または自動ジョブで使用されている場合は、それらの設定を確認して更新し、MFA との互換性を確保します。また、以上のような特性があることをユーザーに通知・教育する必要もあります。

ちょっとわかり難いですね、テストしてみました。

ODBCユースケース:Excel からのODBC接続

Redbook記載は‥

この例では許可された TOTP 間隔内にログイン操作を完了する必要があります。それ以外の場合は、5250 画面で再認証してタイマーをリセットする必要があります。 TOTP 間隔値が 0 の場合、このタイプの接続は一貫して失敗します。間隔が 0 に設定されている場合は、接続を試行するたびにパスワードと有効な TOTP コードの両方を入力する必要があります。

全ケース網羅できてないと思いますがテストした範囲では、端末ごとに1度TOTPを使用してIBM i に接続すればTOTP有効期間内は追加認証せずにアクセスできますが、TOTPトークン有効期間が切れた後は再度TOTPトークンを入力する必要があるようです。記載は5250画面で再認証、とありますが、Nav4iでもいいようです。

手順① ユーザーIDのMFAをオンにして、有効期限を設定する
以下の 任意の間隔 の値だと思います。3分間にしてみます。→後のテストでは2分に短縮しています。
image.png

(参考)期間が過ぎるとNav4i では下記エラーがでてログイン画面からTOTP含め再度ログインが必要になります。
image.png

先出しになってしまいますが、Excel ODBCアクセスでもTOTP有効期間が過ぎると下記の再ログイン画面が出ます。
image.png

手順② ODBCデータソースからIBMI76に接続
ODBC接続画面では、通常のID/パスワードだけ入力(TOTPトークンは入力せず)です。下記はRedbook記載のサンプルです。
image.png

Excelでは一つ上の画像と同じログインの要求画面が出ます。注意点は、ExcelではTOTPトークン入力を受け付けない、という点です。資格情報の接続文字、などではTOTPを受け付けません。かならず5250端末やNav4iなどIBM i が提供するTOTP入力インターフェースから再認証する必要があるようです。

私の環境では、Nav4iまたは5250端末からTOTPトークン付きでサインオンします。その後でExcel ODBCでDb2 for i にアクセスすると(この時、Excel/ODBCではログイン要求は出ない=すでにNav4iか5250端末で認証済みだから)ことになります)、下記のようにDb2 for i のテーブルからレコードを取得できます。
image.png

Redbookによれば、

TOTP オプションの間隔が経過した後にデータを更新しようとすると、再認証する必要があります。セッションが有効ではなくなったため、Excel でトリガーされるような更新アクションが失敗し、ユーザー名またはパスワードが間違っていることを示すエラーが表示される場合があります。この問題を解決するには、5250 セッションを通じて再認証してタイマーをリセットし、更新操作を再試行します。

とあり、TOTPトークンの有効期間が切れた後は,5250でTOTPを入力しなおす必要があるようです…?

なので3分(2分)経過後に再度データ取得しようとしますと、
image.png

エラーが出ました。上記では通常のパスワードだけ入力しましたがエラーになり、、

今度は5250端末でセッションを起動しTOTPトークン入力したところ、Excel/ODBCもアクセスができました。

image.png

ここでは確認のため、別なテーブルを読み込んでいます

image.png

1
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?