Citrix ADC

Citrix Gatewayのレ,ト制限

Citrix网关のレート制限機能を使用すると,Citrix网关アプライアンス上の特定のネットワークエンティティまたは仮想エンティティの最大負荷を定義できます。Citrix网关アプライアンスはすべての非認証トラフィックを消費するため,アプライアンスは多くの場合,高いレートでプロセス要求にさらされます。レ,ト制限機能を使用すると、エンティティに関連付けられたトラフィックのレートを監視し、トラフィックレートに基づいてリアルタイムで予防措置を実行するようにCitrix Gatewayアプライアンスを設定できます。Citrix ADCアプライアンスでのレート制限の仕組みの詳細については、「レ,ト制限を参照してください。

Citrix ADCには,予期しない速度でバックエンドサ,バ,を保護するレ,ト制限機能があります。Citrix ADCの機能はCitrix Gateway が処理する認証されていないトラフィックを処理しなかったため、Citrix Gateway には独自のレート制限機能が必要でした。これは、Citrix Gateway アプライアンスが公開されているさまざまなソースからの予期しない要求率をチェックするために必要です。たとえば、認証されていない/ログイン/制御要求や、エンドユーザーまたはデバイスの検証のために公開される特定の API。

レ,ト制限の一般的なユ,スケ,ス

  • Urlからの1秒あたりのリクエスト数を制限します。

  • リクエストがレート制限を超えた場合,特定のホストからのリクエストで受信した饼干に基づいて接続をドロップします。

  • 同じホスト(特定のサブネットマスク)から到着し,同じ宛先IPアドレスを持つHTTP要求の数を制限します。

Citrix Gatewayのレ,ト制限を構成する

前提条件

設定済みの認証仮想サバ。

注意事項

  • 設定手順では,サンプルの制限idが設定されます。ストリームセレクタ,モードなどのサポートされているすべてのパラメータで同じように設定することができます。レト制限機能の完全な説明にいては,レ,ト制限を参照してください

  • このポリシは,次のようにVPN仮想サバにバンドすることもできます。次のコマンドを使用してポリシをバンドするには,設定されたVPN仮想サバが必要です。

    绑定VPN vserver -policy denylogin -pri 1 -type aaa_request 
  • Aaa_requestは,レスポンダポリシ用に新しく導入されたバンドポントです。このバインドポイントで構成されたポリシーは,指定された仮想サーバーのすべての着信要求に適用されます。ポリシ,は,他の処理の前に最初に非認証/制御トラフィックに対して処理されます。

  • ポリシーをCitrix网关仮想サーバーにバインドすると,認証されていない要求を含む,Citrix网关によって消費されるすべてのトラフィックのAAA_REQUESTバインドポイントでレート制限が有効になります。

  • ポリシーを認証仮想サーバレートにバインドすると,認証仮想サーバにヒットする非認証/制御要求が制限されます。

コマンドラインインターフェイスを使用してレート制限を構成するには,コマンドプロンプトで次のコマンドを入力します。

add limitIdentifier  -threshold  - timesslice  -mode  

例:

添加限时限位符limit_one_login -threshold 10 - time片4294967290 -mode REQUEST_RATE 
add responderaction denylogin respondwith ' " HTTP/1.1 200 OK\r\n\r\n " + "请求被拒绝,由于不寻常的速率" ' 
添加响应器策略denylogin ` sys.check_limit("limit_one_login") ` denylogin 
绑定认证vserver  -policy denylogin -pri 1 -type aaa_request 

例:

绑定认证vserver authvserver -policy denylogin -pri 1 -type aaa_request 

パラメ,タの説明

  • limitIdentifier:レ,ト制限識別子の名前。ASCII文字またはアンダースコア(_)文字で始まり,ASCII英数字またはアンダースコア文字のみで構成する必要があります。予約語は使用できません。これは必須の議論です。最大長:31

  • 阈值-要求(モードがREQUEST_RATEとして設定されている)がタイムスライスごとに追跡される場合に,指定されたタイムスライスで許可される要求の最大的数。接続(モードが连接として設定されている)が追跡される場合,通過する接続の合計数になります。デフォルト値:1最小値:1最大値:4294967295

  • 时间片,10の倍数で指定された時間間隔(ミリ秒単位)。この間は,要求がしきい値を超えるかどうかをチェックするために追跡されます。引数は,モ,ドがrequest_rateに設定されている場合にのみ必要です。デフォルト値:1000最小値:10最大値:4294967295

  • 模式-追跡するトラフィックのタ@ @プを定義します。

    • request_rate -リクエスト/タ▪▪ムスラ▪▪スを追跡します。
    • connection -アクティブなトランザクションを追跡します。

Citrix ADC GUIを使用してレ,ト制限を構成するには:

  1. AppExpert“>”レ,ト制限“>”制限識別子“の順に選択し,”追加をクリックして,cliセクションで指定されている関連の詳細を指定します。

    制限識別子を作成します

  2. (AppExpert] >[レスポンダ,]>[ポリシ,]に移動します。(レスポンダポリシ]ペ,ジで,[追加]をクリックします。

  3. [レスポンダ,ポリシ,の作成.]ペジで,制限識別子を持レスポンダアクションを含むレスポンダポリシを作成します。

  4. レスポンダ,アクションを作成するには,[アクション]の横にある[**追加]をクリックし,レスポンダ,アクションの名前を入力します。**

  5. ドロップダウンメニュからタプとして応答を選択し,次の式“HTTP / 1.1 200 OK \ r \ n \ r \ n”+“要求は異常なレートのために拒否されました”を指定して,”作成をクリックします。

    レスポンダ,アクションの作成

  6. レスポンダ,ポリシ,を作成するには,[レスポンダ,ポリシ,の作成]ペ,ジで,レスポンダ,ポリシ,の名前を入力し,次の式"Check_limit (" limit_one_login ") "を指定して,[作成]をクリックします。

    レスポンダ,ポリシ,の作成

  7. レスポンダポリシを認証仮想サバにバンドします。

    • (セキュリティ]> [aaaアプリケショントラフィック]>[仮想サバ]に移動します。
    • 仮想サ,バを選択します。
    • ポリシ,を追加します。
    • サバにバンドするレスポンダポリシを選択し,優先度を設定します。
    • タ@ @プとしてAAA-REQUESTを選択し,[続行]をクリックします。

    ポリシをバンドする

注:VPN仮想サーバのAAA_REQUESTバインドポイントでレート制限を有効にすることもできます。

Citrix Gatewayにレ,ト制限を適用するための一般的なユ,スケ,スの構成

次に,一般的なユ,スケ,スを設定するコマンドの例を示します。

  • Urlからの1秒あたりのリクエスト数を制限します。

    添加流选择器src " add ns limitIdentifier ipLimitIdentifier -threshold 4 -timeslice 1000 -mode request_rate -limitType smooth -selectorName ip StreamSelector add responder policy ipLimitResponderPolicy " http.req.url.contains(\ " myasp.asp\ ") && sys.check_limit(\ " ipLimitIdentifier\ ") " myWebSiteRedirectAction绑定认证虚拟服务器authvserver -policy denylogin -pri 1 -type aaa_request 
  • リクエストがレート制限を超えた場合,www.yourcompany.comからのリクエストで受け取ったクッキーに基づいて接続をドロップします。

    add stream selector cacheStreamSelector " http.req.cookie.value(\ " mycookie\ ") " " client.ip.src.subnet(24) " add ns limitIdentifier myLimitIdentifier -Threshold 2 -timeSlice 3000 -selectorName reqCookieStreamSelector添加响应器动作sendRedirectURL重定向' "http://www.mycompany.com" ' + http.req。url' add responder policy rateLimitCookiePolicy " http.req.url.contains(\www.yourcompany.com) && sys.check_limit(\ " myLimitIdentifier\ ") " sendRedirectUrl 
  • 同じホスト(サブネットマスクが32)から着信し,同じ宛先IPアドレスを持つHTTP要求の数を制限します。

    添加流选择器“CLIENT.IPv6.src.subnet(32)”dst add ns limitIdentifier ipv6_id -imeSlice 20000 -selectorName ipv6_sel add lb vserver ipv6_vip HTTP 3ffe:: 209 80 -persistenceType NONE -cltTime add responder action redirect_page redirect " \ " ' http://redirectpage.com/\ " " ' add responder policy ipv6_resp_pol " SYS.CHECK_LIMIT(\ " ipv6_id\ ") " redirect_page bind responder global ipv6_resp_pol 5 END -type DEFAULT 
Citrix Gatewayのレ,ト制限