AWSセキュリティの設定方法は?重要な機能と注意点を紹介

AWSでクラウドを運用する際、セキュリティ設定は企業の信頼性と事業継続性を支える基盤となります。適切な設定を行わなければ、不正アクセスやデータ漏洩などの深刻なリスクに直面する可能性があります。
本記事では、AWSセキュリティの主要機能であるセキュリティグループやIAM、暗号化技術などの基本概念から設定手順、運用時の注意点まで体系的に解説します。情報システム部門の担当者が安全で信頼性の高いクラウド環境を構築できるよう、実践的なノウハウをご紹介します。

AWSセキュリティグループの基本設定

AWSセキュリティグループは、EC2インスタンスなどのAWSリソースに対するネットワークアクセスを制御する仮想ファイアウォール機能です。インスタンスレベルでのセキュリティ制御を実現し、不正なトラフィックからシステムを保護する役割を果たします。セキュリティグループの設定では、インバウンドルール(外部からの通信)とアウトバウンドルール(内部からの通信)を個別に定義できます。

インバウンドルールの適切な設定方法

インバウンドルールの設定では、最小権限の原則に基づき、必要最小限のポートとプロトコルのみを許可することが重要です。 社内向けや開発用途のWebサーバーなど、限定されたユーザーのみがアクセスするケースでは、HTTP(ポート80)とHTTPS(ポート443)のみを特定のIPアドレス範囲に限定して許可する設定が推奨されます。
SSH接続(ポート22)やRDP接続(ポート3389)については、管理用途に限定し、特定の管理者IPアドレスからのアクセスのみを許可する設定を行います。0.0.0.0/0(全てのIPアドレス)からのSSHアクセスは、セキュリティリスクが高いため避けるべき設定です。 代表的なプロトコルと推奨されるアクセス制御設定を整理すると、次の通りです。

プロトコル ポート ソース 用途
HTTP 80 0.0.0.0/0 Webアクセス
HTTPS 443 0.0.0.0/0 セキュアWebアクセス
SSH 22 管理者IP サーバー管理

アウトバウンドルールの制御

アウトバウンドルールでは、サーバーから外部への通信を制御します。セキュリティを高めるためには、一律に開かれた状態を避け、必要な接続のみを意識的に許可する運用が効果的です。
データベースサーバーの場合、外部インターネットへの不要な通信を遮断し、必要なアップデート用の通信やバックアップ用の通信のみを許可する設定を検討します。アプリケーションサーバーでは、APIエンドポイントやデータベースサーバーへの特定ポートのみを許可する制限的な設定が推奨されます。

セキュリティグループの管理

複数のセキュリティグループを組み合わせることで、より柔軟で管理しやすいアクセス制御を実現できます。役割別にセキュリティグループを分けることで、設定の可読性と保守性が向上します。
定期的なルールの見直しも重要な運用タスクです。不要になったルールの削除や、新しい要件に応じた設定変更を継続的に行うことで、セキュリティレベルを維持できます。AWSマネジメントコンソールでの設定変更履歴の確認も、セキュリティ管理の一環として活用できます。

AWS IAMによる認証とアクセス制御

AWS Identity and Access Management(IAM)は、AWSリソースへのアクセスを安全に制御するサービスです。ユーザー、グループ、ロール、ポリシーを組み合わせることで柔軟な権限管理を実現し、不正アクセスのリスクを抑えられます。

ルートアカウント管理の基本ルール

AWSルートアカウントは、最高レベルの権限を持つため、厳重な管理が不可欠です。日常的な作業では使用せず、アカウント設定の変更や緊急時対応など、限定的な用途での使用に留めることが推奨されます。
ルートアカウントには必ず多要素認証(MFA)を設定し、強固なパスワードと組み合わせて二重のセキュリティ対策を講じることが重要です。MFAデバイスは物理的なハードウェアトークンまたはスマートフォンアプリケーションを使用できます。
ルートアカウントのアクセスキーは作成せず、既存のものがある場合は削除することが安全です。管理作業には適切な権限を持つIAMユーザーを使用し、ルートアカウントへの依存を最小化します。

IAMユーザーとグループの設計

IAMユーザーの作成では、個人単位でのアカウント管理を基本とし、共有アカウントの使用は避けます。各ユーザーには業務に必要な最小限の権限のみを付与し、定期的な権限の見直しを行います。
グループ機能を活用することで、役割別の権限管理が効率化できます。開発者グループ、運用者グループ、管理者グループなど、職務に応じたグループを作成し、ポリシーをグループレベルで管理します。代表的なグループ例と、その権限範囲は以下の通りです。

グループ名 主な権限 対象者
Developers EC2, S3の読み書き 開発チーム
Operators 監視、ログ参照 運用チーム
Administrators IAM管理権限 システム管理者

パスワードポリシーと認証強化

IAMのパスワードポリシー設定では、最小文字数、文字種類の組み合わせ、定期的な変更要求などを組織のセキュリティ方針に応じて定義します。一般的には8文字以上で、大文字小文字、数字、記号を含む複雑なパスワードが推奨されます。
アクセスキーの管理では、定期的なローテーションを実施し、古いキーは速やかに無効化します。可能な限りIAMロールを使用して一時的な認証情報を取得し、長期間有効なアクセスキーの使用を最小化することが安全です。
多要素認証の導入は、パスワード漏洩時のリスク軽減に効果的です。特に管理者権限を持つユーザーには、MFAの設定を必須とし、セキュリティレベルを向上させます。

AWSにおけるデータ保護と暗号化の実装

AWSでは、保存時暗号化(Encryption at Rest)と転送時暗号化(Encryption in Transit)の両方を実現するさまざまな機能を提供しています。機密データを適切に保護するためには、これらの暗号化技術を適材適所で活用することが重要です。

Amazon S3のサーバーサイド暗号化

Amazon S3では、複数の暗号化オプションを提供しており、データの機密性レベルに応じて適切な方式を選択できます。SSE-S3(S3管理キー)、SSE-KMS(AWS KMS管理キー)、SSE-C(顧客管理キー)の3つの主要な方式があります。
SSE-S3は設定が簡単でコストも抑えられるため、一般的なファイル保存に適しており、デフォルトの暗号化設定として有効です。より高度な要件がある場合には、SSE-KMSを使用してキーの管理とアクセスログの取得を行います。
バケットポリシーを活用して、暗号化されていないオブジェクトのアップロードを拒否する設定も可能です。これにより、確実にすべてのデータが暗号化された状態で保存されることを保証できます。

データベース暗号化の設定

Amazon RDSやAmazon DynamoDBでは、データベースレベルでの暗号化機能を提供しています。RDSの場合、暗号化を有効にしたDBインスタンスを作成することで、そのインスタンスに保存されるデータファイルやバックアップ、リードレプリカ、スナップショットなどのストレージが暗号化されます。
既存のデータベースを暗号化する場合は、スナップショットを作成し、暗号化を有効にした新しいインスタンスへの移行が必要です。この作業にはダウンタイムが発生するため、適切な計画とテストが重要になります。主要なAWSサービスにおける暗号化方式とキー管理の仕組みを整理すると次の通りです。

サービス 暗号化方式 キー管理
Amazon S3 SSE-S3/KMS/C AWS/顧客選択可
Amazon RDS AES-256 AWS KMS
Amazon EBS AES-256 AWS KMS

ネットワーク通信の暗号化

Application Load Balancer(ALB)やClassic Load Balancer(ELB)では、SSL/TLS証明書を設定することで、クライアントとロードバランサー間の通信を暗号化できます。AWS Certificate Manager(ACM)を使用して、証明書の取得と自動更新を効率化できます。
VPC内の通信についても、セキュリティを強化したい場合には、エンドツーエンドの暗号化を検討します。アプリケーションレベルでのHTTPS通信やデータベース接続の暗号化により、内部ネットワークでの盗聴リスクを軽減できます。
AWS PrivateLink やVPC Endpointを活用することで、インターネットを経由せずにAWSサービスへのプライベート接続を確立し、通信経路のセキュリティを向上させることができます。

AWS環境での監視・ログ管理

AWS環境における継続的なセキュリティ監視は、脅威の早期発見と迅速な対応を可能にする重要な仕組みです。ログ収集と分析を通じて、不正アクセスやシステム異常の検出を自動化できます。さらに CloudTrail、GuardDuty、Security Hub、Config、Systems Manager などを組み合わせることで、多層的な監視体制を構築できます。

AWS CloudTrailによるAPI監査

AWS CloudTrailは、AWSアカウント内で行われたAPIコールを記録する監査サービスです。ユーザーやサービスがいつ・どこから・どのリソースにアクセスしたかを詳細に追跡できるため、セキュリティ監査やコンプライアンス対応、不正アクセスの調査に活用できます。
CloudTrailのログは改ざん防止のため、専用のS3バケットに保存し、適切なアクセス権限とバケットポリシーで保護することが重要です。また、ログファイルの整合性検証機能を有効にして、ログの信頼性を確保します。
重要な操作については、CloudWatch Eventsと連携して、リアルタイムでの通知やアラートを設定できます。ルートアカウントの使用やIAMポリシーの変更など、特に注意が必要な操作を監視対象として設定します。

Amazon GuardDutyによる脅威検出

Amazon GuardDutyは、機械学習を活用した脅威検出サービスで、悪意のあるアクティビティや不正な動作を自動的に識別します。DNSクエリ、VPCフローログ、CloudTrailログを分析して、異常なパターンを検出します。
GuardDutyが検出する脅威には、マルウェア通信、暗号通貨マイニング、異常なAPIアクティビティ、データの流出の兆候などがあります。これらの検出結果は、重要度に応じて分類され、優先的な対応が必要な項目を特定できます。
検出した脅威への対応では、自動化されたレスポンス機能を設定することで、インスタンスの隔離やセキュリティグループの自動変更などの初期対応を迅速に実行できます。

AWS Configによる設定管理

AWS Configは、AWSリソースの設定変更を継続的に監視し、コンプライアンス要件への準拠状況を評価するサービスです。セキュリティ設定の誤りやベストプラクティスからの逸脱を自動的に検出できます。
Config Rulesを設定することで、セキュリティグループのルール、S3バケットの公開設定、暗号化の有無など、重要なセキュリティ設定を継続的にチェックできます。設定変更が検出された場合には、自動修復機能により設定を元に戻すか、管理者への通知を送信する仕組みを構築できます。AWSにおける代表的なセキュリティ監視サービスを比較すると、次のようになります。

サービス 監視対象 主な機能
CloudTrail API呼び出し 操作ログの記録
GuardDuty 異常な動作 脅威の自動検出
Config リソース設定 設定変更の追跡

セキュリティ運用における注意点

AWSセキュリティの運用では、設定ミスや運用プロセスの不備が重大なセキュリティインシデントにつながる可能性があります。一般的に発生しやすい問題を理解し、予防的な対策を講じることが重要です。

設定ミスによるリスクと防止策

最も頻繁に発生するセキュリティ問題の一つが、S3バケットの意図しない公開設定です。バケットの公開設定やオブジェクトレベルでのアクセス許可を適切に管理せず、機密データが外部からアクセス可能な状態になる事例が報告されています。
S3バケットのブロックパブリックアクセス機能を有効にして、意図しない公開を防止することが効果的です。また、定期的にバケット設定を監査し、不要な公開設定がないかを確認する運用プロセスを確立します。
セキュリティグループでの過度に広範囲なアクセス許可も危険性が高い設定です。0.0.0.0/0からの不要なポートアクセスを許可することで、攻撃者に攻撃経路を提供してしまう可能性があります。

アクセスキー管理の基本方針

長期間使用されるアクセスキーは、漏洩リスクが高まるため、定期的なローテーションが重要です。アクセスキーがソースコードやログファイルに含まれることを防ぐため、環境変数や専用の認証情報管理サービスを活用します。
可能な限りIAMロールを使用して、一時的な認証情報による認証を行うことが推奨されます。EC2インスタンスやLambda関数では、インスタンスプロファイルやサービスロールを活用して、アクセスキーを使用しない認証方式を採用します。
アクセスキーの使用状況は、IAM Credential Reportやアクセスアドバイザーを使用して定期的に監視し、不要になったキーは速やかに削除します。 アクセスキーの監視は、CloudTrailと連携して不審な使用を検知することも有効です。

継続的なセキュリティ改善

AWS Trusted Advisorのセキュリティチェック項目を定期的に確認し、推奨事項への対応を行います。セキュリティグループの設定、IAM使用状況、MFA設定状況などの基本的な項目から改善を進めます。
Security Hubを活用して、複数のセキュリティサービスからの検出結果を統合的に管理し、優先度の高い問題から順次対応する仕組みを構築します。これにより、断片的な対応ではなく、体系的にセキュリティを向上させることができます。
外部のセキュリティ専門家による定期的な監査や、ペネトレーションテストの実施も、セキュリティレベルの客観的評価に役立ちます。内部だけでは発見が困難な脆弱性や設定上の問題を特定し、継続的な改善につなげることができます。

まとめ

AWSセキュリティの適切な設定と運用は、クラウド環境における事業継続性と信頼性の基盤となります。セキュリティグループによるネットワーク制御、IAMを活用した認証・認可、データ暗号化の実装、そして継続的な監視体制の構築により、多層的な防御を実現できます。
重要なのは、技術的な設定だけでなく、定期的な見直しと改善を行う運用プロセスの確立です。設定ミスの防止、アクセス権限の適切な管理、セキュリティインシデントへの迅速な対応により、安全で信頼性の高いAWS環境を維持できます。
今後のクラウド活用では、これまで紹介した取り組みを基盤とし、組織の要件に合わせてセキュリティ対策を継続的に強化していくことが、持続可能なデジタル変革の実現につながります。

富士ソフトでは、お客様のAWS環境の運用に適したセキュリティ対策の構築をご支援しております。
知識や社内リソースの観点で自社運用が難しいお客様には、24時間365日包括的にお客様のクラウド環境のセキュリティサービスを管理・運用するソリューションであるFujiFastenerをおすすめしております。
AWSにおける高度なクラウドセキュリティ対策をお考えの方は、ぜひご相談ください。

> FujiFastener(フジファスナー)

FujiFastenerは、お客様のAWS・Google Cloud・Azure環境を常時監視し、検知アラートの確認や初期対応、調査など負荷の高い運用業務を代行するサービスです。
AIによる自動分析と専門エンジニアの24時間対応を組み合わせ、迅速なインシデント対応を実現します。

お問い合わせContact

インフラ領域でお困りのことがあれば、いつでもお声がけください。

富士ソフト株式会社
ソリューション事業本部 営業統括部

お問い合わせはこちら

050-3000-2733
(受付時間10:00~17:00 ※土日祝を除く)

※記載されている会社名、製品名は各社の商標または登録商標です。