Citrix ADC

Vérification de la protection par déni de service JSON

La vérification par déni de service (DoS) JSON检查une demande JSON入口和有效si des données记者caractéristiques d 'une atatque DoS。Si la demande comcomdes violations JSON, l 'appliance bloque la demande, consignles données, envoie une alerte SNMP et affiche également une page d 'erreur JSON。Le but de la vérification de déni de service JSON est d 'empêcher un atquant d 'envoyer une demande JSON pour lancer des attach de déni de service sur vos applications JSON ou votre site Web。

Lorsqu 'un客户请求需求à une appliance Citrix ADC, l ' analyzer JSON分析需求和破坏的用途observée,根据结构的应用禁忌JSON。La contrainte强加une limit de taille à La demande JSON。Par conséquent, si une violation JSON a été observée, l 'appliance贴花une action et répond Par la page d 'erreur JSON。

规则JSON DoS

Lorsque l’appliance reçoit une demande JSON, la protection DOS JSON强加une limit de taille sur paramètres DOS suivants dans la charge实用de la demande。

  1. profondeur maximale:叠瓦maximale (profondeur) du document JSON。Cette vérification protège contre les documents不需要hiérarchie est trop approfondie。
  2. longueur maximale du document JSON。
  3. long gueur maximale du tableau dans l 'un des object JSON。Cette vérification protège contre les réseaux ayant de grande longueurs。
  4. longueur maximale de la chaîne: longueur maximale de la chaîne dans le JSON。Ce chèque protège contre les cordes de grande longueur。
  5. nombre maximum de clés d 'objet: nombre maximum de clés dans l 'un des objets JSON。Cette vérification protège contre les objects important un grand nombre de clés。
  6. longueur maximale de la clé de l 'objet: longueur maximale de la clé dans l 'un des objets JSON。Cette vérification protège contre les objets dotés de grande clés。

Voici une list des règles de déni de service JSON validées lors de l 'analyse JSON。

  1. JSONMaxContainerDepth。Cette vérification peut être activée en configurant la vérification JSONMaxContainerDepth et, par défaut, l 'option est DÉSACTIVÉE。

  2. JSONMaxContainerDepth。Cette vérification peut être activée/désactivée par l '选项可配置JSONMaxContainerDepthCheck et la valeur par défaut peut être modifiée par l '选项JSONMaxContainerDepth。Toutefois, vous pouvez modifier niveaux maximum jusqu ' à une valeur comprise entre 1和127。票面价格défaut: 5,最低票面价格1,最高票面价格127

  3. JSONMaxDocumentLength。Cette vérification peut être activée en configurant la vérification JSONMaxDocumentLength et l 'option par défaut est OFF。

  4. JSONMaxDocumentLength。Cette vérification peut être activée en configurant la vérification JSONMaxDocumentLength et la longueur par défaut est définie sur 20000000字节。最小值:1,最大值:2147483647

  5. JSONMaxObjectKeyCount。La règle valide si La vérification du nombre maximum de clés d 'objet JSON est activée ou désactivée。Valeurs可能:ON, OFF, Valeur par défaut: OFF

  6. JSONMaxObjectKeyCount。Cette vérification peut être activée en configurant la vérification JSONMaxObjectKeyCount。La vérification protège contre les les qui ' t un nombre de clés et La valeur par défaut est définie sur 1000个八位。最小值:0,最大值:2147483647

  7. JSONMaxObjectKeyLength。Cette vérification peut être activée en configurant la vérification JSONMaxObjectKeyLength。La règle valide si La vérification de La longueur maximale de La clé d 'objet JSON est activée ou désactivée。Par défaut, il est désactivé。

  8. JSONMaxObjectKeyLength。La vérification protège contre les objets ayant une grande longueur de clé。价格défaut: 128。最小值:1,最大值:2147483647

  9. JSONMaxArrayLength。La règle valide si La vérification de La longueur maximale du tableau JSON est activée ou désactivée。Par défaut, il est désactivé。

  10. JSONMaxArrayLength。La vérification protège contre les baies de grande longueurs。Par défaut, la valeur est définie sur 10000。最小值:1,最大值:2147483647

  11. JSONMaxStringLength。Cette vérification peut être activée en configurant la vérification JSONMaxStringLength。La vérification valide si La longueur maximale de La chaîne JSON est ON ou OFF。Par défaut, il est désactivé。

  12. JSONMaxStringLength。Le carreau protège contre les cordes de grande longueur。Par défaut, il est défini sur 100万。最小值:1,最大值:2147483647

配置contrôle de保护JSON DoS

倾泻配置器保护DoS JSON, vous devez effectuer les étapes suivantes:

  1. Ajoutez un profile de pare-feu d 'application pour JSON。
  2. Définissez le profile de pare-feu d 'application pour les paramètres DoS JSON。
  3. 配置变量DoS JSON应用程序配置文件。

Ajouter un profile de pere -feu d 'application pour la保护JSON DoS

Vous devez d 'abord créer un profile qui spécifie comment le pare-feu d 'application doit protéger votre contenu Web JSON控制攻击DoS JSON。À l’invite de commandes, tapez:

添加appfw profile -type (HTML | XML | JSON)

标记

Lorsque vous définissez le type de profile sur JSON, les autres vérifications telles que HTML ou XML ne s’appliquent pas。

为例

add appfw profile profile1 -type JSON

Définition du profile de pare-feu d 'application pour la保护JSON DoS

Vous devez配置器配置文件pour une ou plusieurs actions de déni de service JSON et objet d 'erreur de déni de service JSON à définir sur de pare-feu d 'application配置文件。À l’invite de commandes, tapez:

set appfw profile -JSONDoSAction [block] | [log] | [stats] | [none]

Bloquer: bloquez les connections qui ne respectpas ce contrôle de sécurité。期刊-寄售人的违规行为vérification de sécurité。统计- Générez des statistics pour cette vérification de sécurité。Aucun: désactivez吹捧les actions pour ce contrôle de sécurité。

标记

Pour activer une ou plusieurs actions, tapez«set appfw profile -JsondosAction»suivi des actions à activer。

为例

set appfw profile profile1 -JSONDoSAction block日志stat

配置变量是应用程序的配置文件

Pour fournir une protection DoS JSON, vous devez lier le profile de pare-feu应用aux paramètres de déni de service JSON。À l’invite de commandes, tapez:

绑定appfw概要文件<名称> -JSONDoSURL <表达式> [-JSONMaxContainerDepthCheck (|) [-JSONMaxContainerDepth < positive_integer >]] [-JSONMaxDocumentLengthCheck (|) [-JSONMaxDocumentLength < positive_integer >]] [-JSONMaxObjectKeyCountCheck (|) [-SONMaxObjectKeyCount < positive_integer >]] [-JSONMaxObjectKeyLengthCheck (|) [-JSONMaxObjectKeyLength < positive_integer >]] [-JSONMaxArrayLengthCheck (|) [-JSONMaxArrayLength < positive_integer >]]-JSONMaxStringLengthCheck (ON | OFF) [-JSONMaxStringLength ]]

为例

绑定appfw profile profile profile profile*“-JSONMaxContainerDepthCheck

标记

Les vérifications de déni de服务JSON是适用于单一类型的概要sélectionné en tant JSON。在极端,lesql, lescripts intersite, leformat de champ et les signature de champ de formulaire sont appliqués aux paramètres de requête dans les cas de profile JSON。

输入JSON

我需要你进一间小旅馆,以便你的要求和信件的表达。Pour ce faire, vous devez importer la page d 'erreur JSON。À l’invite de commandes, tapez:

导入appfw jsonerrorpage [-comment ] [-overwrite]

欧,

src。URL (protocole, hôte, chemin et nom) de l 'emplacement où stocker l 'objet d 'erreur JSON importé。

标记

L ' import échoue si L 'objet à importer se trouve sur un server HTTPS qui nécessite une认证par证书客户端倾倒y accéder。这是义不容辞的争论。朗格maximale: 2047。

Nom. Nom à attribuer à l 'objet d 'erreur JSON sur Citrix ADC。这是义不容辞的争论。31个评论。Tout commentaire destiné à保存信息亲戚à l 'objet d 'erreur JSON。Longueur maximale: 255 écrasements。Remplacez tout objet d 'erreur JSON存在du même nom。

比如de配置

添加appfw prof profjson -type JSON绑定appfw prof profjson -JSONDoSURL”。*” -JSONMaxDocumentLengthCheck ON -JSONMaxDocumentLength 30 -JSONMaxContainerDepthCheck ON -JSONMaxContainerDepth 3 JSONMaxObjectKeyCountCheck ON -JSONMaxObjectKeyCount 4 -JSONMaxObjectKeyLengthCheck ON -JSONMaxObjectKeyLength 10 -JSONMaxArrayLengthCheck ON -JSONMaxArrayLength 5 -JSONMaxStringLengthCheck ON -JSONMaxStringLength 30 

收费公用事业,消息,日志和计算机的例子:

JSONMaxDocumentLength违反

JSONMaxDocumentLength: 30载荷:{“a”:“一”,“b”:“b”,“c”:“c”,“d”:“d”,“e”:“e”}

学报留言:

文档长度超过20000000 May 29 20:23:32  10.217.31.243 05/29/2019 19:20:23:32 GMT 0- ppe -0: default APPFW APPFW_JSON_DOS_MAX_DOCUMENT_LENGTH 136 0: 10.217.32.134 114-PPE0 - profjson http://10.217.30.120/forms/login.html文档超过最大文档长度(30)。cn1=30467 cn2=115 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked 

Compteurs:

1 0 6 as_viol_json_dos 2 0 3 as_viol_json_dos_max_document_length 3 0 6 as_log_json_doson_dos_max_document_length 5 0 6 as_viol_json_dos_profile appfw__(profile1) 6 0 3 as_viol_json_dos_max_document_length_profile appfw__(profile1) 8 0 3 as_log_json_doson_doc_length_profile appfw__(profile1) 

JSONMaxContainerDepth违反

JSONMaxContainerDepth: 3载荷:{“a”:{" b ": {" c ": {" d ": {" e ": " f "}}}}}

学报留言:

5月29 19:33:59  10.217.31.243 05/29/2019 19:19:33:59 GMT 0- ppe -1: default APPFW APPFW_JSON_DOS_MAX_CONTAINER_DEPTH 4626 0: 10.217.31.247 22-PPE1 - profjson http://10.217.30.120/forms/login.html Document at offset (15) exceeds maximum container depth (3). cn1=30466 cn2=113 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked 

Compteurs:

36 20999 7 1 0 as_viol_json_dos 37 0 6 1 0 as_viol_json_dos_max_container_depth 38 7 1 0 as_log_json_dos 39 0 6 0 1 0 as_log_json_dos_max_container_depth 40 0 7 1 0 as_viol_json_dos_profile appfw__ (profile1) 41 0 6 1 0 as_viol_json_dos_max_container_depth_profile appfw__ (profile1) 42 0 7 1 0 as_log_json_dos_profile appfw__ (profile1) 43 1 0 6 0 as_log_json_dos_max_container_depth_profile appfw__ (profile1) < !——NeedCopy >

JSONMaxObjectKeyCount违反

JSONMaxObjectKeyCount: 4

有效载荷:{“a”:“一”,“b”:“b”,“c”:“c”,“d”:“d”,“e”:“e”}

学报留言:

5月30日19:42:41  10.217.31.243 05/30/2019 19:42:41 GMT 0- ppe -1: default APPFW APPFW_JSON_DOS_MAX_OBJECT_KEY_COUNT 457 0: 10.217.32.134 219-PPE1 - profjson http://10.217.30.120/forms/login.html Object at offset (41) that exceeds the maximum key count (4). cn1=30468 cn2=118 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked 

Compteurs:

94 119105 15 1 0 as_viol_json_dos 95 0 4 1 0 as_viol_json_dos_max_object_key_count 96 0 15 1 0 as_log_json_dos 97 0 4 1 0 as_log_json_dos_max_object_key_count 98 0 15 1 0 as_viol_json_dos_profile appfw__ (profile1) 99 0 4 1 0 as_viol_json_dos_max_object_key_count_profile appfw__ (profile1) 100 0 15 1 0 as_log_json_dos_profile appfw__ (profile1) 101 0 4 1 0 as_log_json_dos_max_object_key_count_profile appfw__ (profile1) < !——NeedCopy >

JSONMaxObjectKeyLength违反

JSONMaxObjectKeyLength: 10载荷:{“a”:“一”,“b1234567890”:“B”,“c”:“c”,“d”:“d”,“e”:“e”}

学报留言:

5月31日20:26:10  10.217.31.243 05/31/2019 19:20:26:10 GMT 0- ppe -1: default APPFW APPFW_JSON_DOS_MAX_OBJECT_KEY_LENGTH 102 0: 10.217.32.134 89-PPE1 - profjson http://10.217.30.120/forms/login.html Object key(b1234567890) at offset (12) exceeds the maximum key length(10)。cn1=30469 cn2=118 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked 

Compteurs:

242172 6 1 0 as_viol_json_dos 0 1 1 0 as_viol_json_dos_max_object_key_length 10 0 5 1 0 as_log_json_dos 11 0 1 1 0 as_log_json_dos_max_object_key_length 12 0 6 0 as_viol_json_dos_profile appfw__ (profile1) 13 0 1 1 0 as_viol_json_dos_max_object_key_length_profile appfw__ (profile1) 14 0 5 1 0 as_log_json_dos_profile appfw__ (profile1) 15 0 1 1 0 as_log_json_dos_max_object_key_length_profile appfw__ (profile1) < !——NeedCopy >

违反JSONMaxArrayLength

JSONMaxArrayLength: 5负载:{“a”:“一”,“c”:[“d”、“e”、“f”,“g”,“h”,“我”),“e”:[“e”,“e”]}

学报留言:

5月29 20:58:39  10.217.31.243 05/29/2019 19:58:39 GMT 0- ppe -1: default APPFW APPFW_JSON_DOS_MAX_ARRAY_LENGTH 4650 0: 10.217.32.134 153-PPE1 -profjson http://10.217.30.120/forms/login.html Array at offset (37) that exceeds the maximum Array length (5). cn1=30469 cn2=120 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked 

Compteurs:

36 182293 10 1 0 as_viol_json_dos 37 0 1 1 0 as_viol_json_dos_max_array_length 38 0 10 1 0 as_log_json_dos 39 0 1 1 0 as_log_json_dos_max_array_length 40 0 10 1 0 as_viol_json_dos_profile appfw__ (profile1) 41 0 1 1 0 as_viol_json_dos_max_array_length_profile appfw__ (profile1) 42 0 10 1 0 as_log_json_dos_profile appfw__ (profile1) 43 0 1 1 0 as_log_json_dos_max_array_length_profile appfw__ (profile1)) < !——NeedCopy >

JSONMaxStringLength违反

JSONMaxStringLength: 10

有效载荷:{“a”:“一”,“c”:“CcCcCcCcCcCcCcCcCc”、“e”:[“e”,“e”]}

学报留言:

May 29 20:05:02  10.217.31.243 05/29/2019 19:20:05:02 GMT 0- ppe -0: default APPFW APPFW_JSON_DOS_MAX_STRING_LENGTH 134 0: 10.217.32.134 80-PPE0 - profjson http://10.217.30.120/forms/login.html String(cccccccccc) at offset (27) that exceeds the maximum String length(10)。n1=30470 cn2=122 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked 

Compteurs:

44 91079 3 1 0 as_viol_json_dos 45 0 1 1 0 as_viol_json_dos_max_string_length 46 0 3 1 0 as_log_json_dos 47 0 1 1 0 as_log_json_dos_max_string_length 48 0 3 1 0 as_viol_json_dos_profile appfw__ (profile1) 49 0 1 1 0 as_viol_json_dos_max_string_length_profile appfw__ (profile1) 50 0 3 1 0 as_log_json_dos_profile appfw__ (profile1) 51 0 1 1 0 as_log_json_dos_max_string_length_profile appfw__ (profile1 < !——NeedCopy >

配置保护DoS JSON à l 'aide de Citrix界面图形

Suivez la procédure ci-dessous pour définir les paramètres de protection JSON DoS。

  1. Dans le volet de navigation, accédez à安全炸药>的资料
  2. 苏尔拉页的资料,双击Ajouter
  3. 苏尔拉页profile Citrix Web应用防火墙,双击Contrôles de sécurité sous Paramètres avancés
  4. 在节验证安全范围, accédez aux paramètresde déni de service JSON
  5. Cliquez sur 'icône exécutable à côté de la case à cocher。

    Contrôles de sécurité JSON DoS

  6. 双击苏尔产品的d 'actionPour accéder à la pageParamètres de déni de service JSON
  7. Sélectionnez l 'action DoS JSON。
  8. 双击苏尔好吧

    Paramètres d'action JSON DoS

  9. 在页面profile de Citrix Web应用防火墙,双击规则de放松产品的皇冠
  10. 在节规则de放松, selectionnez产品de déni de service JSONet双击苏尔修饰符

    Règles de relaxation JSON DoS

  11. 在洛杉矶vérification du déni de service JSON du pare-feu d 'application, définissez les valeurs de validation de déni de service JSON。
  12. 双击苏尔好吧

    Règles de relaxation JSON DoS

  13. 在页面profile de Citrix Web应用防火墙,双击杜产品的资料产品的皇冠
  14. 在节杜产品的资料, accédez à la sous-section产品的误差JSONPour définir la paged 'erreur de déni de service JSON

    Règles de relaxation JSON DoS

  15. 在洛杉矶JSON Importer unobjet, définissez les paramètres suivants:

    1. 进口商从。输入' 'erreur ' sous forme de texte, de fichier ou d 'URL '
    2. URL。URL pour rediriger l ' utiliseur vers la 'erreur。1文件。Sélectionnez un fichier à importer en tant que fichier d 'erreur JSON DoS。
    3. 对于我。JSON的解释。
    4. 双击在继续。
    5. 档案。“军官Entrez le du fichier”。
    6. Contenu du文件。法国军官的荣誉。
    7. 双击苏尔好吧

    页面错误输入JSON DoS

  16. 双击苏尔好吧
  17. 双击苏尔Termine
Vérification de la protection par déni de service JSON

在cet(中央东部东京)的文章