AWS CLFに向けて勉強する中でセキュリティ関連で似た概念が出てきた際に、あのサービス、機能との違いはなんだっけ?となるのが、自分なりに整理したいと思います。
セキュリティグループ(SG)
AWSのリソース(EC2インスタンス)に設定するファイアウォール機能。
デフォルトではすべての通信が拒否されている。許可する通信を設定するホワイトリスト方式。
ステートレス1(インバウンド/アウトバウンド両方の設定が必要)
すべての設定が適用される。
>ネットワーク層、トランスポート層におけるセキュリティ対策
ネットワークアクセスコントロールリスト(NACL)
サブネットに対して設定するファイアウォール機能。
デフォルトではすべての通信が許可されている。拒否する通信を設定するブラックリスト方式。
ステートフル2(インバウンド/アウトバウンド両方の設定が不要)
番号の低い設定から順に適用される。
>ネットワーク層、トランスポート層におけるセキュリティ対策
AWS Shield
DDOs攻撃から守るためサービス
>ネットワーク層、トランスポート層におけるセキュリティ対策
AWS WAF
CloudFront、ALB、API Gatewayにアタッチして利用するセキュリティ機能。
HTTP / HTTPS リクエストを監視し、SQLインジェクション、XSSなどからアプリケーションを保護する。
>アプリケーション層におけるセキュリティ対策
AWS Network Firewall
VPCに設定するセキュリティ機能。
侵入防止・検知、パケットフィルタリングを実現。
ステートフル
>ネットワーク層、トランスポート層におけるセキュリティ対策
おまけ(S3のセキュリティ)
IAMポリシーによる制御
S3にアクセスすることができるIAMポリシーを基に作成したIAMロールをAWSリソースに付与し、そのAWSリソースからS3へアクセスする。
リソースベースのバケットポリシー
バケットポリシーによって、S3バケット及びオブジェクトへのアクセス権限設定を行う。
JSON形式。
特定のIPアドレスからの接続のみを許可するような使い方。
アクセスコントロールリスト(ACL)
バケットポリシーによる制御が推奨されており、非推奨。
ブロックパブリックアクセス
バケットポリシーやACLの設定によって、S3を全世界からアクセスできる状態にしないために、ブロックパブリックアクセスが存在する。
デフォルトでは有効になっているため、向こうにすると、全世界からのアクセス許可がされる。
コメント