Interface CfnRuleGroup.StatefulRuleProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnRuleGroup.StatefulRuleProperty.Jsii$Proxy
Enclosing class:
CfnRuleGroup

@Stability(Stable) public static interface CfnRuleGroup.StatefulRuleProperty extends software.amazon.jsii.JsiiSerializable
A single Suricata rules specification, for use in a stateful rule group.

Use this option to specify a simple Suricata rule with protocol, source and destination, ports, direction, and rule options. For information about the Suricata Rules format, see Rules Format .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.networkfirewall.*;
 StatefulRuleProperty statefulRuleProperty = StatefulRuleProperty.builder()
         .action("action")
         .header(HeaderProperty.builder()
                 .destination("destination")
                 .destinationPort("destinationPort")
                 .direction("direction")
                 .protocol("protocol")
                 .source("source")
                 .sourcePort("sourcePort")
                 .build())
         .ruleOptions(List.of(RuleOptionProperty.builder()
                 .keyword("keyword")
                 // the properties below are optional
                 .settings(List.of("settings"))
                 .build()))
         .build();
 
  • Method Details

    • getAction

      @Stability(Stable) @NotNull String getAction()
      Defines what Network Firewall should do with the packets in a traffic flow when the flow matches the stateful rule criteria.

      For all actions, Network Firewall performs the specified action and discontinues stateful inspection of the traffic flow.

      The actions for a stateful rule are defined as follows:

      • PASS - Permits the packets to go to the intended destination.
      • DROP - Blocks the packets from going to the intended destination and sends an alert log message, if alert logging is configured in the Firewall LoggingConfiguration .
      • REJECT - Drops traffic that matches the conditions of the stateful rule and sends a TCP reset packet back to sender of the packet. A TCP reset packet is a packet with no payload and a RST bit contained in the TCP header flags. REJECT is available only for TCP traffic.
      • ALERT - Permits the packets to go to the intended destination and sends an alert log message, if alert logging is configured in the Firewall LoggingConfiguration .

      You can use this action to test a rule that you intend to use to drop traffic. You can enable the rule with ALERT action, verify in the logs that the rule is filtering as you want, then change the action to DROP .

      • REJECT - Drops TCP traffic that matches the conditions of the stateful rule, and sends a TCP reset packet back to sender of the packet. A TCP reset packet is a packet with no payload and a RST bit contained in the TCP header flags. Also sends an alert log mesage if alert logging is configured in the Firewall LoggingConfiguration .

      REJECT isn't currently available for use with IMAP and FTP protocols.

    • getHeader

      @Stability(Stable) @NotNull Object getHeader()
      The stateful inspection criteria for this rule, used to inspect traffic flows.
    • getRuleOptions

      @Stability(Stable) @NotNull Object getRuleOptions()
      Additional settings for a stateful rule, provided as keywords and settings.
    • builder

      @Stability(Stable) static CfnRuleGroup.StatefulRuleProperty.Builder builder()
      Returns:
      a CfnRuleGroup.StatefulRuleProperty.Builder of CfnRuleGroup.StatefulRuleProperty