AWS に NetScaler Web App Firewall を展開する
AWS 上の NetScaler Web App Firewall の本番展開用アーキテクチャ
-
このアーキテクチャは、AWS CloudFormation テンプレートの使用を前提としています。
-
AWS のベストプラクティスに従って、2 つのパブリックサブネットと 4 つのプライベートサブネットで構成された、2 つのアベイラビリティゾーンにまたがる VPC。これにより、/16 のクラスレスドメイン間ルーティング (CIDR) ブロック (65,536 個のプライベート IP アドレスを持つネットワーク) を持つ独自の仮想ネットワークが AWS 上に提供されます。
-
NetScaler Web App Firewall の 2 つのインスタンス (プライマリとセカンダリ) が、それぞれのアベイラビリティゾーンに 1 つずつ配置されます。
-
各ネットワークインターフェイス (管理、クライアント、サーバー) に 1 つずつ、関連するインスタンスのトラフィックを制御する仮想ファイアウォールとして機能する3 つのセキュリティグループ。
-
各インスタンスに3 つのサブネット - 管理用、クライアント用、バックエンドサーバー用。
-
VPC にアタッチされたインターネットゲートウェイと、インターネットへのアクセスを許可するためにパブリックサブネットに関連付けられたパブリックサブネットルートテーブル。このゲートウェイは、Web App Firewall ホストがトラフィックを送受信するために使用されます。インターネットゲートウェイの詳細については、「インターネットゲートウェイ」を参照してください。
-
5 つのルートテーブル - プライマリおよびセカンダリ Web App Firewall の両方のクライアントサブネットに関連付けられた 1 つのパブリックルートテーブル。残りの 4 つのルートテーブルは、4 つのプライベートサブネット (プライマリおよびセカンダリ Web App Firewall の管理サブネットとサーバー側サブネット) のそれぞれにリンクします。
-
Web App Firewall の AWS Lambda は、次の処理を行います。
-
HAモードの各アベイラビリティゾーンに2つのWeb App Firewallを設定する
-
サンプルのWeb App Firewallプロファイルを作成し、Web App Firewallに関するこの設定をプッシュする
-
-
ユーザーがAWSサービスとリソースへのアクセスを安全に制御するためのAWS Identity and Access Management (IAM)。デフォルトでは、CloudFormationテンプレート (CFT) が必要なIAMロールを作成します。ただし、ユーザーはNetScaler ADCインスタンスに独自のIAMロールを提供できます。
-
パブリックサブネットでは、パブリックサブネット内のリソースのアウトバウンドインターネットアクセスを許可するために、2つのマネージドネットワークアドレス変換 (NAT) ゲートウェイを使用します。
コストとライセンス
-
ライセンスモデル: 従量課金制 (PAYG、本番ライセンスの場合) またはBring Your Own License (BYOL、顧客ライセンスAMI - Citrix ADC Pooled Capacityの場合)。Citrix ADC Pooled Capacityの詳細については、Citrix ADC Pooled Capacityを参照してください。
-
BYOLには、3つのライセンスモードがあります。
-
NetScaler Pooled Capacity の構成: (/ja-jp/citrix-application-delivery-management-software/current-release/license-server/adc-pooled-capacity/configuring-adc-pooled-capacity.html#configure-citrix-adm-as-a-license-server)
-
NetScaler VPX チェックインおよびチェックアウトライセンス (CICO): (/ja-jp/citrix-application-delivery-management-software/current-release/license-server/adc-vpx-check-in-check-out)
ヒント:ユーザーがVPX-200、VPX-1000、VPX-3000、VPX-5000、またはVPX-8000アプリケーションプラットフォームタイプでCICOライセンスを選択した場合、NetScaler Consoleライセンスサーバーに同じスループットライセンスが存在することを確認する必要があります。-
NetScaler 仮想 CPU ライセンス: (/ja-jp/citrix-application-delivery-management-software/13/license-server/adc-virtual-cpu-licensing.html)
-
-
-
スループット: 200 Mbps または 1 Gbps
-
バンドル: Premium
展開オプション
-
最初のオプションは、クイックスタートガイド形式と以下のオプションを使用して展開することです。
-
NetScaler Web App Firewall を新しい VPC に展開する (エンドツーエンド展開)。このオプションは、VPC、サブネット、セキュリティグループ、その他のインフラストラクチャコンポーネントからなる新しいAWS環境を構築し、その新しいVPCにNetScaler Web App Firewallを展開します。
-
NetScaler Web App Firewall を既存の VPC に展開する。このオプションは、ユーザーの既存のAWSインフラストラクチャにNetScaler Web App Firewall をプロビジョニングします。
-
-
2番目のオプションは、NetScaler Console を使用して Web App Firewall StyleBook を使用して展開することです。
AWS クイックスタート
ステップ1:ユーザーのAWSアカウントにサインインする
-
AWSからAWSのユーザーアカウントに、Amazonアカウントを作成する(必要に応じて)またはAmazonアカウントにサインインするために必要な権限を持つIAM (Identity and Access Management) ユーザーロールを使用してサインインします。
-
ナビゲーションバーのリージョンセレクターを使用して、ユーザーがAWSアベイラビリティゾーン全体に高可用性をデプロイしたいAWSリージョンを選択します。
-
ユーザーのAWSアカウントが正しく設定されていることを確認してください。詳細については、このドキュメントの「技術要件」セクションを参照してください。
ステップ2:NetScaler Web App Firewall AMIをサブスクライブする
-
このデプロイには、AWS MarketplaceのNetScaler Web App Firewall用AMIのサブスクリプションが必要です。
-
ユーザーのAWSアカウントにサインインします。
-
次の表のいずれかのリンクを選択して、NetScaler Web App Firewallの提供ページを開きます。
-
ユーザーが以下のステップ3でNetScaler Web App Firewallをデプロイするためにクイックスタートガイドを起動する際、NetScaler Web App Firewall Imageパラメーターを使用して、AMIサブスクリプションに一致するバンドルとスループットオプションを選択します。以下にAMIオプションと対応するパラメーター設定を示します。VPX AMIインスタンスには、最低2つの仮想CPUと2GBのメモリが必要です。
-
-
AWS マーケットプレイス AMI
-
NetScaler Webアプリケーションファイアウォール (Web App Firewall) - 200 Mbps: Citrix Webアプリケーションファイアウォール (Web App Firewall) - 200 Mbps
-
NetScaler Webアプリケーションファイアウォール (Web App Firewall) - 1000 Mbps: Citrix Webアプリケーションファイアウォール (Web App Firewall) - 1000 Mbps
-
-
AMIページで、サブスクライブを続行を選択します。

-
ソフトウェア使用の利用規約を確認し、規約に同意を選択します。
注:ユーザーは確認ページを受け取り、アカウント所有者にはメール確認が送信されます。詳細なサブスクリプション手順については、AWS Marketplace ドキュメントの「Getting Started」を参照してください: Getting Started。 -
サブスクリプションプロセスが完了したら、それ以上のアクションを行わずに AWS Marketplace を終了します。AWS Marketplace からソフトウェアをプロビジョニングしないでください。ユーザーはクイックスタートガイドを使用して AMI をデプロイします。
ステップ 3: AWS クイックスタートを起動する
-
ユーザーの AWS アカウントにサインインし、次のいずれかのオプションを選択して AWS CloudFormation テンプレートを起動します。オプションの選択については、このガイドの前のデプロイオプションを参照してください。
-
AWS 上の新しい VPC に NetScaler VPX をデプロイするには、ここにある AWS CloudFormation テンプレートのいずれかを使用します。
-
-
各デプロイには約15分かかります。
-
ナビゲーションバーの右上隅に表示されているAWSリージョンを確認し、必要に応じて変更します。ここにCitrix Web App Firewallのネットワークインフラストラクチャが構築されます。テンプレートはデフォルトで米国東部 (オハイオ) リージョンで起動されます。
-
「テンプレートの選択」ページで、テンプレートURLのデフォルト設定を維持し、「次へ」を選択します。
-
「詳細の指定」ページで、ユーザーの都合に合わせてスタック名を指定します。テンプレートのパラメータを確認します。入力が必要なパラメータには値を指定します。その他のすべてのパラメータについては、デフォルト設定を確認し、必要に応じてカスタマイズします。
-
次の表では、パラメータはカテゴリ別にリストされ、デプロイオプションごとに個別に説明されています。
-
新規または既存のVPCにNetScaler Web App Firewallをデプロイするためのパラメータ (デプロイオプション1)
-
ユーザーがパラメータの確認とカスタマイズを終えたら、「次へ」を選択します。
新しいVPCにNetScaler Web App Firewallをデプロイするためのパラメータ
VPCネットワーク構成
| パラメータラベル (名前) | デフォルト | 説明 |
|---|---|---|
| プライマリ可用性ゾーン (PrimaryAvailabilityZone) | 入力が必要です | プライマリNetScaler Web App Firewallの展開用アベイラビリティゾーン |
| セカンダリアベイラビリティゾーン (SecondaryAvailabilityZone) | 入力が必要です | セカンダリNetScaler Web App Firewallの展開用アベイラビリティゾーン |
| VPC CIDR (VPCCIDR) | 10.0.0.0/16 | VPCのCIDRブロック。x.x.x.x/xの形式の有効なIP CIDR範囲である必要があります。 |
| リモートSSH CIDR IP (管理) (RestrictedSSHCIDR) | 入力が必要です | EC2インスタンスにSSH接続できるIPアドレス範囲 (ポート: 22)。 |
| 例えば、0.0.0.0/0を使用すると、すべてのIPアドレスがSSHまたはRDPを使用してユーザーインスタンスにアクセスできるようになります。注: 本番環境での使用は安全ではないため、ユーザーインスタンスへのアクセスは特定のIPアドレスまたはアドレス範囲のみを許可してください。 | ||
| リモートHTTP CIDR IP (クライアント) (RestrictedWebAppCIDR) | 0.0.0.0/0 | EC2インスタンスにHTTP接続できるIPアドレス範囲 (ポート: 80) |
| リモートHTTP CIDR IP(クライアント) (RestrictedWebAppCIDR) | 0.0.0.0/0 | EC2インスタンスにHTTP接続できるIPアドレス範囲 (ポート: 80) |
| プライマリ管理プライベートサブネットCIDR (PrimaryManagementPrivateSubnetCIDR) | 10.0.1.0/24 | アベイラビリティゾーン1に配置されているプライマリ管理サブネットのCIDRブロック。 |
| プライマリ管理プライベートIP (PrimaryManagementPrivateIP) | — | プライマリ管理サブネットCIDRから、プライマリ管理ENIに割り当てられるプライベートIP (最後のオクテットは5から254の間である必要があります)。 |
| プライマリクライアントパブリックサブネットCIDR (PrimaryClientPublicSubnetCIDR) | 10.0.2.0/24 | アベイラビリティゾーン1に配置されているプライマリクライアントサブネットのCIDRブロック。 |
| プライマリクライアントプライベートIP (PrimaryClientPrivateIP) | — | プライマリクライアントサブネットCIDRから、プライマリクライアントENIに割り当てられるプライベートIP (最後のオクテットは5から254の間である必要があります)。 |
| プライマリサーバープライベートサブネットCIDR (PrimaryServerPrivateSubnetCIDR) | 10.0.3.0/24 | アベイラビリティーゾーン1にあるプライマリサーバーのCIDRブロック。 |
| プライマリサーバープライベートIP (PrimaryServerPrivateIP) | — | プライマリサーバーサブネットCIDRから、プライマリサーバーENIに割り当てられたプライベートIP(最後のオクテットは5から254の間である必要があります)。 |
| セカンダリ管理プライベートサブネットCIDR (SecondaryManagementPrivateSubnetCIDR) | 10.0.4.0/24 | アベイラビリティーゾーン2にあるセカンダリ管理サブネットのCIDRブロック。 |
| セカンダリ管理プライベートIP (SecondaryManagementPrivateIP) | — | セカンダリ管理ENIに割り当てられたプライベートIP(最後のオクテットは5から254の間である必要があります)。セカンダリ管理サブネットCIDRからセカンダリ管理IPが割り当てられます。 |
| セカンダリクライアントパブリックサブネットCIDR (SecondaryClientPublicSubnetCIDR) | 10.0.5.0/24 | アベイラビリティーゾーン2にあるセカンダリクライアントサブネットのCIDRブロック。 |
| セカンダリクライアントプライベートIP (SecondaryClientPrivateIP) | — | セカンダリクライアントENIに割り当てられたプライベートIP(最後のオクテットは5から254の間である必要があります)。セカンダリクライアントサブネットCIDRからセカンダリクライアントIPを割り当てます。 |
| セカンダリサーバープライベートサブネットCIDR (SecondaryServerPrivateSubnetCIDR) | 10.0.6.0/24 | アベイラビリティゾーン2にあるセカンダリサーバーサブネットのCIDRブロック。 |
| セカンダリサーバープライベートIP (SecondaryServerPrivateIP) | — | セカンダリサーバーENIに割り当てられたプライベートIP(最後のオクテットは5から254の間である必要があります)。セカンダリサーバーサブネットCIDRからセカンダリサーバーIPを割り当てます。 |
VPCテナンシー属性 (VPCTenancy) |
デフォルト | VPCに起動されるインスタンスの許可されるテナンシー。単一の顧客専用のEC2インスタンスを起動するには、専用テナンシーを選択します。 |
踏み台ホストの設定
| パラメータラベル (名前) | デフォルト | 説明 |
|---|---|---|
| 踏み台ホストが必要 (LinuxBastionHostEIP) | いいえ | デフォルトでは、踏み台ホストは設定されません。ただし、ユーザーがサンドボックス展開を選択したい場合は、メニューからはいを選択してください。これにより、パブリックサブネットにEIPを持つLinux踏み台ホストが展開され、ユーザーはプライベートおよびパブリックサブネット内のコンポーネントにアクセスできるようになります。 |
NetScaler Web App Firewall の構成
| パラメータラベル (名前) | デフォルト | 説明 |
|---|---|---|
| キーペア名 (KeyPairName) | 入力が必要です | ユーザーインスタンスの起動後に、ユーザーが安全に接続できるようにする公開/秘密キーペア。これは、ユーザーが希望するAWSリージョンで作成したキーペアです。技術要件のセクションを参照してください。 |
| NetScaler インスタンスタイプ (CitrixADCInstanceType) | m4.xlarge | ADCインスタンスに使用するEC2インスタンスタイプ。選択したインスタンスタイプがAWSマーケットプレイスで利用可能なインスタンスタイプと一致していることを確認してください。そうでない場合、CFTが失敗する可能性があります。 |
| NetScaler ADC AMI ID (CitrixADCImageID) | — | NetScaler Web App Firewall の展開に使用する AWS Marketplace AMI。これは、ユーザーがステップ 2 でサブスクライブした AMI と一致する必要があります。 |
NetScaler ADC VPX IAM ロール (iam:GetRole) |
— | このテンプレート: AWS-Quickstart/Quickstart-Citrix-ADC-VPX/Templates は、NetScaler VPX に必要な IAM ロールとインスタンスプロファイルを作成します。空のままにした場合、CFT が必要な IAM ロールを作成します。 |
| クライアントパブリック IP (EIP) (ClientPublicEIP) | いいえ | ユーザーがパブリック EIP をユーザークライアントネットワークインターフェイスに割り当てたい場合は、「はい」を選択します。そうでない場合でも、展開後、必要に応じて後で割り当てるオプションがあります。 |
プールライセンス構成
| パラメータラベル (名前) | デフォルト | 説明 |
|---|---|---|
| NetScaler Console プールライセンス | いいえ | ライセンスに BYOL オプションを選択する場合は、リストから「はい」を選択します。これにより、ユーザーはすでに購入済みのライセンスをアップロードできます。開始する前に、NetScaler Console のプールライセンスが利用可能であることを確認するために、NetScaler ADC プール容量を構成する必要があります。詳細については、NetScaler プール容量の構成 を参照してください。 |
| 到達可能なNetScaler コンソール / NetScaler コンソールエージェント IP | 入力が必要です | 「顧客ライセンス」オプションの場合、ユーザーがNetScaler Consoleをオンプレミスに展開するか、クラウドにエージェントを展開するかにかかわらず、到達可能なNetScaler Console IPがあることを確認してください。これは入力パラメータとして使用されます。 |
| ライセンスモード | オプション | ユーザーは次の3つのライセンスモードから選択できます:* NetScalerプール容量を構成します。詳細については、Citrix ADCプール容量の構成を参照してください。* NetScaler VPXチェックイン/チェックアウトライセンス (CICO)。詳細については、Citrix ADC VPXチェックイン/チェックアウトライセンスを参照してください。* NetScaler仮想CPUライセンス。詳細については、Citrix ADC仮想CPUライセンスを参照してください。 |
| ライセンス帯域幅 (Mbps) | 0 エムビーピーエス | ライセンスモードがプールライセンスの場合にのみ、このフィールドが関連します。BYOL ADCが作成された後、割り当てられるライセンスの初期帯域幅(Mbps単位)を割り当てます。10 Mbpsの倍数である必要があります。 |
| ライセンスエディション | プレミアム | プールキャパシティライセンスモードのライセンスエディションはPremiumです。 |
| アプライアンスプラットフォームタイプ | オプション | ユーザーがCICOライセンスモードを選択した場合にのみ、必要なアプライアンスプラットフォームタイプを選択してください。ユーザーには、VPX-200、VPX-1000、VPX-3000、VPX-5000、VPX-8000のオプションが提示されます。 |
| ライセンスエディション | プレミアム | vCPUベースのライセンスのライセンスエディションはPremiumです。 |
AWS Quick Start の設定
| パラメータラベル (名前) | デフォルト | 説明 |
|---|---|---|
| Quick Start ガイド S3 バケット名 (QSS3BucketName) | aws-quickstart |
ユーザーがQuick Start ガイドのアセットのコピー用に作成したS3バケット。ユーザーがQuick Start ガイドをカスタマイズまたは拡張して使用する場合に適用されます。バケット名には、数字、小文字、大文字、ハイフンを含めることができますが、ハイフンで開始または終了することはできません。 |
| Quick Start ガイド S3 キープレフィックス (QSS3KeyPrefix) | quickstart-citrix-adc-vpx/ | Object Key and Metadata: Object Key and Metadata からのS3キー名プレフィックスは、ユーザーがQuick Start ガイドをカスタマイズまたは拡張して使用する場合に、Quick Start ガイドアセットのユーザーコピー用のフォルダをシミュレートするために使用されます。このプレフィックスには、数字、小文字、大文字、ハイフン、スラッシュを含めることができます。 |
-
「オプション」ページで、ユーザーはスタック内のリソースに対してリソースタグまたはキーと値のペアを指定し、詳細オプションを設定できます。リソースタグの詳細については、リソースタグを参照してください。AWS CloudFormationスタックオプションの設定の詳細については、AWS CloudFormationスタックオプションの設定を参照してください。完了したら、「次へ」を選択します。
-
レビューページで、テンプレート設定を確認します。機能の下で、テンプレートがIAMリソースを作成すること、およびマクロを自動拡張する機能が必要になる場合があることを確認する2つのチェックボックスをオンにします。
-
作成を選択してスタックをデプロイします。
-
スタックのステータスを監視します。ステータスがCREATE_COMPLETEになったら、NetScaler Web App Firewallインスタンスの準備が完了です。
-
スタックの出力タブに表示されるURLを使用して、作成されたリソースを表示します。
ステップ 4: デプロイのテスト
-
NetScaler Web App Firewallは、IPセットがアタッチされている仮想サーバーをチェックします。
-
NetScaler Web App Firewallは、仮想サーバーがリッスンしている2つのIPアドレス(仮想サーバーに直接アタッチされているものと、IPセットを介してアタッチされているもの)の中から、関連付けられたパブリックIPアドレスを持つIPアドレスを見つけます。
-
NetScaler Web App Firewallは、パブリックElastic IPアドレスを、新しいプライマリ仮想IPアドレスに属するプライベートIPアドレスに再関連付けします。
-
プライマリインスタンスに接続します
-
トリガーアクションを実行してフェイルオーバーを強制し、セカンダリインスタンスが引き継ぐかどうかを確認します。
Sh appfw profile QS-Profile
踏み台ホストを使用してNetScaler Web App Firewall HAペアに接続する
-
PrivateManagementPrivateNSIPとPrimaryADCInstanceIDキーの値は、後でADCにSSH接続するために使用します。
-
Servicesを選択します。
-
Computeタブで、EC2を選択します。
-
Resourcesの下で、Running Instancesを選択します。
-
プライマリWebアプリケーションファイアウォールインスタンスのDescriptionタブで、IPv4 public IPアドレスをメモします。ユーザーはそのIPアドレスを使用してSSHコマンドを構築する必要があります。
-
-
キーをユーザーのキーチェーンに保存するには、コマンド
ssh-add -K [your-key-pair].pemを実行します。
-
ステップ1でメモしたLinuxBastionHostEIP1の値を使用して、以下のコマンドで踏み台ホストにログインします。
ssh -A ubuntu@[LinuxBastionHostEIP1]
-
踏み台ホストから、ユーザーはSSHを使用してプライマリWebアプリケーションファイアウォールインスタンスに接続できます。
ssh nsroot@[Primary Management Private NSIP]
NetScaler コンソール
NetScaler Consoleを使用してAWSにNetScaler VPXインスタンスを展開する
NetScaler ウェブアプリファイアウォールと OWASP Top 10 – 2017
-
ネガティブセキュリティモデル: ネガティブセキュリティモデルでは、ユーザーは豊富な事前設定されたシグネチャルールを使用して、パターンマッチングの力を適用し、攻撃を検出し、アプリケーションの脆弱性から保護します。ユーザーは不要なものだけをブロックし、残りを許可します。ユーザーは、アプリケーションの特定のセキュリティニーズに基づいて独自のシグネチャルールを追加し、独自のカスタマイズされたセキュリティソリューションを設計できます。
-
ハイブリッドセキュリティモデル: シグネチャの使用に加えて、ユーザーはポジティブセキュリティチェックを使用して、ユーザーアプリケーションに理想的に適した構成を作成できます。ユーザーが望まないものをブロックするためにシグネチャを使用し、許可されているものを強制するためにポジティブセキュリティチェックを使用します。
NetScaler Webアプリケーションファイアウォール
Web App Firewallの展開戦略
NetScaler コンソール
NetScaler コンソール アプリケーション分析および管理機能
前提条件
制限事項と使用ガイドライン
技術要件
リソース
| リソース | この展開で使用されるもの |
|---|---|
| VPC | 1 |
| Elastic IP アドレス | 0/1 (踏み台ホスト用) |
| IAM セキュリティグループ | 3 |
| IAM ロール | 1 |
| サブネット | 6 (3/アベイラビリティゾーン) |
| インターネットゲートウェイ | 1 |
| ルートテーブル | 5 |
| Web App Firewall VPX インスタンス | 2 |
| Bastionホスト | 0/1 |
| NATゲートウェイ | 2 |