セキュリティ制御としてのルートテーブル
ルーティングを利用して、機密性の高いサブネットを設計上分離します。
「セキュリティ制御としてのルートテーブル」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
ルーティングはセキュリティである
route tableは、サブネットからのネットワークトラフィックをどこへ転送するかを決めるルールの集合です。route tableは接続性を制御するだけでなく、セキュリティ制御でもあります。サブネットが到達できる宛先を制御することで、ファイアウォールルールが確認される前に、そもそも可能な通信を決定できます。
ルートの仕組み
各ルートは、destination CIDRを、internet gateway、NAT gateway、peering connection、transit gatewayなどのtargetに対応付けます。AWSは各パケットに対して、一致する中で最も具体的なルートを使用します。VPC CIDRのlocal routeは常に存在し、削除できません。
パブリックとプライベートの定義
internet gatewayへのルートの有無によって、サブネットがパブリックかプライベートかが決まります。そのルートを削除すると、サブネットは直ちにプライベートになります。このため、インターネットへの露出を本当に決めるのはサブネットの設定ではなく、route tableです。
サブネットの関連付け
各サブネットは1つのroute tableにのみ関連付けられますが、1つのroute tableを複数のサブネットで共有できます。明示的な関連付けがないサブネットは、VPCのmain route tableを使用します。パブリックサブネットとプライベートサブネットを別々のroute tableに配置すると、それぞれのアクセスルールが明確になり、監査しやすくなります。
機密性の高いサブネットを分離する
データ用サブネットを分離するには、インターネットまたはNATへのルートを一切持たず、VPC内のlocal routeだけを持つroute tableを割り当てます。このようなサブネットはVPC内では通信できますが、どちらの方向にもインターネットへの経路がありません。これにより、ファイアウォールルールだけに依存せず、構造的に分離を実現できます。
エンドポイントへのルーティング
S3またはDynamoDB用のgateway VPC endpointを作成すると、AWSは関連するroute tableにエンドポイントへのルートを追加します。これにより、対象のAWSサービスへのトラフィックはインターネットではなくプライベートエンドポイント経由で転送されます。このルーティング変更によって、プライベートアクセスが可能になり、安全性も確保されます。
検査を経由させる
route tableを使用すると、VPCから出る前にトラフィックを検査アプライアンスまたはAWS Network Firewall経由に強制的にルーティングできます。サブネットのエグレスをNATへ直接送るのではなく、ファイアウォールエンドポイントへルーティングすれば、すべてのアウトバウンドパケットが検査されることを保証できます。このように、ルーティングによってセキュリティ検査の実施場所を強制できます。
ピアリングとTransitのルート
別のVPCに到達するには、ルートの送信先をpeering connectionまたはtransit gatewayにする必要があります。そのルートを追加しなければ、ネットワークは分離されたままです。広すぎるルートを追加すると、環境間の意図しない経路が開く可能性があるため、ルートエントリは実際に意図した接続範囲と同じ程度に具体的にする必要があります。
広すぎるルートのリスク
たとえば、プライベートであるべき層で0.0.0.0/0をinternet gatewayへ送るような過度に許可的なルートは、その層を気付かないうちにパブリックにします。予期しないインターネット経路やVPC間経路がないかroute tableを監査することは、VPCを安全に保つうえで重要です。
多層防御におけるRoute Table
ルーティングをNACLおよびsecurity groupsと組み合わせます。route tableは存在する経路を決め、NACLとsecurity groupsはその経路上で許可されるトラフィックを決めます。ルートのない宛先には、ファイアウォールルールに関係なく到達できません。そのため、ルーティングはネットワーク制御の最外層となります。
概要
route tableを、意図的に設計するセキュリティ境界として扱ってください。パブリックとプライベートの区別、機密性の高いサブネットの分離、検査経由のトラフィック制御、VPC間の到達範囲の制御に使用します。意図しない経路がないかルートを確認することは、ファイアウォールルールを確認することと同じくらい重要です。
クイックチェック
route tableのセキュリティに関する考え方を適用してください。
まとめ
Route tablesは宛先CIDRをtargetに対応付け、最も具体的な一致を使用します。local VPC routeは常に存在します。Route tablesは、internet-gateway routeによってパブリックとプライベートを定義し、機密性の高いサブネットを分離し(local routeのみ)、トラフィックをVPC endpointsまたは検査ファイアウォールへ転送し、peeringまたはtransit routeによってVPC間の到達範囲を制御します。意図しないインターネット経路やVPC間経路がないか監査してください。
よくある質問
「セキュリティ制御としてのルートテーブル」レッスンは無料ですか?
はい。「セキュリティ制御としてのルートテーブル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「セキュリティ制御としてのルートテーブル」で何を学びますか?
ルーティングを利用して、機密性の高いサブネットを設計上分離します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「セキュリティ制御としてのルートテーブル」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- パブリックサブネットとプライベートサブネットの設計
- インターネット、NAT、Egressゲートウェイ
- セキュリティ制御としてのルートテーブル
- VPCピアリングとTransit Gatewayの保護