JSON-Denial-of-Service-Schutzprufung
Die json -拒绝服务(DoS) -Prüfung untersucht eine eingehenende JSON-Anforderung und prüft, ob Daten vorhanden sind, Die den Merkmalen eines DoS- angriffs entsprechen。Wenn die Anforderung JSON-Verstöße hatte, blockiert die Appliance die Anforderung, protokolliert die Daten, sendet eine SNMP-Warnung und zeigt auch eine JSON-Fehlerseite an。Der Zweck Der JSON-DoS-Prüfung best - ht darin, zu verhindern, dass ein Angreifer eine JSON-Anfrage sendet,嗯DoS-Angriffe auf Ihre JSON-Anwendungen oder Ihre Website zu startten。
Wenn ein客户端eine Anforderung一个eine Citrix ADC设备发送器,分析器json解析器die Anforderungsnutzlast。Wenn eine Verletzung beobachtet wd, setzt模具电器Einschränkungen für模具JSON-Struktur durch。Die Einschränkung erzwingt eine Größenbeschränkung für Die JSON-Anforderung。关于JSON-Verletzung最完美的wurde, führt die die Appliance daher eine action ausand antwortet mit der JSON-Fehlerseite。
JSON-DoS-Regeln
Wenn die Appliance eine JSON-Anforderung erhält, erzwingt der JSON-DOS-Schutz die Größenbeschränkung für die folgenden DoS-Parameter in der Anforderungsnutzlast。
- maximale Tiefe: maximale Verschachtelung (Tiefe) des json文档。Diese Prüfung schützt vor Dokumenten mit übermäßiger Hierarchietiefe。
- maximale Dokumentlänge: maximale Dokumentlänge des json - documents。
- maximale Array-Länge: maximale Array-Länge in einem beliebigen JSON-Objekt。Diese Prüfung schützt vor Arrays mit großen Längen。
- maximale Stringlänge: maximale Stringlänge im JSON。Diese Prüfung schützt vor Saiten mit großer Länge。
- 最大对象键数:在einem beliebigen JSON-Objekt中Maximale Anzahl von Schlüsseln。Diese Prüfung schützt vor Objekten mit einer großen Anzahl von Schlüsseln。
- maximale Objektschlüssellänge: maximale Schlüssellänge in einem beliebigen JSON-Objekt。Diese Prüfung schützt vor Objekten mit großen Schlüsseln。
关于JSON-DoS-Regeln, die während des JSON-Parsens validiert wurden。
JSONMaxContainerDepth。Diese Prüfung kann aktiviert werden, indem die JsonMaxContainerDepth-Prüfung konfiguriert wid und standardmäßig ist die选项OFF。
JSONMaxContainerDepth。Diese Prüfung kann durch die konfigurierbare Option jsonMaxContainerDepthCheck aktiviert/deaktiviert werden und under Standardwert kann mit der Option jsonMaxContainerDepth geändert werden。Sie können die Höchstwerte jedoch auf einen Wert zwischen 1 und 127变体。标准误差:5,最小误差:1,最大误差:127
JSONMaxDocumentLength。Diese Prüfung kann aktiviert werden, indem die JsonMaxDocumentLength-Prüfung konfiguriert wid und die标准选项ist OFF。
JSONMaxDocumentLength。Diese Prüfung kann durch Konfigurieren der JsonMaxDocumentLength-Prüfung aktiviert werden, und die Standardlänge ist auf 20000000 Byte festgelegt。Mindestwert: 1, Maximalwert: 2147483647
JSONMaxObjectKeyCount。Die Regel überprüft, ob Die Überprüfung der maximalen JSON-Objektschlüsselanzahl ein- oder ausgeschaltet ist。Mögliche Werte: ON, OFF, Standardwert: OFF
JSONMaxObjectKeyCount。Diese Prüfung kann aktiviert werden, indem die JsonMaxObjectKeyCount-Prüfung konfiguriert word。Die Prüfung schützt vor Objekten mit einer großen Anzahl von Schlüsseln, und under Standardwert ist auf 1000 Byte festgelegt。mindestert: 0, Maximalwert: 2147483647
JSONMaxObjectKeyLength。Diese Prüfung kann durch Konfigurieren der JsonMaxObjectKeyLength-Prüfung aktiviert werden。Die Regel überprüft, ob Die Überprüfung der maximalen JSON-Objektschlüssellänge ein- oder ausgeschaltet ist。Standardmäßig ist es ausgeschaltet。
JSONMaxObjectKeyLength。Der Scheck schützt vor Objekten mit großer Schlüssellänge。Standardwert: 128。Mindestwert: 1, Maximalwert: 2147483647
JSONMaxArrayLength。Die Regel überprüft, ob Die Prüfung der maximalen JSON-Array-Länge EIN oder AUS ist。Standardmäßig ist es ausgeschaltet。
JSONMaxArrayLength。Die Prüfung schützt vor Arrays mit großen Längen。Standardmäßig ist der Wert auf 10000 festgelegt。Mindestwert: 1, Maximalwert: 2147483647
JSONMaxStringLength。Diese Prüfung kann durch Konfigurieren der JsonMaxStringLength-Prüfung aktiviert werden。Die Prüfung prüft, ob Die maximale JSON-Stringlänge EIN oder AUS ist。Standardmäßig ist es ausgeschaltet。
JSONMaxStringLength。Der Scheck schützt vor Saiten mit großer Länge。Standardmäßig ist es auf 1000000 eingestellt。Mindestwert: 1, Maximalwert: 2147483647
Konfigurieren der JSON-DoS-Schutzprüfung
嗯den JSON-DoS-Schutz zu konfigurieren, müssen Sie die folgenden Schritte ausführen:
- anwendungs - firewall - profile für JSON hinzufügen。
- Legen Sie das anwendungs - firewall - profile für JSON-DoS-Einstellungen
- Konfigurieren Sie JSON-DoS-Variablen, indem Sie das anwendungsfirewall - profile binden
anwendungs - firewall - profile für JSON-DoS-Schutz hinzufügen
Sie müssen zuerst ein profile erstellen, das angibt, wie die Anwendungsfirewall Ihre JSON-Webinhalte vor JSON-DoS-Angriffen schützen muss。Geben Sie and der eingabeauforforderung Folgendes ein:
add appfw profile
Hinweis:
Wenn Sie den Profiltyp auf JSON festlegen,信andere Prüfungen wie HTML odder XML nicht anwendbar。
Beispiel
添加appfw profile profile1类型的JSON
Festlegen des anwendungs - firewall - profiles für JSON-DoS-Schutz
Sie müssen das profile für eine oder mehere JSON-DoS-Aktionen und das JSON-DoS-Fehlerobjekt konfigurieren, die im anwendungs - firewall - profile festgelegt werden sollen。Geben Sie and der eingabeauforforderung Folgendes ein:
set appfw profile
Blockieren - Blockieren Sie Verbindungen, die gegen diese Sicherheitsüberprüfung verstoßen。Log - Protokollieren Sie Verstöße gegen diese Sicherheitsprüfung。统计- Generieren Sie统计für diese Sicherheitsüberprüfung。Keine - Deaktiviert allle Aktionen für diese Sicherheitsüberprüfung。
Hinweis:
Um eine oder mehere aktivieren zu aktivieren, geben Sie " set appfw profile -jsondosAction " ein, gefolgt von den zu aktivierenen Aktionen。
Beispiel
设置appfw profile profile1 -JSONDoSAction block log stat
防火墙防火墙-
嗯,JSON-DoS-Schutz bereitzustellen, müssen Sie das anwendungs - firewall - proffil mit den JSON-DoS-Einstellungen binden。Geben Sie and der eingabeauforforderung Folgendes ein:
绑定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
Beispiel
绑定appfw profile profile1 -JSONDoSURL”。-JSONMaxContainerDepthCheck ON
Hinweis:
Die JSON-DoS-Prüfungen sind nur anwendbar, wenn der Profiltyp als JSON ausgewählt ist。Außerdem werden SQL,跨站脚本,Feldformat和Formularfeldsignaturen bei JSON-Profilen auf Abfrageparameter angewendet。
JSON-Fehlerseite importieren
安弗德隆安弗德隆安弗德隆安弗德隆积木人,zeigt die电器费勒梅尔顿安。嗯dies zu tun, müssen Sie die JSON-Fehlerseite importieren。Geben Sie and der eingabeauforforderung Folgendes ein:
导入appfw jsonerrorpage
Hierbei镀金:
src。URL(协议,主机,Pfad和名称)für den Speicherort, an dem das importierte JSON-Fehlerobjekt gespeichert werden soll。
Hinweis:
Der Import schlägt fehl, wenn sich das zu importierende Objekt auf einem http - server befindet, für den Zugriff eine Clientzertifikatauthentifizierung erforderlich ist die ist ein zwingendes参数。Maximale Länge: 2047
的名字。名称,der dem JSON-Fehlerobjekt auf dem Citrix ADC zugewiesen werden soll。论证。Maximale Länge: 31 Kommentar。Kommentare,嗯Informationen über das JSON-Fehlerobjekt beizubehalten。Maximale Länge: 255 überschreiben。Überschreiben Sie jedes vorhandene JSON-Fehlerobjekt mit demselben Namen。
Beispiel-Konfiguration
添加appfw prof profjson类型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
Beispiel für Nutzlasten, Protokollmeldungen und Zähler:
JSONMaxDocumentLength违反
JSONMaxDocumentLength: 30载荷:{“a”:“一”,“b”:“b”,“c”:“c”,“d”:“d”,“e”:“e”}
Protokollmeldung:
文档长度超过20000000 5月29日20:23:32 10.217.31.243 05/29/2019: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
学院:
1 0 6 as_viol_json_dos_max_document_length 3 0 6 as_log_json_dos_max_document_length 5 0 6 as_viol_json_dos_dos_profile appfw__(profile1) 6 0 3 as_viol_json_dos_max_document_length_profile appfw__(profile1) 7 0 6 as_log_json_dos_max_document_length_profile appfw__(profile1) 8 0 3 as_log_json_dos_max_document_length_profile appfw__(profile1)
JSONMaxContainerDepth违反
JSONMaxContainerDepth: 3载荷:{“a”:{" b ": {" c ": {" d ": {" e ": " f "}}}}}
Protokollmeldung:
May 29 19:33:59 10.217.31.243 05/29/2019: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文档at offset(15)超过最大容器深度(3). cn1=30466 cn2=113 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked
学院:
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”}
Protokollmeldung:
May 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 offset (41) that exceeds maximum key count (4). cn1=30468 cn2=118 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked
学院:
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”}
Protokollmeldung:
May 31 20:26:10 10.217.31.243 05/31/2019: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对象密钥(b1234567890) at offset(12)超过最大密钥长度(10)。cn1=30469 cn2=118 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked
学院:
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”]}
Protokollmeldung:
May 29 20:58:39 10.217.31.243 05/29/2019:20: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
学院:
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”]}
Protokollmeldung:
May 29 20:05:02 10.217.31.243 05/29/2019:20:05:02 GMT 0- pppe -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(cccccccccccccccc) at offset (27) that exceeds maximum String length(10)。n1=30470 cn2=122 cs1=profjson cs2=PPE0 cs4=ALERT cs5=2019 act=blocked
学院:
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 >
Konfigurieren des JSON-DoS-Schutzes mit Citrix GUI
Gehen Sie wie folgt vor,嗯die JSON-DoS-Schutzeinstellungen festzulegen。
- Navigieren Sie im Navigationsbereich zuSicherheit>配置文件.
- “你在现场”配置文件汪汪汪Hinzufugen.
- 我很高兴见到你Citrix Web应用防火墙Profilseiteunter Erweiterte爱因斯坦龙根auf Sicherheitsprüfungen.
- Gehen Sie im AbschnittSicherheitsuberprufungen吧台JSON-Denial-of-Service-Einstellungen.
Klicken Sie neben dem Kontrollkästchen auf das Symbol der ausführbaren
- 祝你好运Aktionseinstellungen呃死吧JSON-Denial-of-Service-Einstellungenaufzurufen。
- Wählen Sie die JSON-DoS-Aktion aus。
祝你好运好吧.
- “你在现场”Citrix Web App防火墙配置文件螺母Erweiterte设置汪汪汪Entspannungsregeln.
Wählen我是AbschnittEntspannungsregeln死JSON-Denial-of-Service-Einstellungen来自und klicken Sie aufBearbeiten.
- LegenSie in der应用防火墙JSON拒绝服务检查死亡JSON-DoS-Validierungswerte fest。
祝你好运好吧.
- 我很高兴见到你Citrix Web应用防火墙Profilseite螺母ErweiterteEinstellungen auf Profileinstellungen**.
Gehen Sie im AbschnittProfileinstellungenzum UnterabschnittJSON-Fehlereinstellungen嗯死亡JSON-DoS-Fehlerseitefestzulegen。
Legen Sie auf derJSON-Fehlerseite " object进口品"参数fest:
- Importieren来自。Importieren Sie die Fehlerseite als文本,Datei order URL。
- URL。URL,嗯den Benutzer auf die Fehlerseite umzuleiten。1 Datei。Wählen你是日本人,是日本人,是日本人。
- 文本。Geben Sie den Inhalt der JSON-Datei ein。
- “我是你的朋友”。
- Datei。Geben Sie den Dateinamen ein。
- Inhalt der Datei。Fügen你的家乡。
- 祝你好运好吧.
- 祝你好运好吧.
- 祝你好运多数时候.