Skip to content

Commit caa6cba

Browse files
author
awstools
committed
feat(client-network-firewall): StreamExceptionPolicy configures how AWS Network Firewall processes traffic when a network connection breaks midstream
1 parent ab0e7be commit caa6cba

File tree

6 files changed

+513
-372
lines changed

6 files changed

+513
-372
lines changed

clients/client-network-firewall/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ Guide</a>.</p>
3535
prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
3636
perimeter of your VPC. This includes filtering traffic going to and coming from an internet
3737
gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
38-
with Suricata, a free, open source intrusion detection system (IDS) engine.
38+
with Suricata, a free, open source network analysis and threat detection engine.
3939
Network Firewall supports Suricata version 5.0.2. For information about Suricata,
40-
see the <a href="https://suricata-ids.org/">Suricata website</a>.</p>
40+
see the <a href="https://suricata.io/">Suricata website</a>.</p>
4141
<p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
4242
The following are just a few examples: </p>
4343
<ul>

clients/client-network-firewall/src/NetworkFirewall.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,9 @@ import { NetworkFirewallClient } from "./NetworkFirewallClient";
181181
* prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
182182
* perimeter of your VPC. This includes filtering traffic going to and coming from an internet
183183
* gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
184-
* with Suricata, a free, open source intrusion detection system (IDS) engine.
184+
* with Suricata, a free, open source network analysis and threat detection engine.
185185
* Network Firewall supports Suricata version 5.0.2. For information about Suricata,
186-
* see the <a href="https://suricata-ids.org/">Suricata website</a>.</p>
186+
* see the <a href="https://suricata.io/">Suricata website</a>.</p>
187187
* <p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
188188
* The following are just a few examples: </p>
189189
* <ul>

clients/client-network-firewall/src/NetworkFirewallClient.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -386,9 +386,9 @@ export interface NetworkFirewallClientResolvedConfig extends NetworkFirewallClie
386386
* prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
387387
* perimeter of your VPC. This includes filtering traffic going to and coming from an internet
388388
* gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
389-
* with Suricata, a free, open source intrusion detection system (IDS) engine.
389+
* with Suricata, a free, open source network analysis and threat detection engine.
390390
* Network Firewall supports Suricata version 5.0.2. For information about Suricata,
391-
* see the <a href="https://suricata-ids.org/">Suricata website</a>.</p>
391+
* see the <a href="https://suricata.io/">Suricata website</a>.</p>
392392
* <p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
393393
* The following are just a few examples: </p>
394394
* <ul>

clients/client-network-firewall/src/models/models_0.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -753,6 +753,11 @@ export enum RuleOrder {
753753
STRICT_ORDER = "STRICT_ORDER",
754754
}
755755

756+
export enum StreamExceptionPolicy {
757+
CONTINUE = "CONTINUE",
758+
DROP = "DROP",
759+
}
760+
756761
/**
757762
* <p>Configuration settings for the handling of the stateful rule groups in a firewall policy. </p>
758763
*/
@@ -765,6 +770,21 @@ export interface StatefulEngineOptions {
765770
* </p>
766771
*/
767772
RuleOrder?: RuleOrder | string;
773+
774+
/**
775+
* <p>Configures how Network Firewall processes traffic when a network connection breaks midstream. Network connections can break due to disruptions in external networks or within the firewall itself.</p>
776+
* <ul>
777+
* <li>
778+
* <p>
779+
* <code>DROP</code> - Network Firewall fails closed and drops all subsequent traffic going to the firewall. This is the default behavior.</p>
780+
* </li>
781+
* <li>
782+
* <p>
783+
* <code>CONTINUE</code> - Network Firewall continues to apply rules to the subsequent traffic without context from traffic before the break. This impacts the behavior of rules that depend on this context. For example, if you have a stateful rule to <code>drop http</code> traffic, Network Firewall won't match the traffic for this rule because the service won't have the context from session initialization defining the application layer protocol as HTTP. However, this behavior is rule dependent—a TCP-layer rule using a <code>flow:stateless</code> rule would still match, as would the <code>aws:drop_strict</code> default action.</p>
784+
* </li>
785+
* </ul>
786+
*/
787+
StreamExceptionPolicy?: StreamExceptionPolicy | string;
768788
}
769789

770790
export enum OverrideAction {
@@ -1259,7 +1279,7 @@ export interface RuleOption {
12591279
* <p>A single Suricata rules specification, for use in a stateful rule group.
12601280
* Use this option to specify a simple Suricata rule with protocol, source and destination, ports, direction, and rule options.
12611281
* For information about the Suricata <code>Rules</code> format, see
1262-
* <a href="https://suricata.readthedocs.io/en/suricata-5.0.0/rules/intro.html#">Rules Format</a>. </p>
1282+
* <a href="https://suricata.readthedocs.io/rules/intro.html#">Rules Format</a>. </p>
12631283
*/
12641284
export interface StatefulRule {
12651285
/**
@@ -1528,7 +1548,7 @@ export interface RulesSource {
15281548
* <p>An array of individual stateful rules inspection criteria to be used together in a stateful rule group.
15291549
* Use this option to specify simple Suricata rules with protocol, source and destination, ports, direction, and rule options.
15301550
* For information about the Suricata <code>Rules</code> format, see
1531-
* <a href="https://suricata.readthedocs.io/en/suricata-5.0.0/rules/intro.html#">Rules Format</a>. </p>
1551+
* <a href="https://suricata.readthedocs.io/rules/intro.html#">Rules Format</a>. </p>
15321552
*/
15331553
StatefulRules?: StatefulRule[];
15341554

clients/client-network-firewall/src/protocols/Aws_json1_0.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3033,6 +3033,7 @@ const serializeAws_json1_0StatefulActions = (input: string[], context: __SerdeCo
30333033
const serializeAws_json1_0StatefulEngineOptions = (input: StatefulEngineOptions, context: __SerdeContext): any => {
30343034
return {
30353035
...(input.RuleOrder != null && { RuleOrder: input.RuleOrder }),
3036+
...(input.StreamExceptionPolicy != null && { StreamExceptionPolicy: input.StreamExceptionPolicy }),
30363037
};
30373038
};
30383039

@@ -4282,6 +4283,7 @@ const deserializeAws_json1_0StatefulActions = (output: any, context: __SerdeCont
42824283
const deserializeAws_json1_0StatefulEngineOptions = (output: any, context: __SerdeContext): StatefulEngineOptions => {
42834284
return {
42844285
RuleOrder: __expectString(output.RuleOrder),
4286+
StreamExceptionPolicy: __expectString(output.StreamExceptionPolicy),
42854287
} as any;
42864288
};
42874289

0 commit comments

Comments
 (0)