公開日:2022年4月21日最終更新日: 2022年4月21日
AWSは簡単に利用を開始できるパブリッククラウドサービスです。使い勝手の高さから新しくAWSを契約し、システムのテストや運用に使っている人は多いでしょう。
クイックに導入できる点は魅力ですが、そのまま利用するとセキュリティ面でリスクを抱えてしまいます。今回は新しくAWSアカウントを取得して作業を始めるにあたって、最初にやるべき作業をご説明します。
目次 <Contents>
重要なセキュリティ対策
AWSでアカウントを取得した際に、最初にやるべきはセキュリティ対策です。特に重要な設定となるため、皆さんもセキュリティ対策から着手するようにしてください。
ルートユーザーの設定
最初にルートユーザーの設定変更をしましょう。ルートユーザーとは、アカウントを作成する際に利用したメールアドレスとパスワードを持つユーザーです。全てのサービスとリソースへのアクセス権を持つため、通常業務では利用しません。
通常業務で利用するアカウントではないため、ルートアカウントは簡単にアクセスできないようにしておきます。AWS公式で「二要素認証の設定」「アクセスキーの削除」が推奨されているため、このとおり設定しておきましょう。
なお、それぞれの設定は「IAMダッシュボード」から変更できます。設定していない状態でアクセスすると変更方法が表示されるため、まずはその通りに操作しましょう。
IAMユーザーの設定と作成
通常業務ではルートユーザーは利用しないため、通常利用向けにIAMユーザーを作成します。上記と同様に「IAMダッシュボード」へとアクセスするとユーザーを作成できるため、ルートユーザー以外のアカウントを作成しましょう。
また、アカウントを作成するだけではなく、アカウントのパスワードポリシーなども設定すべきです。特に複数人でAWSを利用する場合、パスワードポリシーを設定しなければポリシーの徹底ができません。脆弱性の高いパスワードを設定すると不正アクセスされる原因となるため、セキュリティを担保できるパスワードポリシーを設定すべきです。
Amazon GuardDutyの設定
AWSにセキュリティに関する異常が起きた際に検知してくれるサービスです。継続的に監視してくれる仕組みなので、何かしら設定ミスなどを起こすと一定の期間が経過するまでに通知してくれます。セキュリティに関するものはクリティカルな問題を引き起こす可能性があるため、こちらも有効化しましょう。
「異常」があるかどうかの判断は機械学習や過去の攻撃などを参考にしています。そのため、本来は異常ではない操作も異常として判定されてしまう可能性があります。
これを避けるために、導入する際は異常ではない操作について学習させるようにしましょう。例えば、接続元IPアドレスを登録するだけで、そのアドレスからの操作は問題ないものとして認識されます。
なお、「対応しているサービスならばログを自動的に取得・解析してくれる」のは大きな魅力です。自分で解析するとなるとログの形式などを整える必要がありますが、GuardDutyに任せてしまえばその必要はありません。
Amazon Detectiveの設定
DetectiveはGuardDutyで検知したイベントを詳細調査するサービスです。単体で利用するものではなく、GuardDutyと組み合わせて有効化しておきましょう。
ご説明のとおり、異常検知はGuardDutyだけではなく他のサービスでも可能です。ただ、他のサービスでは横のつながりが少なく、問題が起きた時間帯などで絞り込みをしてそれぞれ調査する必要がありました。これでは障害対応などがクイックにできません。
そこでDetectiveが登場し、イベントの詳細調査が容易になりました。複数のサービスが提供する情報を横断的に調査できるようになったのです。ただ、利便性が上がったもののGuardDutyでログが収集されていることが前提であるため、状況に応じてCloudTrailなどとの使い分けが求められます。
AWSのモニタリング設定
AWSでセキュリティ対策を施しても、外部からの攻撃を受ける場合があります。被害がなくとも攻撃を受けた事実などは把握する必要があるため、AWSのモニタリングについても初期設定をご説明します。
AWS CloudTrailの初期設定
AWS CloudTrailはAWSのリソースに対する操作を監視するサービスです。いつどのアカウントがどのような操作をしたのかを把握でき、リソースに対する不正な操作に気づきやすくなります。コンソール画面から有効化するようにしましょう。
不正な操作といえば外部からの攻撃を思い浮かべがちですが、内部から不正操作される可能性もあります。内外問わず全ての操作を記録することで、不正を検知できるようにするのです。
また、操作を監視しておくとトラブルにも対応しやすくなります。特にAWSの操作に慣れていないうちは、リソースに対して意図しない操作をしてしまう可能性があります。そのような操作に気づくとの観点でも、コンソールから早々に有効化すべきです。
AWS Configの初期設定
AWSリソースに設定されている値を追跡できるサービスです。リソース毎に変更履歴が表示できるため、問題が起きているリソースが特定できている場合などに有効です。こちらもコンソールから事前に有効化するようにしましょう。
また、AWS Configの魅力は、実際に設定される値がAWSのベストエフォートに沿っているか評価してくれることです。AWSには非常に多くの設定値があり、すべてが正確に設定されているか自分で評価するのは限界があります。しかし、こちらのサービスを有効化しておくと定期的にルールに当てはめて評価してくれ、ベストエフォートからの逸脱を検知できます。
Amazon S3 Storage Lensの初期設定
S3の使用状況などを可視化してくれるサービスです。AWSを利用するにあたってS3は切っても切れない存在であるため、S3のバケット作成時に有効化しておきましょう。
Amazon S3 Storage LensはS3のセキュリティを直接高めてくれるものではなく、S3に対して施すべき設定をリコメンドしてくれます。使用状況を可視化してユーザーに示し、それを踏まえて何をすべきかも示してくれるのです。S3の利用状況によってリコメンドされる内容は異なるため、定期的にAmazon S3 Storage Lensのダッシュボードを開き、適切な対応をします。
Amazon DevOps Guruの初期設定
Amazon DevOps Guruは機械学習を活用して、AWSリソースに対する操作の不正を検知してくれます。一般的にAWSがどのように使われているのかを学習しているため、それにそぐわない操作を不正と判断します。
また、AWSアカウントの利用者が、自分で操作を機械学習させることが可能です。何かしら独自の運用があるならば、それを機械学習させておくことで不正と判断されなくなります。独自の運用があるがゆえに毎回不正を検知されていては利便性が下がるため、それを回避できるように考えられているのです。
まとめ
AWSアカウント発行後の初期設定についてご説明しました。アカウントを発行した後はすぐに利用を開始したいと考える人が大半ですが、AWSを安全に利用するためにもまずは初期設定を行いましょう。
なお、ご紹介している一部のサービスについては、利用にあたり料金が発生します。高額な利用料がかかるサービスではないものの、その点は考慮するようにしておきましょう。また、管理するリソースが増えるとセキュリティ関連のサービス利用費が高まるため、定期的にコストを確認しておくことが重要です。