業務ハックLab -とある情シスの備忘録-

とある情シスの備忘録的なものです。

【スポンサーリンク】

Oktaを設定、検証してみた(MFA設定の強制化、IPアドレスによるアクセス制限、認証のポリシー設定編)

皆さん、こんにちは
業務ハックLabのようです。
今回も「Okta」について書いていきたいと思います。
前回は「検証環境の取得」と「SSOの設定と動作確認」についてまとめました。

yo-yon.hatenablog.com

今回は「MFA設定の強制化」「IPアドレスによるアクセス制限」「認証のポリシー設定」についてまとめていきたいと思います。

設定、検証の続き

今回の記事では「MFA設定の強制化」「IPアドレスによるアクセス制限」「認証のポリシー設定」について書いていきます!
それでは早速行ってみましょう!

MFA設定の強制化

まずはMFA設定の強制化です。
これはユーザーがOktaにログインする際にMFAを必須にする設定となります。
ちなみにMFAはMulti-Factor Authentication(多要素認証)の略です。
ID、パスワードの組み合わせによるパスワード認証に加え、もう一つの認証要素を追加するものになります。
認証方法の3要素である「記憶」つまりパスワード認証に加えて、「所持」「生体情報」といった異なる要素の認証を加えることで不正アクセスを防ぐ手法になっています。
セキュリティは大事です!
と話がそれてしまいましたが設定手順に移りましょう。

MFA設定強制化設定方法
  1. 管理画面左側のメニューで「Security」から「Multifactor」をクリックします。

    f:id:yo-yon:20220323195429p:plain

  2. 色々と種類がありますが今回はGoogle Authenticatorを利用しますので「Google Authenticator」をクリックします。

    f:id:yo-yon:20220323195446p:plain

  3. 赤枠部分をクリックし、「Active」を選択します。

    f:id:yo-yon:20220323195511p:plain

  4. 「Factor Enrollment」タブをクリックし「Add Multifactor Policy」をクリックします。

    f:id:yo-yon:20220323195942p:plain

  5. Add Policyという画面になるので各項目を入力および選択し「Create Policy」をクリックします。
    設定名 設定値 備考
    Policy name 任意の名称を入力 ポリシー名称
    Policy description 任意の説明を入力 ポリシーの説明
    Assign to groups Everyone 適用するグループ指定
    Effective factors Required 有効とするか否かを選択

    f:id:yo-yon:20220323200010p:plain

  6. 次にAdd Ruleという画面が表示されるので各項目を入力および選択し「Create Rule」をクリックします。
    設定名 設定値 備考
    Rule Name 任意の名称を入力 ルール名称
    Exclude User 必要に応じて指定 適用除外ユーザー
    User's IP is Anywhere 適用条件 IPアドレスエリア指定
    Enroll in multi-factor the first time a user signs in 条件合致時の動きを指定

    f:id:yo-yon:20220323200107p:plain

  7. この状態になったら設定完了です。

    f:id:yo-yon:20220323200441p:plain

MFA設定強制化動作確認

では実際にしっかりと適用されているか動作確認しましょう。

  1. ユーザーにはこのような形でメールが届くので「Oktaアカウントのアクティベーション」をクリックします。

    f:id:yo-yon:20220323200823p:plain

  2. 下図のようにパスワードのリセット画面が表示されるので任意のパスワードを入力します。

    f:id:yo-yon:20220323200843p:plain

  3. 下図のように「多要素認証をセットアップします」という画面が表示されれば強制化の設定は成功です。
    このままログインまでの手順を進めていきましょう。
    「ファクターを設定します」をクリックします。

    f:id:yo-yon:20220323200942p:plain

  4. 認証用の端末でGoogle Authenticatorをダウンロードし、「次へ」をクリックします。

    f:id:yo-yon:20220323202155p:plain

  5. 端末でGoogle Authenticatorを開き、PCのWebブラウザ画面に表示されたQRコードをスキャンし、「次へ」をクリックします。

    f:id:yo-yon:20220323202210p:plain

  6. 端末上で表示されているコードをPCのWebブラウザ画面で入力し、「確認」をクリックします。

    f:id:yo-yon:20220323202231p:plain

  7. ログインができたら完了です。

    f:id:yo-yon:20220323202100p:plain

このような形で初回ログイン時にMFA設定を強制化することができました。
ちなみにログイン時にMFAを強制化する方法は後述の「認証ポリシー設定編」で説明します。

IPアドレスによるアクセス制限

次にIPアドレスによるアクセス制限です。
例えば特定のアプリは会社のIPアドレス以外からのアクセスは拒否するなどの設定が可能です。

  1. 管理画面左側のメニューで「Security」から「Networks」をクリックします。

    f:id:yo-yon:20220323202816p:plain

  2. 「Add Zone」をクリックします。

    f:id:yo-yon:20220323202931p:plain

  3. 「IP Zone」をクリックします。

    f:id:yo-yon:20220323203029p:plain

  4. Add IP Zoneという画面が表示されるので各項目を入力し「Save」をクリックします。
    設定名 設定値 備考
    Zone Name 任意の名称を入力 IPゾーン名称
    Gateway IPs IPアドレスを入力 グローバルIPを入力
    Trusted Proxy Ips 必要に応じて入力 信用するプロキシIP

    f:id:yo-yon:20220323203342p:plain

  5. IPアドレスが追加されたことを確認します。

    f:id:yo-yon:20220323203724p:plain

  6. 左側のメニューで「Applications」から「Applications」をクリックします。

    f:id:yo-yon:20220323204628p:plain

  7. IPアドレス制限をしたいサービスをクリックします。

    f:id:yo-yon:20220323204928p:plain

  8. Sign On」タブをクリックします。

    f:id:yo-yon:20220323205019p:plain

  9. Sign On Policy」で「Add Rule」をクリックします。

    f:id:yo-yon:20220323205106p:plain

  10. App Sign On Ruleという画面が開くのでルール名を入力し、Conditionsの各項目を入力、Actionsの項目を選択しクリックします。
    【PEOPLE】
    設定名 設定値 備考
    Who does this rule apply to? 任意の設定を選択 誰にルールを適用するのかを設定
    【LOCATION】
    設定名 設定値 備考
    If the user is located: Not in Zone ユーザーの位置条件を指定
    Network Zones 先ほど指定したIP Zone ネットワークゾーンを指定
    【CLIENT】
    設定名 設定値 備考
    If the user's platform is any of these: 任意のものにチェック 対象のプラットフォームを選択
    ACCESS
    設定名 設定値 備考
    When all the・・・: Denied アクションを指定

    f:id:yo-yon:20220323205428p:plain

  11. ルールが追加されたことを確認します。

    f:id:yo-yon:20220323210650p:plain

  12. 指定されたIPアドレス以外からOktaにログインするとアプリのアイコンに鍵マークが表示されログインができなくなります。

    f:id:yo-yon:20220323210738p:plain

この設定次第では色々制限が可能です。
自社の運用に合わせて設定しましょう~

認証のポリシー設定

最後に認証ポリシーの設定です。
ここではOktaのパスワードポリシーやOktaへのサインイン時のポリシーを設定することができます。
今回は下記のような条件で設定します。

【パスワードポリシー】
最小文字数:12
複雑さの要件:英数字、大文字、小文字、記号含む、ユーザーネームの一部を含めない
一般的なパスワード禁止
過去4回までに使用したパスワードの設定不可
パスワードを10回間違えた場合、ロックアウト

【サインインポリシー】
サインイン時、必ずMFAを要求する
2時間後にセッション切断

パスワードポリシーの設定
  1. 管理画面左側のメニューで「Security」から「Authentication」をクリックします。

    f:id:yo-yon:20220323211254p:plain

  2. Add Policyという画面が表示されるので各項目を自社のポリシーに合わせ入力、選択し「Create Policy」をクリックします。
    今回は私が設定した内容を下記に記載します。
    設定名 設定値 備考
    Policy name AuthPolicy ポリシー名称
    Policy description Policies for authentication ポリシーの説明
    Add group Everyone 適用するグループ指定
    【Authentication Providers】
    設定名 設定値 備考
    Applies to Okta 認証プロバイダを選択
    【Password Settings】
    設定名 設定値 備考
    Minimum length 12 最小文字数
    Complexity requirements
    設定名 設定値 備考
    Lower case letter チェック 小文字必須
    Upper case letter チェック 大文字必須
    Number (0-9) チェック 数字必須
    Symbol (e.g., !@#$%^&*) チェック 記号必須
    Does not contain part of username チェック ユーザー名の一部が含まれていない
    Does not contain first name アンチェック 名が含まれていない
    Does not contain last name アンチェック 姓が含まれていない
    Common password check
    設定名 設定値 備考
    Common password check アンチェック 一般的なパスワードを制限
    Password age
    設定名 設定値 備考
    Enforce password history for last ○ passwords チェック パスワード履歴強制保存回数
    4
    Minimum password age is ○ ● アンチェック パスワード変更に必要な最小間隔
    Password expires after アンチェック パスワード有効期限
    Prompt user ○ days before password expiresk アンチェック パスワード有効期限通知日設定
    Lock out
    設定名 設定値 備考
    Lock out user after ○ unsuccessful attempts チェック 強制ロックアウトする失敗回数
    10
    Account is automatically unlocked after ○ minutes アンチェック 自動サインアウト時間
    Show lock out failures アンチェック ロックアウトの失敗を表示
    Send lockout email to user アンチェック ロックアウト時のユーザーへのメール送信
    【Account Recovery】
    Self-service recovery options
    設定名 設定値 備考
    SMS アンチェック SMSでのアカウントセルフリカバリ
    Email チェック Emailでのアカウントセルフリカバリ
    Reset/Unlock recovery emails are valid for ○ ● 1 hours リカバリーメール/SMSの有効期限

    f:id:yo-yon:20220323211810p:plain

  3. Add Ruleという画面が表示されるので各項目を自社のルールに合わせ入力、選択し「Create Rule」をクリックします。
    設定名 設定値 備考
    Rule name AuthRule ルール名称
    Exclude Users 空白 ルール適用を除外するユーザー
    User's IP is Not in Zone 適用条件
    Test IPアドレスエリア指定
    User Can チェック無し ユーザーが可能な処理

    f:id:yo-yon:20220323214443p:plain

  4. ポリシーが追加されたことを確認したら完了です。

    f:id:yo-yon:20220324090410p:plain

サインインポリシーの設定
  1. Sign On」タブをクリックし、「Add New Okta Sign-on Policy」をクリックします。

    f:id:yo-yon:20220324091426p:plain

  2. Add Policyという画面が表示されるので各項目を入力、選択し、「Create Policy and Add Rule」をクリックします。
    設定名 設定値 備考
    Policy name AuthsignonPolicy ポリシー名称
    Policy description Auth sign-on Policy ポリシーの説明
    Assign to Group Everyone 適用するグループ指定

    f:id:yo-yon:20220324092144p:plain

  3. 次にAdd Ruleという画面が表示されるので各項目を入力および選択し「Create Rule」をクリックします。
    設定名 設定値 備考
    Rule Name 任意の名称を入力 ルール名称
    Exclude User 必要に応じて指定 適用除外ユーザー
    User's IP is Anywhere 適用条件 IPアドレスエリア指定
    Authenticates via Any 認証方法
    Behavior is 空白 動作
    Risk is Any リスク
    Access is Allowed アクセス可否
    Prompt for Factor チェック 要素認証
    Every Time MFA要求タイミング
    Session expires after 2 Hours セッションの有効期限

    f:id:yo-yon:20220324124637p:plain

  4. ポリシーが追加されたことを確認したら完了です。

    f:id:yo-yon:20220324165320p:plain

パスワードポリシーの動作検証

パスワードポリシーがしっかり反映されているか検証してみましょう。
パスワード再設定で「123456789」というパスワードを入力してみたところ・・・

f:id:yo-yon:20220324202604p:plain
こんな感じではじかれました。
よくあるパスワードの組み合わせをしっかりと防いでくれています。
では次にパスワードをユーザー名にしてみたところ・・・

f:id:yo-yon:20220324202730p:plain

こちらも要件に外れていると防いでくれました。
アラートを読むと設定した内容がしっかり反映されているのがわかります。

サインインポリシーの設定検証

サインイン時のMFAの強制化を設定しましたがしっかり反映されているか検証してみましょう。
サインインをしてみると・・・

f:id:yo-yon:20220324202149p:plain

上記のようにMFAが求められました。
こちらもしっかりと反映されているようです。

如何だったでしょうか?
一通り検証してみましたがやはりかなり色々設定できるので細かく制御したい人にはお勧めですね。
ただ管理者は色々できる分、勉強をしっかりと勉強が必要だと思います。
ツールに使われるのではなくツールを使いこなす人間になりたいものです。
2回にわたってOktaの記事を書きました!
他にも推奨のセキュリティ設定になっているかどうかの確認など様々な機能があります。
Starter Developer Editionという検証をできる環境を用意していただいているので気になる方はアカウントを作って検証してみましょう!
実際触ってみるのが覚える一番の近道だと思います。
それでは皆さん良い業務ハックライフを~


免責事項