Struct aws_sdk_wafv2::types::Ja3Fingerprint
source · #[non_exhaustive]pub struct Ja3Fingerprint {
pub fallback_behavior: FallbackBehavior,
}
Expand description
Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information.
You can use this choice only with a string match ByteMatchStatement
with the PositionalConstraint
set to EXACTLY
.
You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide.
Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.fallback_behavior: FallbackBehavior
The match status to assign to the web request if the request doesn't have a JA3 fingerprint.
You can specify the following fallback behaviors:
-
MATCH
- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH
- Treat the web request as not matching the rule statement.
Implementations§
source§impl Ja3Fingerprint
impl Ja3Fingerprint
sourcepub fn fallback_behavior(&self) -> &FallbackBehavior
pub fn fallback_behavior(&self) -> &FallbackBehavior
The match status to assign to the web request if the request doesn't have a JA3 fingerprint.
You can specify the following fallback behaviors:
-
MATCH
- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH
- Treat the web request as not matching the rule statement.
source§impl Ja3Fingerprint
impl Ja3Fingerprint
sourcepub fn builder() -> Ja3FingerprintBuilder
pub fn builder() -> Ja3FingerprintBuilder
Creates a new builder-style object to manufacture Ja3Fingerprint
.
Trait Implementations§
source§impl Clone for Ja3Fingerprint
impl Clone for Ja3Fingerprint
source§fn clone(&self) -> Ja3Fingerprint
fn clone(&self) -> Ja3Fingerprint
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Ja3Fingerprint
impl Debug for Ja3Fingerprint
source§impl PartialEq for Ja3Fingerprint
impl PartialEq for Ja3Fingerprint
source§fn eq(&self, other: &Ja3Fingerprint) -> bool
fn eq(&self, other: &Ja3Fingerprint) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for Ja3Fingerprint
Auto Trait Implementations§
impl Freeze for Ja3Fingerprint
impl RefUnwindSafe for Ja3Fingerprint
impl Send for Ja3Fingerprint
impl Sync for Ja3Fingerprint
impl Unpin for Ja3Fingerprint
impl UnwindSafe for Ja3Fingerprint
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more