<!--
  XplicitTrust Network Access - Wazuh Rules
  Copyright (C) 2026 XplicitTrust GmbH

  Rule IDs: 100100 - 100200
  Requires: 0585-xplicittrust_decoders.xml

  Installation:
    cp 0585-xplicittrust_rules.xml /var/ossec/etc/rules/
    systemctl restart wazuh-manager
-->

<group name="xplicittrust,">

  <!-- Base rule: every XplicitTrust event. Level 3, the default
       log_alert_level, so an event type without a rule of its own below is
       still stored as an alert instead of being dropped. -->
  <rule id="100100" level="3">
    <decoded_as>xplicittrust</decoded_as>
    <description>XplicitTrust: $(event_class) $(event_type).</description>
  </rule>

  <!-- ===== Authentication ===== -->

  <rule id="100101" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^logged_in$</field>
    <description>XplicitTrust: user or client login.</description>
    <group>authentication_success,pci_dss_10.2.5,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_AU.14,</group>
  </rule>

  <rule id="100102" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^logged_out$</field>
    <description>XplicitTrust: user or client logout.</description>
    <group>session_closed,pci_dss_10.2.5,gdpr_IV_32.2,</group>
  </rule>

  <rule id="100103" level="10">
    <if_sid>100100</if_sid>
    <field name="event_type">^failed$</field>
    <description>XplicitTrust: authentication failed.</description>
    <group>authentication_failed,pci_dss_10.2.4,pci_dss_10.2.5,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_AU.14,</group>
  </rule>

  <rule id="100104" level="10">
    <if_sid>100100</if_sid>
    <field name="event_type">^failed_refresh$</field>
    <description>XplicitTrust: session refresh failed.</description>
    <group>authentication_failed,pci_dss_10.2.4,gdpr_IV_32.2,</group>
  </rule>

  <rule id="100106" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^pre_auth_created$</field>
    <description>XplicitTrust: pre-authentication session created.</description>
    <group>authentication_success,</group>
  </rule>

  <rule id="100107" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^session_refresh$</field>
    <description>XplicitTrust: session refreshed.</description>
    <group>session_opened,</group>
  </rule>

  <rule id="100108" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^tenant_entered$</field>
    <description>XplicitTrust: partner user entered tenant context.</description>
    <group>authentication_success,pci_dss_10.2.5,gdpr_IV_32.2,</group>
  </rule>

  <rule id="100109" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^tenant_left$</field>
    <description>XplicitTrust: partner user left tenant context.</description>
    <group>session_closed,pci_dss_10.2.5,gdpr_IV_32.2,</group>
  </rule>

  <!-- ===== Web App logins ===== -->

  <rule id="100190" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^web_app_login_started$</field>
    <description>XplicitTrust: Web App login started.</description>
    <group>authentication,</group>
  </rule>

  <rule id="100191" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^web_app_login$</field>
    <description>XplicitTrust: Web App login.</description>
    <group>authentication_success,pci_dss_10.2.5,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_AU.14,</group>
  </rule>

  <rule id="100192" level="10">
    <if_sid>100100</if_sid>
    <field name="event_type">^web_app_login_denied$</field>
    <description>XplicitTrust: Web App login denied ($(reason)).</description>
    <group>access_denied,pci_dss_10.2.4,gdpr_IV_35.1,hipaa_164.312.a,nist_800_53_AC.7,</group>
  </rule>

  <rule id="100193" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^web_app_sign_out_all$</field>
    <description>XplicitTrust: everyone signed out of a Web App.</description>
    <group>session_closed,pci_dss_10.2.7,nist_800_53_AC.12,</group>
  </rule>

  <!-- ===== Authorization ===== -->

  <rule id="100105" level="12">
    <if_sid>100100</if_sid>
    <field name="event_type">^access_denied$</field>
    <description>XplicitTrust: access denied.</description>
    <group>access_denied,pci_dss_10.2.4,gdpr_IV_35.1,hipaa_164.312.a,nist_800_53_AC.7,</group>
  </rule>

  <!-- ===== Access Control ===== -->

  <rule id="100125" level="10">
    <if_sid>100100</if_sid>
    <field name="event_type">^ip_blocked$</field>
    <description>XplicitTrust: login blocked by IP allowlist.</description>
    <group>xplicittrust_login_blocked,access_denied,pci_dss_10.2.4,gdpr_IV_32.2,hipaa_164.312.a,nist_800_53_AC.7,</group>
  </rule>

  <rule id="100126" level="10">
    <if_sid>100100</if_sid>
    <field name="event_type">^geo_blocked$</field>
    <description>XplicitTrust: login blocked by country restriction.</description>
    <group>xplicittrust_login_blocked,access_denied,pci_dss_10.2.4,gdpr_IV_32.2,hipaa_164.312.a,nist_800_53_AC.7,</group>
  </rule>

  <rule id="100127" level="10">
    <if_sid>100100</if_sid>
    <field name="event_type">^session_ip_mismatch$</field>
    <description>XplicitTrust: session blocked due to IP address change.</description>
    <group>access_denied,pci_dss_10.2.4,gdpr_IV_32.2,hipaa_164.312.a,nist_800_53_AC.7,</group>
  </rule>

  <!-- ===== Configuration Changes ===== -->

  <rule id="100110" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^created$</field>
    <description>XplicitTrust: configuration object created.</description>
    <group>config_changed,pci_dss_10.2.7,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100111" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^updated$</field>
    <description>XplicitTrust: configuration object updated.</description>
    <group>config_changed,pci_dss_10.2.7,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100112" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^deleted$</field>
    <description>XplicitTrust: configuration object deleted.</description>
    <group>config_changed,pci_dss_10.2.7,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100113" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^enabled$</field>
    <description>XplicitTrust: configuration object enabled.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100114" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^disabled$</field>
    <description>XplicitTrust: configuration object disabled.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <!-- ===== IdP / Configuration Other ===== -->

  <rule id="100115" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^fetched$</field>
    <description>XplicitTrust: user groups fetched from IdP.</description>
    <group>config_changed,</group>
  </rule>

  <rule id="100116" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^imported$</field>
    <description>XplicitTrust: user groups imported from IdP.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100117" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^synced$</field>
    <description>XplicitTrust: user groups synced with IdP.</description>
    <group>config_changed,</group>
  </rule>

  <rule id="100118" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type" type="pcre2">^domains[ _]fetched$</field>
    <description>XplicitTrust: domains fetched from IdP.</description>
    <group>config_changed,</group>
  </rule>

  <rule id="100119" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type" type="pcre2">^configuration[ _]downloaded$</field>
    <description>XplicitTrust: asset configuration downloaded.</description>
    <group>config_changed,</group>
  </rule>

  <!-- ===== Client Status ===== -->

  <rule id="100120" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^client_online$</field>
    <description>XplicitTrust: client came online.</description>
    <group>connection_attempt,</group>
  </rule>

  <rule id="100121" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^client_offline$</field>
    <description>XplicitTrust: client went offline.</description>
    <group>session_closed,</group>
  </rule>

  <rule id="100122" level="3">
    <if_sid>100100</if_sid>
    <field name="event_type">^asset_online$</field>
    <description>XplicitTrust: asset came online.</description>
    <group>connection_attempt,</group>
  </rule>

  <rule id="100123" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^asset_offline$</field>
    <description>XplicitTrust: asset went offline.</description>
    <group>service_availability,</group>
  </rule>

  <rule id="100124" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^public_ip_changed$</field>
    <description>XplicitTrust: client public IP address changed.</description>
    <group>network_change,</group>
  </rule>

  <!-- ===== Client Compliance ===== -->

  <rule id="100130" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^os_version_changed$</field>
    <description>XplicitTrust: client OS version changed.</description>
    <group>config_changed,pci_dss_11.5,gdpr_IV_35.1,hipaa_164.312.b,nist_800_53_SI.7,</group>
  </rule>

  <rule id="100131" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^security_product_changed$</field>
    <description>XplicitTrust: client security product changed.</description>
    <group>config_changed,pci_dss_11.5,gdpr_IV_35.1,nist_800_53_SI.7,</group>
  </rule>

  <rule id="100132" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^disk_encryption_changed$</field>
    <description>XplicitTrust: client disk encryption state changed.</description>
    <group>config_changed,pci_dss_11.5,gdpr_IV_35.1,nist_800_53_SI.7,</group>
  </rule>

  <rule id="100133" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^geolocation_changed$</field>
    <description>XplicitTrust: client geolocation changed.</description>
    <group>config_changed,</group>
  </rule>

  <rule id="100134" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^client_version_changed$</field>
    <description>XplicitTrust: client version changed.</description>
    <group>config_changed,</group>
  </rule>

  <rule id="100135" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^security_provider_changed$</field>
    <description>XplicitTrust: client security provider changed.</description>
    <group>config_changed,pci_dss_11.5,gdpr_IV_35.1,nist_800_53_SI.7,</group>
  </rule>

  <rule id="100136" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^domain_membership_changed$</field>
    <description>XplicitTrust: client domain membership changed.</description>
    <group>config_changed,pci_dss_11.5,nist_800_53_SI.7,</group>
  </rule>

  <rule id="100137" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^entra_id_membership_changed$</field>
    <description>XplicitTrust: client Entra ID membership changed.</description>
    <group>config_changed,pci_dss_11.5,nist_800_53_SI.7,</group>
  </rule>

  <!-- ===== Client Compliance: protection weakened =====
       Children of the change rules above, raised when the new value means
       the protection is off or degraded. -->

  <rule id="100128" level="10">
    <if_sid>100131</if_sid>
    <field name="new_value">\(off/|snoozed|expired</field>
    <description>XplicitTrust: a security product is off on $(client_name): $(new_value).</description>
    <group>config_changed,pci_dss_11.5,pci_dss_5.2,gdpr_IV_35.1,nist_800_53_SI.3,</group>
  </rule>

  <rule id="100138" level="12">
    <if_sid>100132</if_sid>
    <field name="new_value">^off$</field>
    <description>XplicitTrust: disk encryption turned off on $(client_name).</description>
    <group>config_changed,pci_dss_3.4,gdpr_IV_32.2,hipaa_164.312.a.2.IV,nist_800_53_SC.28,</group>
  </rule>

  <rule id="100139" level="10">
    <if_sid>100135</if_sid>
    <field name="new_value">^poor$</field>
    <description>XplicitTrust: $(field) degraded to poor on $(client_name).</description>
    <group>config_changed,pci_dss_11.5,gdpr_IV_35.1,nist_800_53_SI.3,</group>
  </rule>

  <!-- ===== Configuration Changes: Asset Isolation ===== -->

  <rule id="100150" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^asset_isolation_enabled$</field>
    <description>XplicitTrust: asset isolation enabled.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100151" level="10">
    <if_sid>100100</if_sid>
    <field name="event_type">^asset_isolation_disabled$</field>
    <description>XplicitTrust: asset isolation disabled.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100152" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^asset_isolation_rule_added$</field>
    <description>XplicitTrust: asset isolation rule added.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100153" level="5">
    <if_sid>100100</if_sid>
    <field name="event_type">^asset_isolation_rule_changed$</field>
    <description>XplicitTrust: asset isolation rule changed.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100154" level="7">
    <if_sid>100100</if_sid>
    <field name="event_type">^asset_isolation_rule_removed$</field>
    <description>XplicitTrust: asset isolation rule removed.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <!-- ===== Network Monitoring ===== -->

  <rule id="100160" level="5">
    <if_sid>100100</if_sid>
    <field name="event_class">^network_discovery$</field>
    <field name="event_type">^new_host$</field>
    <description>XplicitTrust: new host on a monitored network.</description>
    <group>network_change,</group>
  </rule>

  <rule id="100161" level="5">
    <if_sid>100100</if_sid>
    <field name="event_class">^network_discovery$</field>
    <field name="event_type">^new_service$</field>
    <description>XplicitTrust: new service on a monitored host.</description>
    <group>network_change,</group>
  </rule>

  <rule id="100162" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^network_discovery$</field>
    <field name="event_type">^host_disappeared$</field>
    <description>XplicitTrust: monitored host disappeared.</description>
    <group>network_change,</group>
  </rule>

  <rule id="100163" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^network_discovery$</field>
    <field name="event_type">^service_closed$</field>
    <description>XplicitTrust: monitored service closed.</description>
    <group>network_change,</group>
  </rule>

  <rule id="100164" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^network_discovery$</field>
    <field name="event_type">^scan_completed$</field>
    <description>XplicitTrust: network scan completed.</description>
    <group>network_change,</group>
  </rule>

  <!-- ===== Client Resources =====
       event_class is matched too: the same event_type values also occur as
       notification types (rules 100180+). -->

  <rule id="100170" level="7">
    <if_sid>100100</if_sid>
    <field name="event_class">^client_resources$</field>
    <field name="event_type">^cpu_usage_high$</field>
    <description>XplicitTrust: client CPU usage high.</description>
    <group>service_availability,</group>
  </rule>

  <rule id="100171" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^client_resources$</field>
    <field name="event_type">^cpu_usage_normal$</field>
    <description>XplicitTrust: client CPU usage back to normal.</description>
    <group>service_availability,</group>
  </rule>

  <rule id="100172" level="7">
    <if_sid>100100</if_sid>
    <field name="event_class">^client_resources$</field>
    <field name="event_type">^memory_usage_high$</field>
    <description>XplicitTrust: client memory usage high.</description>
    <group>service_availability,</group>
  </rule>

  <rule id="100173" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^client_resources$</field>
    <field name="event_type">^memory_usage_normal$</field>
    <description>XplicitTrust: client memory usage back to normal.</description>
    <group>service_availability,</group>
  </rule>

  <!-- ===== Notifications =====
       The event_type is the notification type; the message is the
       notification text. 100180/100181 catch every raise and resolution,
       the rules below escalate the service-affecting ones. -->

  <rule id="100180" level="5">
    <if_sid>100100</if_sid>
    <field name="event_class">^notification$</field>
    <description>XplicitTrust: notification raised.</description>
    <group>notification,</group>
  </rule>

  <rule id="100181" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^notification_cleared$</field>
    <description>XplicitTrust: notification resolved.</description>
    <group>notification,</group>
  </rule>

  <rule id="100182" level="7">
    <if_sid>100180</if_sid>
    <field name="event_type">^broker_failed$</field>
    <description>XplicitTrust: broker unreachable.</description>
    <group>notification,service_availability,</group>
  </rule>

  <rule id="100183" level="7">
    <if_sid>100180</if_sid>
    <field name="event_type">^split_dns_failed$</field>
    <description>XplicitTrust: split DNS broken.</description>
    <group>notification,service_availability,</group>
  </rule>

  <rule id="100184" level="7">
    <if_sid>100180</if_sid>
    <field name="event_type">^dhcp_failed$</field>
    <description>XplicitTrust: DHCP failed.</description>
    <group>notification,service_availability,</group>
  </rule>

  <rule id="100185" level="7">
    <if_sid>100180</if_sid>
    <field name="event_type">^event_forwarder_failed$</field>
    <description>XplicitTrust: event forwarder failing.</description>
    <group>notification,service_availability,</group>
  </rule>

  <!-- ===== Upstream firewall sync ===== -->

  <rule id="100195" level="5">
    <if_sid>100100</if_sid>
    <field name="event_class">^upstream_firewall$</field>
    <field name="event_type">^credentials_handed_over$</field>
    <description>XplicitTrust: firewall credentials handed over to the agent.</description>
    <group>config_changed,pci_dss_10.2.7,nist_800_53_CM.3,</group>
  </rule>

  <rule id="100194" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^upstream_firewall$</field>
    <field name="event_type">^credentials_delivered$</field>
    <description>XplicitTrust: the agent fetched the firewall credentials.</description>
    <group>service_availability,</group>
  </rule>

  <rule id="100196" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^upstream_firewall$</field>
    <field name="event_type">^credentials_verified$</field>
    <description>XplicitTrust: the firewall accepted the agent's credentials.</description>
    <group>service_availability,</group>
  </rule>

  <rule id="100197" level="7">
    <if_sid>100100</if_sid>
    <field name="event_class">^upstream_firewall$</field>
    <field name="event_type">^credentials_expired$</field>
    <description>XplicitTrust: firewall credentials expired before the agent fetched them.</description>
    <group>service_availability,</group>
  </rule>

  <rule id="100198" level="10">
    <if_sid>100100</if_sid>
    <field name="event_class">^upstream_firewall$</field>
    <field name="event_type">^credentials_invalid$</field>
    <description>XplicitTrust: the firewall rejected the agent's credentials: $(error)</description>
    <group>authentication_failed,service_availability,</group>
  </rule>

  <rule id="100199" level="10">
    <if_sid>100100</if_sid>
    <field name="event_class">^upstream_firewall$</field>
    <field name="event_type">^sync_failed$</field>
    <description>XplicitTrust: firewall sync failed: $(error)</description>
    <group>service_availability,</group>
  </rule>

  <rule id="100200" level="3">
    <if_sid>100100</if_sid>
    <field name="event_class">^upstream_firewall$</field>
    <field name="event_type">^sync_recovered$</field>
    <description>XplicitTrust: firewall sync recovered.</description>
    <group>service_availability,</group>
  </rule>

  <!-- ===== Correlation =====
       Counted per source address or per user, not across the tenant, so a
       few unrelated typos do not add up to an attack. -->

  <rule id="100140" level="12" frequency="5" timeframe="120">
    <if_matched_sid>100103</if_matched_sid>
    <same_field>user_email</same_field>
    <description>XplicitTrust: possible brute force attack (5+ failed logins for $(user_email) in 2 minutes).</description>
    <group>authentication_failures,pci_dss_10.2.4,pci_dss_10.2.5,pci_dss_11.4,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_AC.7,nist_800_53_SI.4,</group>
  </rule>

  <!-- Failed logins from one address, whichever accounts: remote_address
       carries no port since 2026-11 (before, the port changed with every
       connection and this could not match). -->
  <rule id="100147" level="12" frequency="5" timeframe="120">
    <if_matched_sid>100103</if_matched_sid>
    <same_field>remote_address</same_field>
    <description>XplicitTrust: possible brute force attack (5+ failed logins from $(remote_address) in 2 minutes).</description>
    <group>authentication_failures,pci_dss_10.2.4,pci_dss_10.2.5,pci_dss_11.4,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_AC.7,nist_800_53_SI.4,</group>
  </rule>

  <!-- Failed logins across accounts: password spraying, or an identity
       provider failing for everyone. -->
  <rule id="100146" level="12" frequency="10" timeframe="120">
    <if_matched_sid>100103</if_matched_sid>
    <description>XplicitTrust: 10+ failed logins in 2 minutes, across accounts.</description>
    <group>authentication_failures,pci_dss_10.2.4,pci_dss_10.2.5,pci_dss_11.4,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_AC.7,nist_800_53_SI.4,</group>
  </rule>

  <rule id="100141" level="12" frequency="5" timeframe="600">
    <if_matched_sid>100192</if_matched_sid>
    <same_field>user_email</same_field>
    <description>XplicitTrust: repeated Web App login denials for $(user_email).</description>
    <group>access_denied,pci_dss_10.2.4,gdpr_IV_35.1,nist_800_53_AC.7,</group>
  </rule>

  <!-- The same user logging in from two countries within an hour: stolen
       credentials or a stolen session, or a VPN exit abroad. -->
  <rule id="100142" level="12" frequency="2" timeframe="3600">
    <if_matched_sid>100101</if_matched_sid>
    <same_field>user_email</same_field>
    <different_field>country</different_field>
    <description>XplicitTrust: $(user_email) logged in from two countries within an hour (now $(country)).</description>
    <group>authentication_success,pci_dss_10.2.5,gdpr_IV_35.7.d,nist_800_53_AC.7,</group>
  </rule>

  <!-- One device denied again and again: scanning or lateral movement. -->
  <rule id="100143" level="13" frequency="5" timeframe="600">
    <if_matched_sid>100105</if_matched_sid>
    <same_field>client</same_field>
    <description>XplicitTrust: $(client_name) denied access 5+ times in 10 minutes.</description>
    <group>access_denied,pci_dss_10.2.4,pci_dss_11.4,gdpr_IV_35.1,nist_800_53_AC.7,nist_800_53_SI.4,</group>
  </rule>

  <!-- Logins blocked by the IP allowlist or a country restriction, from
       one address: someone probing from outside. -->
  <rule id="100144" level="12" frequency="5" timeframe="600">
    <if_matched_group>xplicittrust_login_blocked</if_matched_group>
    <same_field>client_ip</same_field>
    <description>XplicitTrust: 5+ blocked logins from $(client_ip) in 10 minutes.</description>
    <group>access_denied,pci_dss_10.2.4,pci_dss_11.4,gdpr_IV_35.1,nist_800_53_AC.7,nist_800_53_SI.4,</group>
  </rule>

  <!-- Many objects deleted by one user in a short time. -->
  <rule id="100145" level="12" frequency="10" timeframe="300">
    <if_matched_sid>100112</if_matched_sid>
    <same_field>user_email</same_field>
    <description>XplicitTrust: $(user_email) deleted 10+ objects in 5 minutes.</description>
    <group>config_changed,pci_dss_10.2.7,gdpr_IV_32.2,nist_800_53_CM.3,nist_800_53_SI.4,</group>
  </rule>

</group>
