Skip to content

Commit ab0e00e

Browse files
author
awstools
committed
feat(client-network-firewall): You can now log events that are related to TLS inspection, in addition to the existing alert and flow logging.
1 parent 2e67698 commit ab0e00e

File tree

5 files changed

+50
-28
lines changed

5 files changed

+50
-28
lines changed

clients/client-network-firewall/src/commands/CreateTLSInspectionConfigurationCommand.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ export interface CreateTLSInspectionConfigurationCommandOutput
3333
__MetadataBearer {}
3434

3535
/**
36-
* <p>Creates an Network Firewall TLS inspection configuration. A TLS inspection configuration contains Certificate Manager certificate associations between and the scope configurations that Network Firewall uses to decrypt and re-encrypt traffic traveling through your firewall.</p>
37-
* <p>After you create a TLS inspection configuration, you can associate it with a new firewall policy.</p>
36+
* <p>Creates an Network Firewall TLS inspection configuration. Network Firewall uses TLS inspection configurations to decrypt your firewall's inbound and outbound SSL/TLS traffic. After decryption, Network Firewall inspects the traffic according to your firewall policy's stateful rules, and then re-encrypts it before sending it to its destination. You can enable inspection of your firewall's inbound traffic, outbound traffic, or both. To use TLS inspection with your firewall, you must first import or provision certificates using ACM, create a TLS inspection configuration, add that configuration to a new firewall policy, and then associate that policy with your firewall.</p>
3837
* <p>To update the settings for a TLS inspection configuration, use <a>UpdateTLSInspectionConfiguration</a>.</p>
3938
* <p>To manage a TLS inspection configuration's tags, use the standard Amazon Web Services resource tagging operations, <a>ListTagsForResource</a>, <a>TagResource</a>, and <a>UntagResource</a>.</p>
4039
* <p>To retrieve information about TLS inspection configurations, use <a>ListTLSInspectionConfigurations</a> and <a>DescribeTLSInspectionConfiguration</a>.</p>

clients/client-network-firewall/src/commands/DescribeLoggingConfigurationCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export interface DescribeLoggingConfigurationCommandOutput
5151
* // LoggingConfiguration: { // LoggingConfiguration
5252
* // LogDestinationConfigs: [ // LogDestinationConfigs // required
5353
* // { // LogDestinationConfig
54-
* // LogType: "ALERT" || "FLOW", // required
54+
* // LogType: "ALERT" || "FLOW" || "TLS", // required
5555
* // LogDestinationType: "S3" || "CloudWatchLogs" || "KinesisDataFirehose", // required
5656
* // LogDestination: { // LogDestinationMap // required
5757
* // "<keys>": "STRING_VALUE",

clients/client-network-firewall/src/commands/UpdateLoggingConfigurationCommand.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export interface UpdateLoggingConfigurationCommandOutput extends UpdateLoggingCo
6666
* LoggingConfiguration: { // LoggingConfiguration
6767
* LogDestinationConfigs: [ // LogDestinationConfigs // required
6868
* { // LogDestinationConfig
69-
* LogType: "ALERT" || "FLOW", // required
69+
* LogType: "ALERT" || "FLOW" || "TLS", // required
7070
* LogDestinationType: "S3" || "CloudWatchLogs" || "KinesisDataFirehose", // required
7171
* LogDestination: { // LogDestinationMap // required
7272
* "<keys>": "STRING_VALUE",
@@ -83,7 +83,7 @@ export interface UpdateLoggingConfigurationCommandOutput extends UpdateLoggingCo
8383
* // LoggingConfiguration: { // LoggingConfiguration
8484
* // LogDestinationConfigs: [ // LogDestinationConfigs // required
8585
* // { // LogDestinationConfig
86-
* // LogType: "ALERT" || "FLOW", // required
86+
* // LogType: "ALERT" || "FLOW" || "TLS", // required
8787
* // LogDestinationType: "S3" || "CloudWatchLogs" || "KinesisDataFirehose", // required
8888
* // LogDestination: { // LogDestinationMap // required
8989
* // "<keys>": "STRING_VALUE",

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

+32-15
Original file line numberDiff line numberDiff line change
@@ -1618,7 +1618,8 @@ export type TargetType = (typeof TargetType)[keyof typeof TargetType];
16181618
/**
16191619
* <p>Stateful inspection criteria for a domain list rule group. </p>
16201620
* <p>For HTTPS traffic, domain filtering is SNI-based. It uses the server name indicator extension of the TLS handshake.</p>
1621-
* <p>By default, Network Firewall domain list inspection only includes traffic coming from the VPC where you deploy the firewall. To inspect traffic from IP addresses outside of the deployment VPC, you set the <code>HOME_NET</code> rule variable to include the CIDR range of the deployment VPC plus the other CIDR ranges. For more information, see <a>RuleVariables</a> in this guide and <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-domain-names.html">Stateful domain list rule groups in Network Firewall</a> in the <i>Network Firewall Developer Guide</i>.</p>
1621+
* <p>By default, Network Firewall domain list inspection only includes traffic coming from the VPC where you deploy the firewall. To inspect traffic from IP addresses outside of the deployment VPC, you set the <code>HOME_NET</code> rule variable to include the CIDR range of the deployment VPC plus the other CIDR ranges. For more information, see <a>RuleVariables</a> in this guide and
1622+
* <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-domain-names.html">Stateful domain list rule groups in Network Firewall</a> in the <i>Network Firewall Developer Guide</i>.</p>
16221623
* @public
16231624
*/
16241625
export interface RulesSourceList {
@@ -1852,6 +1853,10 @@ export interface StatefulRule {
18521853
* can enable the rule with <code>ALERT</code> action, verify in the logs that the rule
18531854
* is filtering as you want, then change the action to <code>DROP</code>.</p>
18541855
* </li>
1856+
* <li>
1857+
* <p>
1858+
* <b>REJECT</b> - 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 an RST bit contained in the TCP header flags. REJECT is available only for TCP traffic. This option doesn't support FTP or IMAP protocols.</p>
1859+
* </li>
18551860
* </ul>
18561861
* @public
18571862
*/
@@ -2343,8 +2348,7 @@ export interface CreateRuleGroupRequest {
23432348
* <p>
23442349
* <b>Capacity for a stateful rule group</b>
23452350
* </p>
2346-
* <p>For
2347-
* a stateful rule group, the minimum capacity required is the number of individual rules that
2351+
* <p>For a stateful rule group, the minimum capacity required is the number of individual rules that
23482352
* you expect to have in the rule group. </p>
23492353
* @public
23502354
*/
@@ -3081,6 +3085,7 @@ export type LogDestinationType = (typeof LogDestinationType)[keyof typeof LogDes
30813085
export const LogType = {
30823086
ALERT: "ALERT",
30833087
FLOW: "FLOW",
3088+
TLS: "TLS",
30843089
} as const;
30853090

30863091
/**
@@ -3090,24 +3095,37 @@ export type LogType = (typeof LogType)[keyof typeof LogType];
30903095

30913096
/**
30923097
* <p>Defines where Network Firewall sends logs for the firewall for one log type. This is used
3093-
* in <a>LoggingConfiguration</a>. You can send each type of log to an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery stream.</p>
3094-
* <p>Network Firewall generates logs for stateful rule groups. You can save alert and flow log
3095-
* types. The stateful rules engine records flow logs for all network traffic that it receives.
3096-
* It records alert logs for traffic that matches stateful rules that have the rule
3097-
* action set to <code>DROP</code> or <code>ALERT</code>. </p>
3098+
* in <a>LoggingConfiguration</a>. You can send each type of log to an Amazon S3 bucket, a CloudWatch log group, or a Firehose delivery stream.</p>
3099+
* <p>Network Firewall generates logs for stateful rule groups. You can save alert, flow, and TLS log
3100+
* types. </p>
30983101
* @public
30993102
*/
31003103
export interface LogDestinationConfig {
31013104
/**
3102-
* <p>The type of log to send. Alert logs report traffic that matches a <a>StatefulRule</a> with an action setting that sends an alert log message. Flow logs are
3103-
* standard network traffic flow logs. </p>
3105+
* <p>The type of log to record. You can record the following types of logs from your Network Firewall stateful engine.</p>
3106+
* <ul>
3107+
* <li>
3108+
* <p>
3109+
* <code>ALERT</code> - Logs for traffic that matches your stateful rules and that have an action that sends an alert. A stateful rule sends alerts for the rule actions DROP, ALERT, and REJECT. For more information, see <a>StatefulRule</a>.</p>
3110+
* </li>
3111+
* <li>
3112+
* <p>
3113+
* <code>FLOW</code> - Standard network traffic flow logs. The stateful rules engine records flow logs for all network traffic that it receives. Each flow log record captures the network flow for a specific standard stateless rule group.</p>
3114+
* </li>
3115+
* <li>
3116+
* <p>
3117+
* <code>TLS</code> - Logs for events that are related to TLS inspection. For more information, see
3118+
* <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection-configurations.html">Inspecting SSL/TLS traffic with TLS inspection configurations</a>
3119+
* in the <i>Network Firewall Developer Guide</i>.</p>
3120+
* </li>
3121+
* </ul>
31043122
* @public
31053123
*/
31063124
LogType: LogType | undefined;
31073125

31083126
/**
31093127
* <p>The type of storage destination to send these logs to. You can send logs to an Amazon S3 bucket,
3110-
* a CloudWatch log group, or a Kinesis Data Firehose delivery stream.</p>
3128+
* a CloudWatch log group, or a Firehose delivery stream.</p>
31113129
* @public
31123130
*/
31133131
LogDestinationType: LogDestinationType | undefined;
@@ -3118,9 +3136,8 @@ export interface LogDestinationConfig {
31183136
* <ul>
31193137
* <li>
31203138
* <p>For an Amazon S3 bucket, provide the name of the bucket, with key <code>bucketName</code>,
3121-
* and optionally provide a prefix, with key <code>prefix</code>. The following example
3122-
* specifies an Amazon S3 bucket named
3123-
* <code>DOC-EXAMPLE-BUCKET</code> and the prefix <code>alerts</code>: </p>
3139+
* and optionally provide a prefix, with key <code>prefix</code>. </p>
3140+
* <p>The following example specifies an Amazon S3 bucket named <code>DOC-EXAMPLE-BUCKET</code> and the prefix <code>alerts</code>: </p>
31243141
* <p>
31253142
* <code>"LogDestination": \{ "bucketName": "DOC-EXAMPLE-BUCKET", "prefix": "alerts"
31263143
* \}</code>
@@ -3135,7 +3152,7 @@ export interface LogDestinationConfig {
31353152
* </p>
31363153
* </li>
31373154
* <li>
3138-
* <p>For a Kinesis Data Firehose delivery stream, provide the name of the delivery stream, with key
3155+
* <p>For a Firehose delivery stream, provide the name of the delivery stream, with key
31393156
* <code>deliveryStream</code>. The following example specifies a delivery stream
31403157
* named <code>alert-delivery-stream</code>: </p>
31413158
* <p>

0 commit comments

Comments
 (0)