今回のブログは、Professional Cloud Network Engineer認定取得講座9回目です!今回は、「模擬試験から重要項目をピックアップして説明します! 〜その肆〜」です!
今回も、「Professional Cloud Network Engineer」認定資格の模擬試験から、私がピックアップした重要項目について説明します。模擬試験については、下記URLから受験することができます。
Professional Cloud Network Engineer 模擬試験
今回は、模擬試験の問題8と9、10から重要項目をピックアップしています。
是非、最後までご覧いただけると嬉しいです。
Cloud Armor
概要
Cloud Armor は、Google Cloud で実行されている Web アプリケーションを保護するためのセキュリティサービスです。DDoS 攻撃、XSS、SQLi などのさまざまな脅威から保護します。
- DDoS攻撃:大量の偽のアクセスを送信して、Webサイトやサーバーをダウンさせる攻撃
- XSS(クロスサイトスクリプティング):Webサイトの脆弱性を悪用して、ユーザーのブラウザに悪意のあるスクリプトを埋め込む攻撃
- SQLi(SQLインジェクション):ウェブサイトやアプリケーションの入力フォームに意図しないSQL文を入力することで、データベースに不正にアクセスする攻撃手法
上記脅威については、以前のブログで説明していますので、こちらも併せてご確認ください。
Cloud Armor の主な機能は、以下のとおりです。
- セキュリティポリシーを使用して、ロードバランサの背後で実行されているアプリケーションを DDoS 攻撃から保護します。
- ルール言語を使用して、XSS や SQLi などのアプリケーション攻撃からアプリケーションを保護します。
- 事前構成された WAF ルールを使用して、一般的な攻撃からアプリケーションを保護します。
Cloud Armor は、Web アプリケーションのセキュリティを強化するための強力なツールです。
具体的には、以下のメリットがあります。
- 自動的な保護機能と手動で構成が必要な保護機能が含まれるため、さまざまなニーズに対応できます。
- グローバル外部アプリケーションロードバランサと従来のアプリケーションロードバランサで利用できるため、さまざまなアプリケーションに適用できます。
- 料金は利用量に応じて課金されるため、コストを抑えて利用できます。
Cloud Armor を活用することで、Web アプリケーションをさまざまな脅威から保護し、安全な運用を実現できます。
セキュリティポリシー
Cloud Armor セキュリティポリシーは、Google Cloud のデプロイを保護するための方法です。
セキュリティポリシーは、ウェブ攻撃や他のレイヤー7属性によるリクエストをブロックし、アプリケーションを保護するために使用されます。
セキュリティポリシーは、受信リクエストの IP アドレス、IP 範囲、リージョンコード、リクエストヘッダーなどの条件に基づいてトラフィックをフィルタリングするルールのセットで構成されています。
Cloud Armor のセキュリティポリシーは、さまざまなロードバランサとエンドポイントタイプで使用できます。
バックエンドサービスのバックエンドは、下記を選択することができます。
- インスタンスグループ
- ゾーンネットワークエンドポイントグループ(NEG)
- サーバーレスNEG
- 外部バックエンドのインターネットNEG
- Cloud Storage のバケット
Cloud Armor は、高度なネットワーク DDoS 保護も提供します。
詳細情報
Cloud Armor セキュリティポリシーは、次の 2 つの主要なコンポーネントで構成されています。
- ルール:トラフィックをフィルタリングする条件を定義
- アクション:ルールに一致するトラフィックに適用されるアクションを定義
ルールは、次の 3 つのカテゴリに分類されます。
- 攻撃ルール:一般的なウェブ攻撃を検出します。
- カスタムルール:独自の条件に基づいてトラフィックをフィルタリングします。
- レート制限ルール:特定の IP アドレスまたは IP 範囲からのトラフィックのレートを制限します。
アクションは、次の 2 つのカテゴリに分類されます。
- 許可:ルールに一致するトラフィックを許可します。
- 拒否:ルールに一致するトラフィックを拒否します。
Cloud Armor セキュリティポリシーは、Google Cloud のさまざまなデプロイシナリオを保護するために使用できます。たとえば、次のシナリオで使用できます。
- ウェブアプリケーションを DDoS 攻撃から保護する
- 不正なアクセスから API を保護する
- マルウェア攻撃から Web サイトを保護する
ベストプラクティス
Cloud Armorのベストプラクティスは、以下の5つのカテゴリーに分類できます。
1.セキュリティポリシーとルールの作成
- ルールに説明を追加して目的を明確にします
- ルールの優先度値を十分に間隔をあけて設定します
- プレビューモードでテストします
- Adaptive Protection※を有効にします
※Adaptive Protectionは、Google CloudのアプリケーションやサービスをDDoS攻撃から保護する機能です。機械学習を使って、攻撃の兆候を検出します。
2.ルールの調整
- JSON解析を有効にします
- ルールをテストします
- スキャナの送信元IPアドレスを特定します
- ルールをグループ化して順序を設定します
- bot管理を使用します
3.レート制限
- レート制限※しきい値を設定します
※レート制限は、1秒あたりのHTTPリクエスト数や、1時間あたりの帯域幅の使用量など、トラフィックの量を制限することです。 - 事前構成されたWAFルールを調整します
- 詳細ログを有効にします
- 安定ルールまたはカナリアルール※を使用します
※カナリアルールとは、システムのアップデートや変更を実施する際に、一部のユーザーを対象にテストを行うルールです。
4.ロギングとモニタリング
- Security Command Centerを使用して監視します
- Cloud Monitoringダッシュボードを設定します
5.全般管理
- IAMを使用してアクセス制御を確保します
- Terraformを使用して構成を管理します
具体的には、以下の点を考慮する必要があります。
- セキュリティポリシーとルールは、アプリケーションのニーズに合わせて慎重に設計する必要があります。
- ルールは、誤検出を防ぐために十分にテストする必要があります。
- レート制限は、不正行為を防止し、大規模な脅威から保護するために使用できます。
- ロギングとモニタリングを使用して、セキュリティイベントを検出および調査する必要があります。
- 全般管理は、セキュリティとコンプライアンスの確保に不可欠です。
これらのベストプラクティスに従うことで、Cloud Armorを最大限に活用し、アプリケーションを安全に保護することができます。
Cloud CDN
概要
Cloud CDNは、Googleのグローバルエッジネットワークを利用して、ユーザーにコンテンツを迅速に提供するサービスです。外部アプリケーションロードバランサと連携して、さまざまなバックエンドからコンテンツを提供します。
具体的には、以下のバックエンドからコンテンツを提供できます。
- インスタンスグループ
- ゾーンネットワークエンドポイントグループ(NEG)
- サーバーレスNEG(App Engine、Cloud Run、Cloud Functionsサービスを含む)
- 外部バックエンドのインターネットNEG
- Cloud Storageのバケット
Cloud CDNは、送信元サーバーからのレスポンスを外部アプリケーションロードバランサを介して提供します。この際、Google Front End(GFE)がCloud CDNと外部アプリケーションロードバランサの構成に関与します。
仕組み
Cloud CDNは、Googleのグローバルエッジネットワークを利用して、ユーザーに最も近い場所からコンテンツを配信するサービスです。キャッシュと呼ばれる仕組みを使って、コンテンツを保存し、将来のリクエストを高速に処理できるようにします。キャッシュヒット率は、キャッシュから提供されるリクエストの割合を示します。キャッシュヒット率が高いほど、コンテンツの配信が高速になり、コストが削減され、サーバーの負荷が軽減されます。
Cloud CDNの3つのメリット
- コンテンツの配信を高速化
- コストを削減
- サーバーの負荷を軽減
これらのメリットは、キャッシュの仕組みによって実現されています。キャッシュは、コンテンツを保存して将来のリクエストを高速に処理できるようにする仕組みです。Cloud CDNでは、Googleのグローバルエッジネットワークにキャッシュを配置することで、ユーザーに最も近い場所からコンテンツを配信することができます。
キャッシュヒット率は、キャッシュから提供されるリクエストの割合を示します。キャッシュヒット率が高いほど、コンテンツの配信が高速になり、コストが削減され、サーバーの負荷が軽減されます。
Cloud CDNは、コンテンツ配信を高速化したい、コストを削減したい、サーバーの負荷を軽減したい場合に有効なサービスです。
ベストプラクティス
Cloud CDNは、静的コンテンツと動的コンテンツの両方を配信するためのキャッシュに保存可能なコンテンツの送信元として機能します。
コンテンツ配信を最適化するために、以下の5つのベストプラクティスを実施することをおすすめします。
1.キャッシュヒット率の最適化
- 静的コンテンツをキャッシュします
- カスタムキャッシュキー※を使用します
※カスタムキャッシュキーとは、Cloud CDNがキャッシュに保存するコンテンツを識別するために使用するキーをカスタマイズすることです。
2.パフォーマンスの最適化
- HTTP/3とQUICプロトコルをサポートします
- ネガティブキャッシュ※を使用します
※ネガティブキャッシュは、あるURLにアクセスしたときに、そのURLにコンテンツが存在しないことをキャッシュに保存する機能です。
3.セキュリティの最適化
- Cloud Armorを使用します
- 署名付きURLを使用します
4.キャッシュの最適化
- キャッシュTTLを最適化します
- 時間的制限のあるコンテンツの有効期限を設定します
- バージョニングされたURLを使用します
5.モニタリングとロギングの最適化
- Cloud CDNのロギングの有効化
- カスタムモニタリングダッシュボードの使用
- サードパーティのパフォーマンステスト結果の確認
これらのベストプラクティスを実施することで、Cloud CDNを効果的に活用し、コンテンツ配信の性能とセキュリティを向上させることができます。
具体的には、以下のメリットが期待できます。
パフォーマンスの向上
- キャッシュにより、オリジンサーバへの負荷を軽減し、パフォーマンスを向上させることができます。
- HTTP/3とQUICプロトコル※により、さらにパフォーマンスを向上させることができます。
※QUICプロトコルは、インターネット上でデータをやり取りする際に、従来のTCPプロトコルよりも高速で、信頼性が高く、安全な通信を実現するためのプロトコルです。
セキュリティの向上
- Cloud Armorにより、DDoS攻撃などの脅威からコンテンツを保護できます。
- 署名付きURL※により、非公開コンテンツへのアクセスを制限できます。
※署名付きURLとは、特定のユーザーやアプリケーションに対してのみアクセスを許可するURLです。URLに暗号化された認証情報が埋め込まれており、それによってアクセスを制御します。
信頼性の向上
- キャッシュにより、オリジンサーバの障害時にコンテンツを配信し続けることができます。
- モニタリングとロギングにより、問題を早期に発見して対応することができます。
Cloud CDNは、以上のような様々なメリットがあります。Web アプリケーションを全世界に展開する場合は、利用することで、セキュリティとパフォーマンスを向上することができます。
Cloud DNS
概要
Cloud DNSは、Google Cloud が提供するDNSサービスです。高性能で復元力があり、ドメイン名をグローバルに公開する費用対効果の高い方法を提供します。
Cloud DNSの主な特徴は、以下のとおりです。
- 独自にDNSサーバーやソフトウェアを管理する必要がない
- 一般公開ゾーンと限定公開ゾーンの両方を提供
- プロジェクトレベルと個々のDNSゾーンレベルでIAM権限をサポート
- DNSSEC※とアクセス制御をサポート
※DNSSECは、「DNSサーバの概要」の章で説明しています。 - エニーキャスト※を使用して世界中の複数のロケーションからDNSゾーンをサポート
※エニーキャストは、同じアドレスを複数のノード(コンピューターや機器 等)が共有する仕組みです。送信者は、そのアドレスを指定してデータを送信すると、最も近いノードにのみ届きます。 - DNSの変更を2段階で伝播し、TTL(Time to Live)※値によってキャッシュ期限を制御
※インターネットでデータを送受信する際に、そのデータが破棄されるまでの時間や、処理の繰り返し回数の上限を意味します。
Cloud DNSは、ドメイン名の管理とセキュリティを向上させるための強力なツールです。
具体的には、以下のメリットがあります。
- 運用コストの削減:独自にDNSサーバーやソフトウェアを管理する必要がないため、運用コストを削減できます。
- セキュリティの向上:DNSSECとアクセス制御をサポートしているため、ドメインのセキュリティを向上させることができます。
- パフォーマンスの向上:エニーキャストを使用して世界中の複数のロケーションからDNSゾーンをサポートしているため、パフォーマンスを向上させることができます。
Cloud DNSは、以下の用途に適しています。
- ドメイン名の管理
- ドメインのセキュリティ対策
- グローバルなDNSサービスへのアクセス
このように、Cloud DNSは、高性能で復元力のあるグローバルなDNSサービスであり、ドメイン名の管理やセキュリティ対策に適したサービスです。
DNSサーバの概要
DNSは、インターネット上でドメイン名とIPアドレスを対応させるためのシステムです。ドメイン名は人間が覚えやすい文字列ですが、IPアドレスはコンピュータが理解しやすい数字列です。DNSは、ドメイン名をIPアドレスに変換することで、コンピュータがインターネット上の資源にアクセスできるようにします。
DNSの重要なコンセプトには、次のようなものがあります。
DNSサーバーの種類
- 権威サーバー:ドメイン名とIPアドレスの対応表を管理します
- 非権威サーバー:ドメイン名とIPアドレスの対応表を持っていないため、名前解決の問い合わせに対して、権威DNSサーバーに問い合わせて、その結果を返します
- 再帰リゾルバ:ドメイン名をIPアドレスに変換する際に、権威DNSサーバに問い合わせて結果をクライアントに返すDNSクライアントです
ゾーン
- 一般公開ゾーン:インターネット上にあるWebサイトやメールサーバなどのリソースのIPアドレスを、ドメイン名で参照できるようにする役割を果たすDNSゾーンです
- 限定公開ゾーン:公共のインターネットからはアクセス不可のゾーン
- 委任サブゾーン:あるドメインの管理者が、そのドメインのサブドメインの管理を別の管理者に委ねる仕組みです
- スプリットホライズンDNS:同じドメイン名に対して、内部ネットワークと外部ネットワークで異なる名前解決結果を提供するDNSサーバの機能です
レコード
- DNSリソースとドメイン名のマッピングを表す
- A:IPアドレスをマッピング
- AAAA:IPv6アドレスをマッピング
- CNAME:別名をマッピング
- MX:メールサーバーをマッピング
- NS:権威サーバーをマッピング
- PTR:IPアドレスをドメイン名にマッピング
- SOA:ゾーンの情報をマッピング
レコードセット
ドメイン名とIPアドレスの対応関係を定義したものです。
サブドメインの委任
ドメイン名は、ツリー構造で管理されています。ドメイン名のルートから、ドメイン名が枝分かれしていくイメージです。
サブドメインの委任とは、親ドメインの管理者が、そのドメインの一部(サブドメイン)の管理を、別の組織に任せることです。
登録事業者
ドメイン名登録を管理する組織です。
SOAシリアル番号
ドメインのネームサーバーのゾーンファイルが最後に変更されたことを示す番号です。
DNSSEC
DNSサーバの情報を安全に保つための仕組みです。DNSサーバは、URLをIPアドレスに変換する役割を果たしています。しかし、DNSサーバは偽装される可能性があります。偽装されたDNSサーバを利用すると、悪意のあるサイトにアクセスしたり、フィッシング詐欺の被害に遭ったりする可能性があります。
DNSSECは、DNSサーバの情報を暗号化して、偽装を防止する仕組みです。DNSサーバは、署名付きのDNSレコードを公開します。クライアントは、DNSレコードの署名を検証することで、DNSサーバが正当なものであることを確認できます
これらの概念を理解することで、DNSの基本的な仕組みとコンポーネントを理解することができます。
さらに具体的には、DNSは次の流れで動作します。
- ユーザーがブラウザにドメイン名を入力します。
- ブラウザはDNSサーバーにクエリ(要求)を送信します。
- DNSサーバーは、ドメイン名に対応するIPアドレスを検索します。
- DNSサーバーは、IPアドレスをブラウザに返します。
- ブラウザは、IPアドレスを使用してウェブサーバーに接続します。
DNSは、インターネットの基本的な仕組みであり、インターネットが正常に動作するために不可欠なシステムです。
ベストプラクティス
Cloud DNSは、ハイブリッド環境でのDNS管理に役立つ、Google Cloud のサービスです。
Cloud DNSを効果的に活用するためには、以下のベストプラクティスを参考にしてください。
- Google CloudでのDNSのコンセプトを理解します
- 関係者、ツール、プロセスを特定します
- シンプルで一貫した命名規則を作成すること
- DNS解決を実行する場所を選択します
具体的には、以下の点に注意してください。
- Google Cloudでは、内部DNS、Cloud DNS、Managed Service for Microsoft Active Directory、パブリックDNS、Cloud Domains、Google Domainsなどのシステムやサービスが利用できます。
- ハイブリッド環境では、オンプレミスとGoogle CloudでDNSを統一することが重要です。
- DNS解決は、Cloud DNSとオンプレミスDNSを組み合わせたハイブリッドアプローチがおすすめです。
このベストプラクティスを参考にすることで、ハイブリッド環境でのDNS管理をより効率的かつ安全に行うことができます。
以下に、各ポイントの説明を記載します。
Google CloudでのDNSのコンセプト
- Google Cloudでは、さまざまなシステムやサービスがDNS名前解決とドメイン名の処理に使用されます。
- それぞれの特徴を理解して、最適な方法を選択することが重要です。
関係者、ツール、プロセスを特定する
- ハイブリッド環境では、オンプレミスとGoogle Cloudの両方でDNS管理を行う必要があります。
- 関係者との連絡を取り、シンプルで一貫した命名規則を作成することで、管理を効率化することができます。
シンプルで一貫した命名規則を作成すること
- 設計においては、シンプルで一貫した命名規則を作成することが重要です。
- これにより、オンプレミスとGoogle CloudでのDNS管理を統一することができます。
DNS解決を実行する場所を選択する
- ハイブリッド環境では、DNS解決をCloud DNSとオンプレミスDNSのどちらで行うかを検討する必要があります。
- それぞれのメリットとデメリットを比較して、最適な方法を選択しましょう。
なお、このベストプラクティスは、あくまでも一般的なガイドラインです。
具体的な環境やニーズに合わせて、適宜調整して使用してください。
まとめ
本日は下記3点について説明しました。
- Cloud Armor
- Cloud CDN
- Cloud DNS
今回説明した3つの項目は、模擬試験でいうと、問題8と9、10で出題されている内容からピックアップしています。Cloud ArmorやCloud DNSは、実際のシステム構築でよく使用されるサービスなので、しっかりと理解しておきましょう。
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!