text code block:from logs-network_traffic.nfs-*, packetbeat-* metadata _source | eval Esql.opcode = TO_UPPER(COALESCE( JSON_EXTRACT(_source, "network_traffic.nfs.opcode"), JSON_EXTRACT(_source, "nfs.opcode") )), Esql.status = TO_UPPER(COALESCE( JSON_EXTRACT(_source, "network_traffic.nfs.status"), JSON_EXTRACT(_source, "nfs.status") )) | where Esql.opcode in ("WRITE", "REMOVE", "RENAME") and Esql.status == "NFS_OK" and source.ip is not null and destination.ip is not null | eval Esql.time_window = DATE_TRUNC(1 minutes, @timestamp) | eval Esql.is_write = CASE(Esql.opcode == "WRITE", 1, 0), Esql.is_destructive = CASE(Esql.opcode == "REMOVE" or Esql.opcode == "RENAME", 1, 0) | stats Esql.mutating_ops = COUNT(*), Esql.write_ops = SUM(Esql.is_write), Esql.destructive_ops = SUM(Esql.is_destructive), Esql.values_opcodes = VALUES(Esql.opcode) by Esql.time_window, source.ip, destination.ip | where Esql.mutating_ops >= 100 and Esql.write_ops > 0 and Esql.destructive_ops >= 20 | keep source.ip, destination.ip, Esql.*
Install detection rules in Elastic Security
Detect Potential NFS Destructive Operation Burst in the Elastic Security detection engine by installing this rule into your Elastic Stack.
To setup this rule, check out the installation guide for Prebuilt Security Detection Rules(external, opens in a new tab or window).