| rfc8783v3.txt | rfc8783.txt | |||
|---|---|---|---|---|
| skipping to change at line 2946 ¶ | skipping to change at line 2946 ¶ | |||
| Figure 34 shows the content of the POST request to be issued by a | Figure 34 shows the content of the POST request to be issued by a | |||
| DOTS client to its DOTS server to allow the traffic destined to | DOTS client to its DOTS server to allow the traffic destined to | |||
| 198.51.100.0/24 and UDP port number 53, but to drop all fragmented | 198.51.100.0/24 and UDP port number 53, but to drop all fragmented | |||
| packets. The following ACEs are defined (in this order): | packets. The following ACEs are defined (in this order): | |||
| * "drop-all-fragments" ACE: discards all fragments. | * "drop-all-fragments" ACE: discards all fragments. | |||
| * "allow-dns-packets" ACE: accepts DNS packets destined to | * "allow-dns-packets" ACE: accepts DNS packets destined to | |||
| 198.51.100.0/24. | 198.51.100.0/24. | |||
| POST /restconf/data/ietf-dots-data-channel:dots-data\ | POST /restconf/data/ietf-dots-data-channel:dots-data\ | |||
| /dots-client=dz6pHjaADkaFTbjr0JGBpw HTTP/1.1 | /dots-client=dz6pHjaADkaFTbjr0JGBpw HTTP/1.1 | |||
| Host: example.com | Host: example.com | |||
| Content-Type: application/yang-data+json | Content-Type: application/yang-data+json | |||
| { | { | |||
| "ietf-dots-data-channel:acls": { | "ietf-dots-data-channel:acls": { | |||
| "acl": [ | "acl": [ | |||
| { | { | |||
| "name": "dns-fragments", | "name": "dns-fragments", | |||
| "type": "ipv4-acl-type", | "type": "ipv4-acl-type", | |||
| "aces": { | "aces": { | |||
| "ace": [ | "ace": [ | |||
| { | { | |||
| "name": "drop-all-fragments", | "name": "drop-all-fragments", | |||
| "matches": { | "matches": { | |||
| "ipv4": { | "ipv4": { | |||
| "fragment": { | "fragment": { | |||
| "operator": "match", | "operator": "match", | |||
| "type": "isf" | "type": "isf" | |||
| } | } | |||
| } | } | |||
| }, | }, | |||
| "actions": { | "actions": { | |||
| "forwarding": "drop" | "forwarding": "drop" | |||
| } | } | |||
| } | }, | |||
| ] | ||||
| "ace": [ | ||||
| { | { | |||
| "name": "allow-dns-packets", | "name": "allow-dns-packets", | |||
| "matches": { | "matches": { | |||
| "ipv4": { | "ipv4": { | |||
| "destination-ipv4-network": "198.51.100.0/24" | "destination-ipv4-network": "198.51.100.0/24" | |||
| } | }, | |||
| "udp": { | "udp": { | |||
| "destination-port": { | "destination-port-range-or-operator": { | |||
| "operator": "eq", | "operator": "eq", | |||
| "port": 53 | "port": 53 | |||
| } | ||||
| }, | ||||
| "actions": { | ||||
| "forwarding": "accept" | ||||
| } | } | |||
| }, | ||||
| "actions": { | ||||
| "forwarding": "accept" | ||||
| } | } | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| } | } | |||
| Figure 34: Filtering IPv4 Fragmented Packets | Figure 34: Filtering IPv4 Fragmented Packets | |||
| Figure 35 shows an example of a POST request issued by a DOTS client | Figure 35 shows an example of a POST request issued by a DOTS client | |||
| to its DOTS server to allow the traffic destined to 2001:db8::/32 and | to its DOTS server to allow the traffic destined to 2001:db8::/32 and | |||
| UDP port number 53, but to drop all fragmented packets. The | UDP port number 53, but to drop all fragmented packets. The | |||
| following ACEs are defined (in this order): | following ACEs are defined (in this order): | |||
| * "drop-all-fragments" ACE: discards all fragments (including atomic | * "drop-all-fragments" ACE: discards all fragments (including atomic | |||
| fragments). That is, IPv6 packets that include a Fragment header | fragments). That is, IPv6 packets that include a Fragment header | |||
| (44) are dropped. | (44) are dropped. | |||
| * "allow-dns-packets" ACE: accepts DNS packets destined to | * "allow-dns-packets" ACE: accepts DNS packets destined to | |||
| 2001:db8::/32. | 2001:db8::/32. | |||
| POST /restconf/data/ietf-dots-data-channel:dots-data\ | POST /restconf/data/ietf-dots-data-channel:dots-data\ | |||
| /dots-client=dz6pHjaADkaFTbjr0JGBpw HTTP/1.1 | /dots-client=dz6pHjaADkaFTbjr0JGBpw HTTP/1.1 | |||
| Host: example.com | Host: example.com | |||
| Content-Type: application/yang-data+json | Content-Type: application/yang-data+json | |||
| { | { | |||
| "ietf-dots-data-channel:acls": { | "ietf-dots-data-channel:acls": { | |||
| "acl": [ | "acl": [ | |||
| { | { | |||
| "name": "dns-fragments", | "name": "dns-fragments", | |||
| "type": "ipv6-acl-type", | "type": "ipv6-acl-type", | |||
| "aces": { | "aces": { | |||
| "ace": [ | "ace": [ | |||
| { | { | |||
| "name": "drop-all-fragments", | "name": "drop-all-fragments", | |||
| "matches": { | "matches": { | |||
| "ipv6": { | "ipv6": { | |||
| "fragment": { | "fragment": { | |||
| "operator": "match", | "operator": "match", | |||
| "type": "isf" | "type": "isf" | |||
| } | } | |||
| } | } | |||
| }, | }, | |||
| "actions": { | "actions": { | |||
| "forwarding": "drop" | "forwarding": "drop" | |||
| } | } | |||
| } | }, | |||
| ] | ||||
| "ace": [ | ||||
| { | { | |||
| "name": "allow-dns-packets", | "name": "allow-dns-packets", | |||
| "matches": { | "matches": { | |||
| "ipv6": { | "ipv6": { | |||
| "destination-ipv6-network": "2001:db8::/32" | "destination-ipv6-network": "2001:db8::/32" | |||
| } | }, | |||
| "udp": { | "udp": { | |||
| "destination-port": { | "destination-port-range-or-operator": { | |||
| "operator": "eq", | "operator": "eq", | |||
| "port": 53 | "port": 53 | |||
| } | } | |||
| } | } | |||
| }, | }, | |||
| "actions": { | "actions": { | |||
| "forwarding": "accept" | "forwarding": "accept" | |||
| } | } | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| } | } | |||
| Figure 35: Filtering IPv6 Fragmented Packets | Figure 35: Filtering IPv6 Fragmented Packets | |||
| Appendix B. Examples: Filtering TCP Messages | Appendix B. Examples: Filtering TCP Messages | |||
| This section provides examples to illustrate TCP-specific filtering | This section provides examples to illustrate TCP-specific filtering | |||
| based on the flag bits. These examples should not be interpreted as | based on the flag bits. These examples should not be interpreted as | |||
| recommended filtering behaviors under specific DDoS attacks. | recommended filtering behaviors under specific DDoS attacks. | |||
| B.1. Discard TCP Null Attack | B.1. Discard TCP Null Attack | |||
| End of changes. 14 change blocks. | ||||
| 25 lines changed or deleted | 22 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||