IAMのデフォルトのパスワードポリシーは非常に低セキュリティです。
どれくらい低セキュリティかというと aaaaaa とか 123456 とか6文字以上の文字列なら何でもパスワードとして設定できてしまうのです。他人から容易に推測されやすいパスワードを使うことはセキュリティ上あまりよろしくありません。
そのようなパスワードを設定できないようにするため、パスワードポリシーを強化するのが今回の目的です。
パスワードポリシー設定手順
IAMの管理画面を開く
マネジメントコンソールからIAMの管理画面を開きます。
前回書いた 【AWS】IAMユーザーとIAMロールの違いを理解して適切に権限管理する の記事までで、セキュリティステータス的には5項目中4項目のチェックを完了しています。
今回は最後の1つ、IAMパスワードポリシーの適用です。
パスワードポリシーの設定
左ペインのメニューから「アカウント設定」を開くと、現在設定されているパスワードポリシーが表示されます。
設定項目としては、大まかに以下の3つの分類になります。
・パスワードの長さ
・文字種ルール
・更新ルール
パスワードの長さ
パスワードとして設定すべき最小文字数です。デフォルトでは最小6文字の設定ですが、少なくとも8文字以上には設定しておくことが望ましいと思います。長ければ長いほど推測されにくいパスワードとなるからです。
文字種ルール
パスワードに最低限含める文字種について、以下4つのポリシーを設定できます。基本的には全てのチェックを入れることが望ましいと思います。文字種が多様であればあるほど推測されにくいパスワードとなるからです。
項目 | パスワードに含めなければいけない文字パターン |
---|---|
少なくとも1つの大文字が必要 | ABCDEFGHIJKLMNOPQRSTUVWXYZ |
少なくとも1つの小文字が必要 | abcdefghijklmnopqrstuvwxyz |
少なくとも1つの数字が必要 | 0123456789 |
少なくとも1つの英数字以外の文字が必要 | !@#$%^&*()_+-=[]{}|’ |
パスワード更新ルール
パスワードの定期更新と、更新後の新規パスワードに対する制限も可能です。
項目 | 内容 |
---|---|
パスワードの失効を許可 | パスワードに有効期限を設け、期限に達したら強制的に変更させる。期限は1日〜1095日(3年)の範囲で定義できる |
パスワードの再利用を禁止 | 過去に使用したことがあるパスワードは、新規パスワードとして再利用できないようにする。過去1〜24世代の範囲で再利用を禁止にできる。 |
パスワードの有効期限で管理者のリセットが必要 | パスワードが失効された場合にロックをかける。管理者がロック解除するまで当該ユーザを使用できないようにする。 |
新ポリシーを適用してみる
今回はパスワードの長さを8文字に、文字種ルールを4つ全てにチェックしてみます。左下の「パスワードポリシーの適用」をクリックすると設定が反映されます。
ポリシーの反映後にダッシュボードを開くと、セキュリティステータスが全て完了に変わっています。以上でAWSが推奨するセキュリティ対策要件を全て満たしたことになります。
まとめ
IAMユーザはパスワードポリシーを柔軟に定義することができます。パスワードの運用ポリシー自体は各企業毎に取り決められていると思いますので、自社の方針に合ったポリシーを適用すれば良いでしょう。
もちろんパスワードだけではまだセキュリティ的に弱い部分もありますので、MFA(他要素認証)も併用することをオススメします。AWSルートアカウントのMFA設定方法の記事にルートアカウントのMFA設定について書きましたが、IAMユーザでも同じように2段階認証を有効化することができますので参考にしてください。
また、IAMはActiveDirectoryなどAWSの外部で運用されてるユーザと連携してIDフェデレーションすることもできます。
フェデレーションは外部システム側でも設定が必要になるので敷居は若干上がりますが、導入すればユーザを一元管理できるので運用は楽になると思います。
こんな記事も読まれてます
20代30代の客先常駐ITエンジニアが最速で年収を上げる方法 この記事の所要時間: 約 14分56秒
この記事の所要時間: 約 14分56秒 もしあなたが以下の3つ全てに該当するエンジニアであれば、今すぐにでも転職をオススメします。 客先常駐型のエンジニアとして働いている 案件の途中で契約を切られるこ … |