$EXTERNAL_NET any (tls.sni; content:"evil.com"; startswith; nocase; endswith; msg:"matching TLS denylisted FQDNs"; priority:1; flow:to_server, established; sid:1; rev:1; gid:255;) , reason: GIDs are not" /> $EXTERNAL_NET any (tls.sni; content:"evil.com"; startswith; nocase; endswith; msg:"matching TLS denylisted FQDNs"; priority:1; flow:to_server, established; sid:1; rev:1; gid:255;) , reason: GIDs are not" />

ヤマムギ

growing hard days.

*

AWS Network Firewallの入門

      2021/10/05

公式のGetting started with AWS Network Firewallを参考に試してみました。

構成

最終形はこうなるように試してみました。
VPCのサブネットはあらかじめ作成しておきました。

ルールグループの作成

ステートレスルールを選択して作成しました。
キャパシティはチュートリアルどおり10にしました。

これもチュートリアルどおり、アクションはドロップで、指定のCIDRを設定しました。

これでステートレスルールの設定は完了です。
存在しないIPアドレスに設定しても面白くないので、後に送信元をVPCのCIDRにして、実在するWebサーバーへの送信をブロックしてみました。

ステートフルルールも作成しました。
5-tuple、Domain list、Suricata互換のIPSルールから選択できますが、Suricata互換のIPSルールを選択しました。

stateful rule is invalid, rule: drop tls $HOME_NET any -> $EXTERNAL_NET any (tls.sni; content:”evil.com”; startswith; nocase; endswith; msg:”matching TLS denylisted FQDNs”; priority:1; flow:to_server, established; sid:1; rev:1; gid:255;) , reason: GIDs are not allowed. Illegal option(s): [gid:255]

チュートリアルの上記のルールでは、gidをサポートしてないってエラーになったので、最終的にgidを抜いて作りました。

ステートフルとステートレスのルールができました。

ルールポリシーの作成

先程作ったステートレスルールとステートフルルールを選択しました。

ファイヤーウォールの作成

Network Firewall用に作成したサブネットを指定しました。

さきほど作成したポリシーを関連付けしました。

ログの設定

アラートが出力されるように設定しました。

ルートテーブルの設定

以下を追加しました。

IGWイングレスルートテーブル

FirewallエンドポイントのVPCエンドポイントIDをターゲットとして、NATゲートウェイが配置されたサブネットを指定しました。

Firewallエンドポイントのサブネット

0.0.0.0/0へのターゲットにインターネットゲートウェイを指定しました。

NATゲートウェイのサブネット

0.0.0.0/0へのターゲットにFirewallエンドポイントのVPCエンドポイントIDを指定しました。

プライベートサブネット

従来のプライベートサブネットと変わりなく、NATゲートウェイへ向けています。

確認

SSMManagedInstanceCoreポリシーをアタッチしたIAMロールを設定したEC2インスタンスをプライベートサブネットで起動して、セッションマネージャで接続しました。

Suricata互換のIPSルールでは、どうやら”https://evil.com”へのリクエストがブロックされるのかなと思い試しました。
念の為、手元のMacからは、https://evil.comもhttps://www.evil.comも接続できることを確認しています。

ステートフルルールが効いているようです。

CloudWatch Logsにもalertログが出力されていました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

VPCピア接続ではピア先VPCのセキュリティグループIDを指定できる

タイトルどおりです。 できることは知ってたのですが、試したことがなかったので、確 …

AWSマネジメントコンソールのマルチセッションサポート

AWSマネジメントコンソールにマルチセッションサポートが追加されましたので使いま …

JAWS-UG関西「AI で人を笑わせてみよう!ハンズオン」に参加しました

AI で人を笑わせてみよう!ハンズオン 灼熱の7月最終日にJAWS-UG関西のオ …

AWS Transit GatewayをResource Access Managerで他アカウントと共有

AWS Transit Gatewayを他アカウントに共有しました。 画面画像で …

EC2 Dedicated Hosts(専有ホスト)を起動

クォータ引き上げ 新規で作成したアカウントではDedicated Hostsがソ …

Amazon Glacierのプロビジョニングされた迅速取り出し容量をなぜか購入しました

過去1年ぐらいのAWSコストをCost Explorerで見てまして、10/10 …

Amazon Location Service入門ワークショップ-ジオコーディング

ジオコーディングにより住所を緯度経度に変換したり、逆に緯度経度から住所を求めたり …

クロスリージョンでEFSをマウントしてみる

ニーズがあるかどうかはさておき、クロスリージョンでのEFSファイルシステムをマウ …

AWS Transfer Family EFS向けのSFTP対応サーバー

EFSファイルシステムは作成済です。 AWS Transfer Family S …

AWS Summit 2016 Tokyoに参加してきました (Day3)

飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …