AWS Network Firewall とは
- AWS マネージドのネットワークファイアウォールサービス
- VPC 単位に通信を制御・監視・ロギングできる
できること
- ステートレスなパケットフィルタリング (プロトコル, 送信元 IP, 送信元ポート, 送信先 IP, 送信先ポート)
- ステートフルなパケットフィルタリング (プロトコル, 送信元 IP, 送信元ポート, 送信先 IP, 送信先ポート)
- 送信元/先のドメイン名を基にした HTTP/HTTPS のアクセス制御
- ログの取得
できないこと
- DDoS 攻撃への対策
- SQL インジェクション・クロスサイトスクリプティング等の L7 層への攻撃への対策
- 暗号化された通信の検査(事前に NLB を使用した復号化が必要)
ユースケース
VPC 間・AWS⇔ 外部との通信制御・ロギング
- プロトコル・ポートベースのパケットフィルタリング
- URL フィルタリング
- ログ取得
アーキテクチャ
基本パターン(パブリックサブネットを保護)
- ファイアウォール本体は AWS マネージドサービスなので実態はユーザからは見えない場所にある
- ファイアウォール専用のサブネット内に FW エンドポイントを作成してそこからアクセスする
- ルート設定することで サブネット ⇔FW エンドポイント ⇔IGW で通信をルーティングして、常に VPC 外部との通信が FW を通過するようにする
NATGateway があるパターン
構成要素
- ファイアウォール:ファイアウォール本体
- ファイアウォールポリシー:ファイアウォールに付与するポリシー
- ルールグループ:ファイアウォールポリシーに付与する制御ルール
各要素の関連性
- ファイアウォール:ファイアウォールポリシー = 1:1
- ファイアウォールポリシー:ルールグループ = 1:n
ファイアウォールポリシーは複数のファイアウォールで使いまわせる
ルールグループも複数のファイアウォールポリシーで使いまわせる
※FW 作成時に関連付けたファイアウォールポリシーは付け替え不可
ログ
出力先は
- S3
- CloudWatchLogs
- KinesisStream
から選択可能
出力するログは Alert ログ(Block された通信も含む)と通常のログで選択でき、出力先を分けることも可能
※注意点
- ステートフルルールで評価したログしかとれない
サンプル
{
"firewall_name": "xxxxxxx-test-fw",
"availability_zone": "ap-northeast-1c",
"event_timestamp": "1623306203",
"event": {
"timestamp": "2021-06-10T06:23:23.466880+0000",
"flow_id": 1979630686511040,
"event_type": "alert",
"src_ip": "172.30.128.148",
"src_port": 56026,
"dest_ip": "xx.xx.xx.xx",
"dest_port": 443,
"proto": "TCP",
"alert": {
"action": "blocked",
"signature_id": 1,
"rev": 0,
"signature": "",
"category": "",
"severity": 3
}
}
}
料金
- エンドポイント料金は AWS Network Firewall を紐づけたサブネットごとに発生する
- NATGateway を利用している場合は、AWS Network Firewall のエンドポイント数に応じて NATGateway 利用料(時間単位料金+データ処理料金)が無料になる
表はスライドできます
リソースタイプ | 利用料 |
---|---|
エンドポイント料金 | 0.395 USD/h |
データ処理料金 | 0.065 USD/GB |
月額試算
条件
- 2AZ に冗長構成
- NATGateway(2AZ 冗長化)有
- データ量:100GB
月額利用料
- Network Firewall エンドポイント料金 = 587.7 USD /月
- Network Firewall データ処理料金 = 6.5 USD/月 合計 594.2 USD/月
- NATGateway 利用料の割引分を考慮すると 月額利用料金:495.8 USD (約 57,000 円) ※東京リージョン 1USD = 115 円、31 日/月 で計算
使いどころ
SecurityGroup・NACL を使用して通信制御することに比べると以下のような要求に応えることができる
- VPC 単位で通信制御したい
- ログを取りたい
- ドメインフィルタリングしたい
最後に
AWS NetworkFirewall は VPC 単位で通信が制御できたり、ログが取得できたりと今までのサービスでは手の届かなかったところに手の届くサービスと言えそうです。
次回は AWS NetworkFirewall で設定する通信制御ルールについてもう少し詳細に解説します。