【AWS Tips】AWSネットワークセキュリティについて
はじめに
インフラサービスGの古野です。
前編としてAWSネットワーク接続について紹介しましたが、今回の後編ではAWSネットワークセキュリティについて、簡単にお伝えしたいと思います。
(AWSのネットワークのコンポーネントについては前編をご参照ください)
以下の内容を述べることにします。
サブネット分離
セキュリティグループ
ネットワークACL
Network Firewall
Gateway Load Balancer
AWS WAF
AWS Shield
Route 53 Resolver DNS Firewall
Amazon Inspector
Amazon GuardDuty
AWS Security Hub
VPC Flow logとTraffic Mirroring
Amazon VPC Block Public Access
なお、AWS Well-Architectedフレームワークでは、上記の対策のいずれかを行えばよいというわけではなく、複数の対策を組み合せた「多層防御」を実施することが推奨されています。(もちろんコスト見合いというのはありますが)
AWS Well-Architected フレームワーク(セキュリティ)
1.サブネット分離
インターネットゲートウェイ(IGW)へのルートがある=「パブリックサブネット」、ない=「プライベートサブネット」
直接インターネットとの通信要件がなければ、パブリックサブネットにリソースは不要
プライベートサブネットでもインターネットから通信を受けるリソースと、そうでないリソースをサブネットにて分離する
プライベートサブネットからインターネット宛の通信にはNATゲートウェイを使用
2.セキュリティグループ
セキュリティグループ(SG)は、VPCにおける仮想ファイアウォール機能
(ステートフルなので戻り通信についての設定は不要)インスタンスのENI(Elastic network interface)に適用する
許可ルールのみで拒否ルールは定義できない(デフォルトでは、インバウンド通信は全て拒否、アウトバウンド通信は全て許可)
定義された全てのルールにて評価される
3.ネットワークACL
ネットワークACLは、サブネットに適用する、サブネット間のフィルタリング機能(ステートレスなので戻り通信についての設定も必要)
1つのサブネットには1つのネットワークACLのみ適用が可能
許可ルールだけでなく拒否ルールも定義できる(デフォルトでは、インバウンド通信およびアウトバウンド通信を全て許可)
ルール番号の若い順序にて評価される
4.Network Firewall
AWS Network Firewallは、VPC向けのステートフルなFW及びIDS/IPSのマネージドサービス
トラフィックに応じて自動的にスケーリング可能
複数のAZにエンドポイントをデプロイすることで高可用性を実現できる
エンドポイント用のパブリックサブネット(Firewall subnet)を用意して、他のパブリックサブネット(Protected subnet)と分離することが好ましい
セキュリティグループやネットワークACLではできないURLフィルタリング及びカスタマイズルールを設定可能(AWSが提供するマネージドステートフルルールもデフォルトで実装)
5.Gateway Load Balancer
Gateway Load Balancer(GWLB)は、セキュリティアプライアンスの可用性を向上させることができるロードバランサー
Service consumer VPCにてGWLBエンドポイントを作成し、Service provider VPCのGWLBとプライベートリンクにて接続する
複数のService consumer VPCにて、セキュリティアプライアンスを共有可能
GWLBとセキュリティアプライアンス間は、GENEVE(UDP: 6081)プロトコルによりカプセル化される(オリジナルパケットを透過的に処理)
6.AWS WAF
AWS WAFは、Amazon CloudFront、ALB、API Gatewayに対応
AWSマネージドルールにより、SQLインジェクションやクロスサイトスクリプティング等の一般的な攻撃にすぐに対処可能
AWS Marketplaceでセキュリティベンダーが提供しているマネージドルールもある
ユーザー定義ルールでは、IP制限やレートベース(接続数制限)等のルールを作成可能
7.AWS Shield
AWS Shieldは、DDOS攻撃からの保護を提供し、デフォルトで自動適用されるShield Standardと、より高レベルな保護を行うShield Advancedがある
Shield Standardの保護対象は全AWSリソースで、一般的なL3/L4の防御
(AWS使用時に自動的に適用される)Shield Advancedの保護対象はGlobal Accelerator、CloudFront、Route 53、ELB、EC2で、高度なL3/L4/L7の防御
Shield Advancedでは追加コストなしでAWS WAFも利用可能
8.Route 53 Resolver DNS Firewall
Route 53 Resolverは、VPC内から名前解決を担当するDNSリゾルバー
DNS FirewallはDNSクエリを精査して特定ドメインへの名前解決をブロックできるUDPレイヤーのファイアウォール
AWSマネージドのドメインリストも用意されており、既知のマルウェアに関連するドメインとボットネットのC&Cサーバのドメインをブロックできる
直接IPアドレスによるアクセスは対象外(DNSクエリではないため)
9.Amazon Inspector
Amazon Inspectorは、EC2に対する脆弱性診断を行うサービス
EC2にインストールしたエージェントによりソフトウェアのインベントリと設定情報を収集
Inspectorの評価テンプレートに沿って自動的にセキュリティチェックが行われる
評価テンプレートに含まれるルールパッケージでは、共通脆弱性識別子(CVE)やAWSのセキュリティのベストプラクティス等が用意されている
10.Amazon GuardDuty
Amazon GuardDutyは、不正アクセスやセキュリティイベント等の挙動に関する脅威検出を行うサービス
インプット情報としては、CloudTrail、VPC Flow logs、DNS query logs、EKS監査ログがある
既知の脅威以外に、機械学習による未知の脅威(異常なユーザーの挙動、異常なトラフィックパターン等)も検出可能
脅威の検出状況をリアルタイムに通知できる(EventBridge+SNSを併用)
11.AWS Security Hub
AWS Security Hubは、AWSの設定内容に関するセキュリティ状況やコンプライアンス準拠状況を1箇所で確認できるサービス
複数のAWSサービス、数十個以上のパートナーサービスと統合し、各サービスのセキュリティ検出結果を収集して一元管理が可能
AWSの基本的なセキュリティベストプラクティス基準に加えて、PCI DSS、CIS、NISTなど業界や規制の枠組みに合わせた追加標準を提供
EventBridgeを併用して、リアルタイム通知や自動修復も可能
12.VPC Flow logとTraffic Mirroring
VPCフローログは、VPC内のIPトラフィック状況をログとして保存できる機能
フローログはネットワークインターフェイス単位(ENI)で出力される
パケットの詳細な情報はフローログでは確認できないため、トラフィックミラーリングを使用する
トラフィックミラーリングもEC2のENIを送信元として、送信先のENIを指定できる(NLB+モニタリング用EC2により可用性も実現可能)
13.Amazon VPC Block Public Access
リージョン内のVPCリソースのインターネットアクセスを一元的にブロックするシンプルな宣言型コントロール
Amazon VPCブロックパブリックアクセスは、インターネットゲートウェイ(IGW)やEgress-Onlyインターネットゲートウェイ(EIGW)の既存のVPC設定よりも優先される
Amazon VPCブロックパブリックアクセスの除外設定として、特定のVPCまたはサブネットの双方向または送信のみのインターネットアクセスの許可を指定可能(Network Access Analyzerにて評価できる)
なお、こちらは最近(2024年11月)リリースされた新サービスとなります。
Enhancing VPC Security with Amazon VPC Block Public Access
おわりに
ここまで読んでいただきありがとうございました。
多少ともご参考になれば幸いです。
お問合せはお気軽に
SHIFTについて(コーポレートサイト)
SHIFTのサービスについて(サービスサイト)
SHIFTの導入事例
お役立ち資料はこちら
SHIFTの採用情報はこちら