2. インフラストラクチャー的セキュリティ
対象サービス
- AWS Firewall Manager
- AWS Network Firewall
- AWS WAF
- AWS Shield
- Amazon VPC (VPCe, SG, NACL, Access Analyzer)
- AWS Site-to-Site VPN*
- AWS Client VPN*
- AWS Certificate Manager (ACM)
- (Amazon CloudFront)*
- (Load Balancing)*
*試験ガイド内の"AWSのサービスと機能"には記載なし
AWS Firewall Manager
*Orgとの連携は覚えておいた方がいいかも
管理対象
- AWS WAF
- AWS Shield Advanced
- VPC Security Groups
- AWS Network Firewall
- Route 53 Resolver DNS Firewall
- Third-party services
*Security Hubに通知可能
マルチアカウントでの管理
設定方法
1: AWS Organizations に参加して設定する
2: AWS Firewall Manager のデフォルト管理者アカウントを作成する
3: AWS Config を有効にする
4: サードパーティのポリシーについては、AWS Marketplace でサブスクライブし、サードパーティーの設定を行う
5: Network Firewall ポリシーと DNS Firewall ポリシー用にリソース共有を有効にする
*Firewall Managerはグローバルサービス、ルールセットはリージョンごとに定義し配布
AWS WAF のログ集約
各ポリシーの配布方法
AWS Network Firewall
基本はThirdParty IPS と同じ
検査方法
- ステートレスパケットフィルタ(5-tuple)
- ステートフルパケットフィルタ(5-tuple)
- ステートフルパケットフィルタ(ドメインリスト)
- Suricata互換IPS
- インバウンドTLSインスペクション(ACMと連携)
https://aws.amazon.com/jp/blogs/security/tls-inspection-configuration-for-encrypted-traffic-and-aws-network-firewall/
既存 Network Firewall の吸収
RAM との連携
Network Firewall は RAM での連携も可能
Route 53 Resolver Firewall
AWS WAF
L7 Firewall
連携対象
- Amazon CloudFront
- Application Load Balancer
- Amazon API Gateway
- (AWS AppSync GraphQL API)
- (Amazon Cognito ユーザープール)
- (AWS App Runner のサービス)
- (AWS Verified Access インスタンス)
ロギング
- CloudWatch Logs log group
- Kinesis Data Firehose stream
- S3 bucket
AWS Shield
DDoS対策
*DDoSのテストをする場合カスタマーアグリーメントを結ぶ必要がある
AWS Shield Standard
デフォルト有効
AWS Shield Advanced
有償での24/7対応
Amazon VPC (VPCe, SG, NACL, Access Analyzer)
Webアプリのセキュアアクセス
*Web3層のSG/NACL構成
SGの送信元をSGに出来ることの理解
VPCエンドポイント
AWSの管理ネットワークを通す
Gatewayタイプ:S3、DynamoDB
→ルートテーブルでルーティング
Interfaceタイプ:その他+S3
→プライベートDNSでアクセス
Access Analyzer
ネットワークアクセス要件のチェック
AWS Site-to-Site VPN
BlackBelt
作成方法
ステップ 1: カスタマーゲートウェイを作成する
ステップ 2: ターゲットゲートウェイを作成する
ステップ 3: ルーティングを設定する
ステップ 4: セキュリティグループを更新する
ステップ 5: VPN 接続を作成する
ステップ 6: 設定ファイルをダウンロードする
ステップ 7: カスタマーゲートウェイデバイスを設定する
*Dirrect Connect と併せて使うことでインターネットを通さずに帯域保障とセキュリティを担保可能
Site-to-Site VPNで使用するポート
→UDP500、IP50
DPD
→Dead Peer Detection
IPSecで通信断を検出する機能
ジャンボフレーム
→AWSは "Don't Fragment "フラグが設定されている場合、MTUが1500以上のデータをドロップする
※VPG IPsec VPN 接続ではサポートされていない
最大帯域
1.25Gbps
※ECMPを使用してVPNを集約することが可能
AWS Client VPN
承認ルールの部分は大事かも?
AWS Certificate Manager (ACM)
(Amazon CloudFront)
※セキュリティ関連のみ
ビュアーの設定
HTTP での着信
HTTP → CloudFront/*LB HTTPS → Origin (HTTP to HTTPS)
CloudFrontでの502エラー
→以下が考えられる
- カスタムオリジンサーバとのSSL/TLSネゴシエーションエラー
- カスタムオリジンサーバからの非対応のciphers/protocolsレスポンス
- SSL/TLS証明書関連エラーの発生
- 指定ポートからのレスポンスなし
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/http-502-bad-gateway.html
CloudFrontで証明書を使用する場合
→複数の制限あり
Amazon発行の証明書
- 米国東部 (バージニア北部) リージョンで証明書をリクエストする
- ACM 証明書を使用してリクエストするには、権限が必要
インポートした証明書
- キーの長さは 1024 ビットまたは 2048 ビットである必要がある。※2048 ビットを超えることはできない
- 米国東部 (バージニア北部) リージョンで証明書をリクエストする
- SSL/TLS 証明書を使用およびインポートするには、権限が必要
https://aws.amazon.com/jp/premiumsupport/knowledge-center/install-ssl-cloudfront/
ALBへのアクセス制限
CloudFront側でカスタムHTTPヘッダーを追加し、ALBではこのカスタムHTTPヘッダーを含む場合のみ転送するように設定する
(Load Balancing)
※セキュリティ関連のみ
TLS終端
ターゲットグループでプロトコルをHTTPにすると ALBで終端
HTTPSにするとE2EでHTTPS通信
TLS 透過
注意:昔はできなかった(2019年以前)からターゲット側で行う必要があった
Discussion