Chính sách về XMLThreatProtection

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Nội dung

Xử lý các lỗ hổng XML và giảm thiểu các cuộc tấn công vào API của bạn. Phát hiện các cuộc tấn công tải trọng XML dựa trên giới hạn đã định cấu hình (không bắt buộc). Sàng lọc các mối đe doạ XML bằng các phương pháp sau:

  • Xác thực thông báo dựa trên giản đồ XML (.xsd)
  • Đánh giá nội dung thông báo cho những từ khoá hoặc mẫu cụ thể cần loại trừ
  • Phát hiện thông báo bị lỗi hoặc sai định dạng trước khi các thông báo đó được phân tích cú pháp

Tham chiếu phần tử

Tài liệu tham chiếu phần tử mô tả các phần tử và thuộc tính của chính sách XML XinProtection.

<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
   <DisplayName>XML Threat Protection 1</DisplayName>
   <NameLimits>
      <Element>10</Element>
      <Attribute>10</Attribute>
      <NamespacePrefix>10</NamespacePrefix>
      <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
   </NameLimits>
   <Source>request</Source>
   <StructureLimits>
      <NodeDepth>5</NodeDepth>
      <AttributeCountPerElement>2</AttributeCountPerElement>
      <NamespaceCountPerElement>3</NamespaceCountPerElement>
      <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
   </StructureLimits>
   <ValueLimits>
      <Text>15</Text>
      <Attribute>10</Attribute>
      <NamespaceURI>10</NamespaceURI>
      <Comment>10</Comment>
      <ProcessingInstructionData>10</ProcessingInstructionData>
   </ValueLimits> 
</XMLThreatProtection>

Thuộc tính <XMLProtection>

<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1"> 

Bảng sau đây mô tả các thuộc tính chung cho tất cả phần tử mẹ của chính sách:

Thuộc tính Nội dung mô tả Mặc định Sự hiện diện
name

Tên nội bộ của chính sách. Giá trị của thuộc tính name có thể chứa chữ cái, số, dấu cách, dấu gạch nối, dấu gạch dưới và dấu chấm. Giá trị này không được vượt quá 255 ký tự.

Nếu muốn, bạn có thể sử dụng phần tử <DisplayName> để gắn nhãn cho chính sách này trong trình chỉnh sửa proxy giao diện người dùng quản lý bằng tên ngôn ngữ tự nhiên khác.

Không áp dụng Bắt buộc
continueOnError

Đặt thành false để trả về lỗi khi một chính sách không hoạt động. Đây là hành vi dự kiến đối với hầu hết các chính sách.

Đặt thành true để quá trình thực thi luồng tiếp tục ngay cả khi chính sách không thành công.

false Không bắt buộc
enabled

Đặt thành true để thực thi chính sách.

Đặt thành false để tắt chính sách này. Chính sách này sẽ không được thực thi ngay cả khi chính sách vẫn được đính kèm vào một quy trình.

đúng Không bắt buộc
async

Thuộc tính này không được dùng nữa.

false Không được dùng nữa

Phần tử <DisplayName>

Sử dụng cùng với thuộc tính name để gắn nhãn cho chính sách trong trình chỉnh sửa proxy giao diện người dùng quản lý bằng tên khác theo ngôn ngữ tự nhiên.

<DisplayName>Policy Display Name</DisplayName>
Mặc định

Không áp dụng

Nếu bạn bỏ qua phần tử này, thì giá trị thuộc tính name của chính sách sẽ được sử dụng.

Sự hiện diện Không bắt buộc
Loại Chuỗi

Phần tử <NameLimits>

Chỉ định những giới hạn ký tự cần được chính sách kiểm tra và thực thi.

<NameLimits>
   <Element>10</Element>
   <Attribute>10</Attribute>
   <NamespacePrefix>10</NamespacePrefix>
   <ProcessingInstructionTarget>10</ProcessingInstructionTarget>     
</NameLimits>
Mặc định: Không áp dụng
Sự hiện diện: Không bắt buộc
Loại: Không áp dụng

Phần tử <NameLimits>/<Element>

Quy định giới hạn về số lượng ký tự tối đa được phép dùng cho mọi tên phần tử trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<book category="WEB">
   <title>Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
</book>

Khi phân tích XML ở trên, giá trị phần tử <Element> trong đoạn mã chính sách dưới đây sẽ xác thực rằng tên phần tử (book , title, authoryear) không vượt quá 10 ký tự).

<NameLimits>
   <Element>10</Element>
   <Attribute>10</Attribute>
   <NamespacePrefix>10</NamespacePrefix>
   <ProcessingInstructionTarget>10</ProcessingInstructionTarget>     
</NameLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại: Số nguyên

Phần tử <NameLimits>/<Thuộc tính>

Quy định giới hạn về số lượng ký tự tối đa được phép dùng cho mọi tên thuộc tính trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<book category="WEB">
   <title>Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
</book>

Khi phân tích XML ở trên, giá trị phần tử <Attribute> trong đoạn mã chính sách dưới đây sẽ xác thực rằng tên thuộc tính category không vượt quá 10 ký tự.

<NameLimits>
   <Element>10</Element>
   <Attribute>10</Attribute>
   <NamespacePrefix>10</NamespacePrefix>
   <ProcessingInstructionTarget>10</ProcessingInstructionTarget>     
</NameLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại: Số nguyên

Phần tử <NameLimits>/<NamespacePrefix>

Quy định giới hạn về số lượng ký tự tối đa được phép trong tiền tố không gian tên trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<ns1:myelem xmlns:ns1="http://ns1.com"/>

Khi phân tích XML ở trên, giá trị phần tử <NamespacePrefix> trong đoạn mã chính sách dưới đây sẽ xác thực rằng tiền tố không gian tên ns1 không vượt quá 10 ký tự.

<NameLimits>
   <Element>10</Element>
   <Attribute>10</Attribute>
   <NamespacePrefix>10</NamespacePrefix>
   <ProcessingInstructionTarget>10</ProcessingInstructionTarget>     
</NameLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại: Số nguyên

Phần tử <NameLimits>/<ProcessingInstructionTarget>

Nêu giới hạn về số lượng ký tự tối đa được phép trong mục tiêu của mọi lệnh xử lý trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<?xml-stylesheet type="text/xsl" href="style.xsl"?>

Khi phân tích mã XML ở trên, giá trị phần tử <ProcessingInstructionTarget> trong đoạn mã chính sách dưới đây sẽ xác thực rằng mục tiêu của lệnh xử lý xml-stylesheet không vượt quá 10 ký tự.

<NameLimits>
   <Element>10</Element>
   <Attribute>10</Attribute>
   <NamespacePrefix>10</NamespacePrefix>
   <ProcessingInstructionTarget>10</ProcessingInstructionTarget>     
</NameLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại: Số nguyên

Phần tử <Source>

Thông báo cần được sàng lọc để phát hiện các cuộc tấn công tải trọng XML. Thuộc tính này thường được thiết lập thành request, vì thông thường, bạn sẽ phải xác thực các yêu cầu đến từ ứng dụng khách. Khi được đặt thành message, phần tử này sẽ tự động đánh giá thông báo yêu cầu khi được đính kèm vào quy trình yêu cầu và thông báo phản hồi khi được đính kèm vào quy trình phản hồi.

<Source>request</Source>
Mặc định: request
Sự hiện diện: Không bắt buộc
Loại:

Chuỗi.

Chọn request, response hoặc message.

Phần tử <StructuralLimits>

Chỉ định các giới hạn về cấu trúc cần được chính sách kiểm tra và thực thi.

<StructureLimits>
   <NodeDepth>5</NodeDepth>
   <AttributeCountPerElement>2</AttributeCountPerElement>
   <NamespaceCountPerElement>3</NamespaceCountPerElement>
   <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
</StructureLimits>
Mặc định: Không áp dụng
Sự hiện diện: Không bắt buộc
Loại: Không áp dụng

Phần tử <StructuralLimits>/<NodeDepth>

Chỉ định độ sâu nút tối đa được phép trong tệp XML.

<StructureLimits>
   <NodeDepth>5</NodeDepth>
   <AttributeCountPerElement>2</AttributeCountPerElement>
   <NamespaceCountPerElement>3</NamespaceCountPerElement>
   <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
</StructureLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Phần tử <StructuralLimits>/<AttributeCountPerElement>

Chỉ định số lượng thuộc tính tối đa được phép cho phần tử.

Ví dụ: hãy xem xét XML sau:

<book category="WEB">
   <title>Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
</book>
Khi phân tích mã XML ở trên, giá trị phần tử <AttributeCountPerElement> trong đoạn mã chính sách dưới đây sẽ xác thực rằng các phần tử book, title, authoryear không có nhiều hơn 2 thuộc tính trong mỗi phần tử. Xin lưu ý rằng các thuộc tính dùng để xác định không gian tên không được tính.
<StructureLimits>
   <NodeDepth>5</NodeDepth>
   <AttributeCountPerElement>2</AttributeCountPerElement>
   <NamespaceCountPerElement>3</NamespaceCountPerElement>
   <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
</StructureLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Phần tử <StructuralLimits>/<NameSpaceCountPerElement>

Chỉ định số lượng định nghĩa không gian tên tối đa được phép cho phần tử.

Ví dụ: hãy xem xét XML sau:

<e1 attr1="val1" attr2="val2">
    <e2 xmlns="http://apigee.com" xmlns:yahoo="http://yahoo.com" one="1" yahoo:two="2"/>
</e1>

Khi phân tích XML ở trên, giá trị phần tử <NamespaceCountPerElement> trong đoạn mã chính sách dưới đây sẽ xác thực rằng các phần tử e1e2 không có nhiều hơn 2 định nghĩa không gian tên. Trong trường hợp này, <e1> có 0 định nghĩa không gian tên và <e2> có 2 định nghĩa không gian tên: xmlns="http://apigee.com"xmlns:yahoo="http://yahoo.com".

<StructureLimits>
   <NodeDepth>5</NodeDepth>
   <AttributeCountPerElement>2</AttributeCountPerElement>
   <NamespaceCountPerElement>3</NamespaceCountPerElement>
   <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
</StructureLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Phần tử <StructuralLimits>/<ChildCount>

Chỉ định số lượng phần tử con tối đa được phép cho phần tử bất kỳ.

<StructureLimits>
   <NodeDepth>5</NodeDepth>
   <AttributeCountPerElement>2</AttributeCountPerElement>
   <NamespaceCountPerElement>3</NamespaceCountPerElement>
   <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
</StructureLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Thuộc tính

Thuộc tính Mặc định Sự hiện diện
includeComment đúng Không bắt buộc
includeElement đúng Không bắt buộc
includeProcessingInstructions đúng Không bắt buộc
includeText đúng Không bắt buộc

Phần tử <ValueLimits>

Chỉ định giới hạn ký tự cho những giá trị cần được chính sách kiểm tra và thực thi.

<ValueLimits>
   <Text>15</Text>
   <Attribute>10</Attribute>
   <NamespaceURI>10</NamespaceURI>
   <Comment>10</Comment>
   <ProcessingInstructionData>10</ProcessingInstructionData>
</ValueLimits>
Mặc định: Không áp dụng
Sự hiện diện: Không bắt buộc
Loại:

Không áp dụng

Phần tử <ValueLimits>/<Text>

Chỉ định giới hạn ký tự cho mọi nút văn bản có trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<book category="WEB">
   <title>Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
</book>
Khi phân tích XML ở trên, giá trị phần tử <Text> trong đoạn mã chính sách dưới đây sẽ xác thực rằng các giá trị văn bản của phần tử Learning XML, Erik T. Ray,2003 không vượt quá 15 ký tự.
<ValueLimits>
   <Text>15</Text>
   <Attribute>10</Attribute>
   <NamespaceURI>10</NamespaceURI>
   <Comment>10</Comment>
   <ProcessingInstructionData>10</ProcessingInstructionData>
</ValueLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Phần tử <ValueLimits>/<thuộc tính>

Chỉ định giới hạn ký tự cho mọi giá trị thuộc tính có trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<book category="WEB">
   <title>Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
</book>
Khi phân tích XML ở trên, giá trị phần tử <Attribute> trong đoạn mã chính sách dưới đây sẽ xác thực rằng giá trị thuộc tính WEB không vượt quá 10 ký tự.
<ValueLimits>
   <Text>15</Text>
   <Attribute>10</Attribute>
   <NamespaceURI>10</NamespaceURI>
   <Comment>10</Comment>
   <ProcessingInstructionData>10</ProcessingInstructionData>
</ValueLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Phần tử <ValueLimits>/<NamespaceURI>

Chỉ định giới hạn ký tự cho mọi URI không gian tên có trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<ns1:myelem xmlns:ns1="http://ns1.com"/>
Khi phân tích XML ở trên, giá trị phần tử <NamespaceURI> trong đoạn mã chính sách bên dưới sẽ xác thực rằng giá trị URI không gian tên http://ns1.com không vượt quá 10 ký tự.
<ValueLimits>
   <Text>15</Text>
   <Attribute>10</Attribute>
   <NamespaceURI>10</NamespaceURI>
   <Comment>10</Comment>
   <ProcessingInstructionData>10</ProcessingInstructionData>
</ValueLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Phần tử <ValueLimits>/<Bình luận>

Chỉ định giới hạn ký tự cho mọi nhận xét có trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<book category="WEB">
   <!-- This is a comment -->
   <title>Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
</book>
Khi phân tích mã XML ở trên, giá trị phần tử <Comment> trong đoạn mã chính sách bên dưới sẽ xác thực rằng văn bản nhận xét This is a comment không vượt quá 10 ký tự.
<ValueLimits>
   <Text>15</Text>
   <Attribute>10</Attribute>
   <NamespaceURI>10</NamespaceURI>
   <Comment>10</Comment>
   <ProcessingInstructionData>10</ProcessingInstructionData>
</ValueLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Phần tử <ValueLimits>/<ProcessingInstructionData>

Chỉ định giới hạn ký tự cho mọi văn bản hướng dẫn xử lý có trong tài liệu XML.

Ví dụ: hãy xem xét XML sau:

<?xml-stylesheet type="text/xsl" href="style.xsl"?>
Khi phân tích XML ở trên, giá trị phần tử <ProcessingInstructionData> trong đoạn mã chính sách dưới đây sẽ xác thực rằng văn bản hướng dẫn xử lý type="text/xsl" href="style.xsl" không vượt quá 10 ký tự.
<ValueLimits>
   <Text>15</Text>
   <Attribute>10</Attribute>
   <NamespaceURI>10</NamespaceURI>
   <Comment>10</Comment>
   <ProcessingInstructionData>10</ProcessingInstructionData>
</ValueLimits>
Mặc định: Nếu bạn không chỉ định hạn mức, hệ thống sẽ áp dụng một giá trị mặc định là -1, giá trị này tương đương với việc không có giới hạn.
Sự hiện diện: Không bắt buộc
Loại:

Số nguyên

Tham chiếu lỗi

Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sáchXử lý lỗi.

Lỗi thời gian chạy

Những lỗi này có thể xảy ra khi thực thi chính sách.

Mã lỗi Trạng thái HTTP Nguyên nhân Khắc phục
steps.xmlthreatprotection.ExecutionFailed 500 Chính sách XML AeeGuard có thể gửi nhiều loại lỗi ExecutionFailed. Hầu hết các lỗi này xảy ra khi vượt quá một ngưỡng cụ thể được đặt trong chính sách. Những loại lỗi này bao gồm: độ dài tên phần tử, số lượng phần tử con, độ sâu nút, số lượng thuộc tính, độ dài tên thuộc tính và nhiều loại lỗi khác. Bạn có thể xem danh sách đầy đủ trong chủ đề Khắc phục sự cố liên quan đến lỗi thời gian chạy của chính sách XMLAnswerProtection.
steps.xmlthreatprotection.InvalidXMLPayload 500 Lỗi này xảy ra nếu tải trọng thông báo đầu vào được chỉ định bởi phần tử <Source> của chính sách XML AeProtection không phải là một Tài liệu XML hợp lệ.
steps.xmlthreatprotection.SourceUnavailable 500 Lỗi này xảy ra nếu biến thông báo được chỉ định trong phần tử <Source> là:
  • Ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách)
  • Không phải là một trong các giá trị hợp lệ request, response, hoặc message
steps.xmlthreatprotection.NonMessageVariable 500 Lỗi này xảy ra nếu phần tử <Source> được đặt thành một biến không thuộc loại thông báo.

Lưu ý:

  • Tên lỗi ExecutionFailed là tên lỗi mặc định và sẽ được trả về bất kể loại lỗi nào được phát hiện. Tuy nhiên, bạn có thể thay đổi giá trị mặc định này bằng cách đặt một thuộc tính cấp tổ chức. Khi bạn đặt thuộc tính này, tên lỗi sẽ phản ánh lỗi thực tế. Ví dụ: "TextExceptions" hoặc "AttrValueAddeded". Hãy xem Ghi chú sử dụng để biết thông tin chi tiết.
  • Trạng thái HTTP 500 là trạng thái mặc định. Tuy nhiên, bạn có thể thay đổi Trạng thái HTTP thành 400 đối với các lỗi luồng yêu cầu bằng cách thiết lập một tài sản ở cấp tổ chức. Hãy xem Ghi chú sử dụng để biết thông tin chi tiết.

Lỗi triển khai

Không nội dung nào.

Biến lỗi

Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.

Biến Trong đó Ví dụ:
fault.name="fault_name" fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. fault.name Matches "SourceUnavailable"
xmlattack.policy_name.failed policy_name là tên của chính sách báo lỗi do người dùng chỉ định. xmlattack.XPT-SecureRequest.failed = true

Ví dụ về phản hồi lỗi

{
  "fault": {
    "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2",
    "detail": {
      "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
    }
  }
}

Ví dụ về quy tắc lỗi

<FaultRule name="XML Threat Protection Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ExecutionFailed") </Condition>
    </Step>
    <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition>
</FaultRule>

Giản đồ

Lưu ý về cách sử dụng

Bất kỳ máy chủ nào nhận dữ liệu trực tuyến đều có thể bị tấn công, cho dù là độc hại hay không chủ ý. Một số cuộc tấn công tận dụng tính linh hoạt của XML bằng cách tạo các tài liệu không hợp lệ có nguy cơ xâm phạm các hệ thống phụ trợ. Các tài liệu XML bị hỏng hoặc cực kỳ phức tạp có thể khiến máy chủ phân bổ nhiều bộ nhớ hơn mức có sẵn, liên kết tài nguyên CPU và bộ nhớ, trình phân tích cú pháp gặp sự cố và thường vô hiệu hoá quá trình xử lý thông báo cũng như tạo các cuộc tấn công từ chối dịch vụ ở cấp ứng dụng.

Cấu hình lỗi bảo vệ khỏi mối đe doạ

Thông tin quan trọng nếu bạn tạo FaultRules cho chính sách này: Theo mặc định, Edge sẽ gửi mã trạng thái Lỗi máy chủ nội bộ HTTP 500 và mã lỗi ExecutionFailed nếu một thông báo không vượt qua được chính sách Bảo vệ mối đe doạ JSON hoặc XML. Bạn có thể thay đổi hành vi của lỗi đó bằng một thuộc tính mới ở cấp tổ chức. Khi đặt thuộc tính tổ chức features.isPolicyHttpStatusEnabled thành true (đúng), hành vi sau đây sẽ xảy ra:

  • Yêu cầu: Khi đính kèm chính sách bảo vệ khỏi các mối đe doạ với bất kỳ quy trình yêu cầu nào, các thông báo không hợp lệ sẽ trả về mã trạng thái Yêu cầu không hợp lệ 400 cùng với mã lỗi chính sách tương ứng (thay vì chỉ ExecutionFailed).
  • Phản hồi: Khi chính sách bảo vệ khỏi các mối đe doạ được đính kèm với bất kỳ quy trình phản hồi nào, thông báo không hợp lệ vẫn trả về mã trạng thái Lỗi máy chủ nội bộ 500 và một trong các mã lỗi chính sách tương ứng sẽ được gửi (thay vì chỉ ExecutionFailed).

Khách hàng Google Cloud phải liên hệ với Apigee Edge Support để đặt thuộc tính tổ chức.

Chủ đề có liên quan

Chính sách về Bảo vệ khỏi các mối đe doạ bằng JSON

Chính sách bảo vệ biểu thức chính quy