署名の自動更新
Web アプリケーションファイアウォールの Signature Auto Update 機能を使用すると、ユーザーは最新のシグニチャを取得して、新しい脆弱性から Web アプリケーションを保護できます。自動更新機能は、最新の更新プログラムを取得するための継続的な手動介入を必要とせずに、より優れた保護を提供します。
シグニチャは 1 時間ごとに自動更新され、最新の更新の可用性を定期的にチェックする必要はありません。署名自動更新を有効にすると、Citrix ADCアプライアンスは署名をホストしているサーバーに接続して、新しいバージョンが利用可能かどうかを確認します。
カスタマイズ可能な場所
最新のアプリケーションファイアウォールのシグニチャは Amazon でホストされ、最新のアップデートをチェックするためのデフォルトの署名 URL として設定されています。
ただし、ユーザは、これらのシグニチャマッピングファイルを内部サーバにダウンロードするオプションがあります。その後、ユーザーは別のシグニチャ URL パスを設定して、ローカルサーバからシグニチャマッピングファイルをダウンロードできます。自動更新機能を機能させるには、外部サイトにアクセスするように DNS サーバーを構成する必要があります。
署名の更新
appfw デフォルトシグニチャオブジェクトを使用して作成されたすべてのユーザー定義シグニチャオブジェクトのバージョンが 0 より大きい。シグニチャ自動更新を有効にすると、すべてのシグニチャが自動的に更新されます。
ユーザが Cenzic や Qualys などの外部フォーマットでシグニチャをインポートした場合、シグニチャはバージョンをゼロとしてインポートします。同様に、ユーザーが空のテンプレートを使用して署名オブジェクトを作成した場合は、ゼロバージョンの署名として作成されます。これらのシグニチャは自動的には更新されません。これは、使用されていないデフォルトシグニチャを管理するオーバーヘッドにユーザーが関心がない場合があるためです。
ただし、Web アプリケーションファイアウォールでは、これらのシグニチャを手動で選択して更新して、既存のルールにデフォルトのシグニチャルールを追加することもできます。シグニチャを手動で更新すると、バージョンが変更され、シグニチャは他のシグニチャとともに自動的に更新されます。
シグニチャ自動更新を構成する
CLI を使用してシグニチャ自動更新機能を設定するには、次の手順を実行します。
コマンドプロンプトで入力します。
set appfw settings SignatureAutoUpdate on
set appfw settings SignatureUrl https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml
<!--NeedCopy-->
GUI を使用してシグニチャ自動更新を設定するには、次の手順を実行します。
- Security > NetScaler Web App Firewall > Signaturesに移動します。
- 「 アクション 」から「 設定を自動更新」を選択します。
- [ シグニチャの自動更新 ] オプションを有効にします。
- 必要に応じて、シグニチャ更新 URL のカスタマイズされたパスを指定できます。[ リセット ] をクリックして、デフォルトの
s3.amazonaws.com server
にリセットします。 - [OK] をクリックします。
シグニチャを手動で更新する
ゼロバージョンシグニチャまたはその他のユーザ定義シグニチャを手動で更新するには、まずデフォルトシグニチャの最新のアップデートを取得し、これを使用してターゲットユーザ定義シグニチャを更新する必要があります。
CLI から次のコマンドを実行して、シグニチャファイルを更新します。
update appfw signatures "*Default Signatures"
update appfw signatures cenzic –mergedefault
<!--NeedCopy-->
注:
Default Signatures
大文字と小文字は区別されます。前のコマンドの Cenzic は、更新されるシグニチャファイルの名前です。
インターネットにアクセスせずにデフォルトの署名をインポートする
最新のアップデートを入手するには、Amazon (AWS) サーバーを指すようにプロキシサーバーを設定することをお勧めします。ただし、NetScaler アプライアンスに外部サイトへのインターネット接続がない場合、ユーザーは更新された署名ファイルをローカルサーバーに保存できます。その後、アプライアンスはローカルサーバからシグニチャをダウンロードできます。このシナリオでは、 ユーザーは常にAmazonサイトをチェックして 、最新のアップデートを入手する必要があります。 Citrix 公開キーを使用して改ざんから保護して作成された対応するsha1ファイルに対して 、署名ファイルをダウンロードして検証できます。
Signatures ファイルをローカルサーバにコピーするには、次の手順を実行します。
-
<MySignatures>
などのローカルディレクトリを、ローカルサーバー上に作成します。 - AWS サイトを開きます。
-
SignaturesMapping.xml
ファイルを<MySignatures>
フォルダにコピーします。
SignaturesMapping.xml
ファイルを開くと、シグネチャ用のすべての xml ファイルと、サポートされているさまざまなバージョンの対応する sha1 ファイルが表示されます。次のスクリーンショットでは、そのようなペアの 1 つが強調表示されています。
-
<MySignatures>
フォルダにサブディレクトリ<sigs>
を作成します。 -
*.xml.sha1
ファイルの対応する*.xml files listed in the <file>
タグにリストされている<sha1>
タグとSignaturesMapping.xml
ファイルのすべてのペアを<sigs>
フォルダにコピーします。次に、<sigs>
フォルダにコピーされるサンプルファイルをいくつか示します。
https://s3.amazonaws.com/NSAppFwSignatures/sigs/sig-r10.1b86v3s3.xml
https://s3.amazonaws.com/NSAppFwSignatures/sigs/sig-r10.1b86v3s3.xml.sha1
https://s3.amazonaws.com/NSAppFwSignatures/sigs/sig-r10.1b0v3s2.xml
https://s3.amazonaws.com/NSAppFwSignatures/sigs/sig-r10.1b0v3s2.xml.sha1
注:
<MySignatures>
フォルダには任意の名前を付けて、任意の場所に置くことができます。ただし、サブディレクトリ<sigs>
は、 マッピングファイルがコピーされる<MySignatures>
フォルダ内のサブディレクトリである必要があります。また、SignaturesMapping.xml に示すように、サブディレクトリ名<sigs>
は正確な名前で、大文字と小文字が区別されていることを確認してください。すべてのシグネチャファイルとそれに対応する sha1 ファイルは、この<sigs>
ディレクトリの下にコピーする必要があります。
ホストされているAmazon webサーバーからローカルサーバーにコンテンツをミラーリングした後、新しいローカルウェブサーバーへのパスを変更して、自動更新用の SignatureUrl に設定します。たとえば、アプライアンスのコマンドラインインターフェイスから次のコマンドを実行します。
set appfw settings SignatureUrl https://myserver.example.net/MySignatures/SignaturesMapping.xml
<!--NeedCopy-->
更新するシグニチャの数によっては、更新処理に数分かかる場合があります。更新操作が完了するまでに十分な時間を確保してください。
エラーに直面した場合「URLにアクセス中にエラーが発生しました!」設定中に、手順に従って解決してください。
- コンテンツセキュリティポリシー (CSP) セキュリティが URLアクセスをブロックしないように、URL
https://myserver.example.net
を/netscaler/ns_gui/admin_ui/php/application/controllers/common/utils.php
に追加します。 これらの設定はアップグレードでは保持されないことに注意してください。ユーザーはアップグレード後に再度追加する必要があります。
$configuration_view_connect_src = "connect-src 'self' https://app.pendo.io https://s3.amazonaws.comhttps://myserver.example.net;";
<!--NeedCopy-->
- ユーザは、
https://myserver.example.net/MySignatures/SignaturesMapping.xml
の次の CORSヘッダーに応答するように Web サーバhttps://myserver.example.net
を設定する必要があります。
Access-Control-Allow-Methods: GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 3000
<!--NeedCopy-->
シグニチャを更新するためのガイドライン
シグニチャの更新時には、次のガイドラインが使用されます。
- シグニチャ更新の URL に同じバージョンまたは新しいバージョンの署名オブジェクトが含まれていると、シグニチャが更新されます。
- 各シグニチャルールは、ルール ID とバージョン番号に関連付けられます。たとえば、次のようになります:
<SignatureRule id="803" version="16" …>
- 既存のものと同じ ID およびバージョン番号を持つ着信シグニチャファイルのシグニチャルールは、パターンやログ文字列が異なる場合でも無視されます。
-
新しい ID を持つシグニチャルールが追加されます。すべてのアクションと enabled フラグが新しいファイルから使用されます。
注:
更新されたシグニチャを定期的に確認して、新しく追加されたルールを有効にし、アプリケーションの要件に従って他のアクション設定を変更する必要があります。
- 同じ ID を持つが、新しいバージョン番号を持つルールは、既存のルールを置き換えます。既存のルールからのすべてのアクションと有効フラグが保持されます。
ヒント:
CLI からシグニチャを更新する場合は、まずデフォルトシグニチャを更新する必要があります。次に、デフォルトシグニチャに基づく各カスタムシグニチャファイルを更新するには、update コマンドを追加する必要があります。最初にデフォルトシグニチャを更新しないと、バージョンの不一致エラーによってカスタムシグニチャファイルの更新が防止されます。
新しい署名を自動有効にする
リリース 13.1 buid 27.x 以降では、[ Auto Enable New Signatures ] を選択して、新しい WAF シグネチャのデフォルトルールを更新後に自動的に有効にできます。
GUI を使用して新しい署名を自動有効にする
- Security > NetScaler Web App Firewall > Signaturesに移動します。
- 署名を選択し、[ 編集] をクリックします。
-
[ 新しい署名を自動有効にする] を選択します。
CLI を使用して新しい署名を自動有効にする
コマンドプロンプトで入力します。
import appfw signatures <src> <name> [-xslt <string>] [-comment <string>] [-overwrite] [-merge [-preservedefactions]] [-sha1 <string>] [-VendorType Snort] [-autoEnableNewSignatures ( ON | OFF )]
例:
import signatures http://www.example.com/ns/signatures.xml my-signature -autoEnableNewSignatures ON