diff --git a/doc/README.vulnerability_scan.md b/attic/doc/README.vulnerability_scan.md similarity index 100% rename from doc/README.vulnerability_scan.md rename to attic/doc/README.vulnerability_scan.md diff --git a/http_src/utilities/vs_report_formatter.js b/attic/frontend/utilities/vs_report_formatter.js similarity index 100% rename from http_src/utilities/vs_report_formatter.js rename to attic/frontend/utilities/vs_report_formatter.js diff --git a/http_src/vue/modal-add-vs-host.vue b/attic/frontend/vue/modal-add-vs-host.vue similarity index 100% rename from http_src/vue/modal-add-vs-host.vue rename to attic/frontend/vue/modal-add-vs-host.vue diff --git a/http_src/vue/modal-delete-scan-confirm.vue b/attic/frontend/vue/modal-delete-scan-confirm.vue similarity index 100% rename from http_src/vue/modal-delete-scan-confirm.vue rename to attic/frontend/vue/modal-delete-scan-confirm.vue diff --git a/http_src/vue/modal-edit-vs-report.vue b/attic/frontend/vue/modal-edit-vs-report.vue similarity index 100% rename from http_src/vue/modal-edit-vs-report.vue rename to attic/frontend/vue/modal-edit-vs-report.vue diff --git a/http_src/vue/modal-update-periodicity-scan.vue b/attic/frontend/vue/modal-update-periodicity-scan.vue similarity index 100% rename from http_src/vue/modal-update-periodicity-scan.vue rename to attic/frontend/vue/modal-update-periodicity-scan.vue diff --git a/http_src/vue/page-host-vs-result.vue b/attic/frontend/vue/page-host-vs-result.vue similarity index 100% rename from http_src/vue/page-host-vs-result.vue rename to attic/frontend/vue/page-host-vs-result.vue diff --git a/http_src/vue/page-open-ports.vue b/attic/frontend/vue/page-open-ports.vue similarity index 100% rename from http_src/vue/page-open-ports.vue rename to attic/frontend/vue/page-open-ports.vue diff --git a/http_src/vue/page-vulnerability-scan-report.vue b/attic/frontend/vue/page-vulnerability-scan-report.vue similarity index 100% rename from http_src/vue/page-vulnerability-scan-report.vue rename to attic/frontend/vue/page-vulnerability-scan-report.vue diff --git a/http_src/vue/page-vulnerability-scan.vue b/attic/frontend/vue/page-vulnerability-scan.vue similarity index 100% rename from http_src/vue/page-vulnerability-scan.vue rename to attic/frontend/vue/page-vulnerability-scan.vue diff --git a/httpdocs/tables_config/hosts_to_scan.json b/attic/httpdocs/tables_config/hosts_to_scan.json similarity index 100% rename from httpdocs/tables_config/hosts_to_scan.json rename to attic/httpdocs/tables_config/hosts_to_scan.json diff --git a/httpdocs/tables_config/open_ports.json b/attic/httpdocs/tables_config/open_ports.json similarity index 100% rename from httpdocs/tables_config/open_ports.json rename to attic/httpdocs/tables_config/open_ports.json diff --git a/httpdocs/tables_config/vs_reports.json b/attic/httpdocs/tables_config/vs_reports.json similarity index 100% rename from httpdocs/tables_config/vs_reports.json rename to attic/httpdocs/tables_config/vs_reports.json diff --git a/scripts/callbacks/minute/system/vulnerability_scan.lua b/attic/scripts/callbacks/system/vulnerability_scan.lua similarity index 100% rename from scripts/callbacks/minute/system/vulnerability_scan.lua rename to attic/scripts/callbacks/system/vulnerability_scan.lua diff --git a/scripts/lua/modules/alert_definitions/other/alert_vulnerability_scan.lua b/attic/scripts/lua/modules/alert_definitions/other/alert_vulnerability_scan.lua similarity index 100% rename from scripts/lua/modules/alert_definitions/other/alert_vulnerability_scan.lua rename to attic/scripts/lua/modules/alert_definitions/other/alert_vulnerability_scan.lua diff --git a/scripts/lua/modules/vs_db_utils.lua b/attic/scripts/lua/modules/vs_db_utils.lua similarity index 100% rename from scripts/lua/modules/vs_db_utils.lua rename to attic/scripts/lua/modules/vs_db_utils.lua diff --git a/scripts/lua/modules/vulnerability_scan/cve_utils.lua b/attic/scripts/lua/modules/vulnerability_scan/cve_utils.lua similarity index 100% rename from scripts/lua/modules/vulnerability_scan/cve_utils.lua rename to attic/scripts/lua/modules/vulnerability_scan/cve_utils.lua diff --git a/scripts/lua/modules/vulnerability_scan/modules/cve.lua b/attic/scripts/lua/modules/vulnerability_scan/modules/cve.lua similarity index 100% rename from scripts/lua/modules/vulnerability_scan/modules/cve.lua rename to attic/scripts/lua/modules/vulnerability_scan/modules/cve.lua diff --git a/scripts/lua/modules/vulnerability_scan/modules/ipv4_netscan.lua b/attic/scripts/lua/modules/vulnerability_scan/modules/ipv4_netscan.lua similarity index 100% rename from scripts/lua/modules/vulnerability_scan/modules/ipv4_netscan.lua rename to attic/scripts/lua/modules/vulnerability_scan/modules/ipv4_netscan.lua diff --git a/scripts/lua/modules/vulnerability_scan/modules/tcp_portscan.lua b/attic/scripts/lua/modules/vulnerability_scan/modules/tcp_portscan.lua similarity index 100% rename from scripts/lua/modules/vulnerability_scan/modules/tcp_portscan.lua rename to attic/scripts/lua/modules/vulnerability_scan/modules/tcp_portscan.lua diff --git a/scripts/lua/modules/vulnerability_scan/modules/udp_portscan.lua b/attic/scripts/lua/modules/vulnerability_scan/modules/udp_portscan.lua similarity index 100% rename from scripts/lua/modules/vulnerability_scan/modules/udp_portscan.lua rename to attic/scripts/lua/modules/vulnerability_scan/modules/udp_portscan.lua diff --git a/scripts/lua/modules/vulnerability_scan/modules/vulners.lua b/attic/scripts/lua/modules/vulnerability_scan/modules/vulners.lua similarity index 100% rename from scripts/lua/modules/vulnerability_scan/modules/vulners.lua rename to attic/scripts/lua/modules/vulnerability_scan/modules/vulners.lua diff --git a/scripts/lua/modules/vulnerability_scan/vs_rest_utils.lua b/attic/scripts/lua/modules/vulnerability_scan/vs_rest_utils.lua similarity index 100% rename from scripts/lua/modules/vulnerability_scan/vs_rest_utils.lua rename to attic/scripts/lua/modules/vulnerability_scan/vs_rest_utils.lua diff --git a/scripts/lua/modules/vulnerability_scan/vs_utils.lua b/attic/scripts/lua/modules/vulnerability_scan/vs_utils.lua similarity index 100% rename from scripts/lua/modules/vulnerability_scan/vs_utils.lua rename to attic/scripts/lua/modules/vulnerability_scan/vs_utils.lua diff --git a/scripts/lua/rest/v2/add/host/to_scan.lua b/attic/scripts/lua/rest/v2/add/host/to_scan.lua similarity index 100% rename from scripts/lua/rest/v2/add/host/to_scan.lua rename to attic/scripts/lua/rest/v2/add/host/to_scan.lua diff --git a/scripts/lua/rest/v2/delete/host/delete_host_to_scan.lua b/attic/scripts/lua/rest/v2/delete/host/delete_host_to_scan.lua similarity index 100% rename from scripts/lua/rest/v2/delete/host/delete_host_to_scan.lua rename to attic/scripts/lua/rest/v2/delete/host/delete_host_to_scan.lua diff --git a/scripts/lua/rest/v2/edit/host/update_va_scan_period.lua b/attic/scripts/lua/rest/v2/edit/host/update_va_scan_period.lua similarity index 100% rename from scripts/lua/rest/v2/edit/host/update_va_scan_period.lua rename to attic/scripts/lua/rest/v2/edit/host/update_va_scan_period.lua diff --git a/scripts/lua/rest/v2/exec/host/schedule_vulnerability_scan.lua b/attic/scripts/lua/rest/v2/exec/host/schedule_vulnerability_scan.lua similarity index 100% rename from scripts/lua/rest/v2/exec/host/schedule_vulnerability_scan.lua rename to attic/scripts/lua/rest/v2/exec/host/schedule_vulnerability_scan.lua diff --git a/scripts/lua/rest/v2/get/host/ports_by_nmap.lua b/attic/scripts/lua/rest/v2/get/host/ports_by_nmap.lua similarity index 100% rename from scripts/lua/rest/v2/get/host/ports_by_nmap.lua rename to attic/scripts/lua/rest/v2/get/host/ports_by_nmap.lua diff --git a/scripts/lua/rest/v2/get/host/to_scan_list.lua b/attic/scripts/lua/rest/v2/get/host/to_scan_list.lua similarity index 100% rename from scripts/lua/rest/v2/get/host/to_scan_list.lua rename to attic/scripts/lua/rest/v2/get/host/to_scan_list.lua diff --git a/scripts/lua/rest/v2/get/host/vulnerability_scan_result.lua b/attic/scripts/lua/rest/v2/get/host/vulnerability_scan_result.lua similarity index 100% rename from scripts/lua/rest/v2/get/host/vulnerability_scan_result.lua rename to attic/scripts/lua/rest/v2/get/host/vulnerability_scan_result.lua diff --git a/scripts/lua/rest/v2/get/host/vulnerability_scan_status.lua b/attic/scripts/lua/rest/v2/get/host/vulnerability_scan_status.lua similarity index 100% rename from scripts/lua/rest/v2/get/host/vulnerability_scan_status.lua rename to attic/scripts/lua/rest/v2/get/host/vulnerability_scan_status.lua diff --git a/scripts/lua/rest/v2/get/host/vulnerability_scan_type_list.lua b/attic/scripts/lua/rest/v2/get/host/vulnerability_scan_type_list.lua similarity index 100% rename from scripts/lua/rest/v2/get/host/vulnerability_scan_type_list.lua rename to attic/scripts/lua/rest/v2/get/host/vulnerability_scan_type_list.lua diff --git a/scripts/lua/vulnerability_scan.lua b/attic/scripts/lua/vulnerability_scan.lua similarity index 100% rename from scripts/lua/vulnerability_scan.lua rename to attic/scripts/lua/vulnerability_scan.lua diff --git a/scripts/templates/report/vs_result.json b/attic/scripts/templates/report/vs_result.json similarity index 100% rename from scripts/templates/report/vs_result.json rename to attic/scripts/templates/report/vs_result.json diff --git a/http_src/services/context/ntopng_globals_services.js b/http_src/services/context/ntopng_globals_services.js index b86897650e6a..076803a773ec 100644 --- a/http_src/services/context/ntopng_globals_services.js +++ b/http_src/services/context/ntopng_globals_services.js @@ -207,15 +207,6 @@ export const ntopng_utility = function () { } } }, - get_cve_details_url(cve_id, scan_type) { - // IMPORTANT: The retrieved value must match the value in - // scripts/lua/modules/vulnerability_scan/cve_utils.lua for the 'cve_utils.getDocURL' function. - if (scan_type == "cve") { - return `https://nvd.nist.gov/vuln/detail/${cve_id}`; - } else if (scan_type == "openvas") { - return `https://vulners.com/openvas/OPENVAS:${cve_id}`; - } - }, set_http_globals_headers(headers) { global_http_headers = headers; }, diff --git a/http_src/vue/app-shell.vue b/http_src/vue/app-shell.vue index 905c88803988..0c143390e737 100644 --- a/http_src/vue/app-shell.vue +++ b/http_src/vue/app-shell.vue @@ -1141,10 +1141,6 @@ function buildNetworkLoad(r) { msg += ` ${r.traffic_extraction_num_tasks || 0} `; } - if (r.vs_in_progress > 0) { - msg += ` - ${window.NtopUtils ? NtopUtils.addCommas(r.vs_in_progress) : r.vs_in_progress} `; - } } if (r.is_loading === true) { diff --git a/http_src/vue/dashboard-table.vue b/http_src/vue/dashboard-table.vue index 20e07f685d82..f008149f8cde 100644 --- a/http_src/vue/dashboard-table.vue +++ b/http_src/vue/dashboard-table.vue @@ -19,7 +19,6 @@ import { ntopng_custom_events, ntopng_events_manager } from "../services/context import formatterUtils from "../utilities/formatter-utils"; import NtopUtils from "../utilities/ntop-utils"; import Loading from "./loading.vue"; -import { scan_type_f, last_scan_f, duration_f, scan_frequency_f, is_ok_last_scan_f, tcp_ports_f, tcp_port_f, hosts_f, host_f, cves_f, max_score_cve_f, udp_ports_f, num_vuln_found_f, tcp_udp_ports_list_f, discoverd_hosts_list_f } from "../utilities/vs_report_formatter.js"; const _i18n = (t) => i18n(t); @@ -179,42 +178,6 @@ const row_render_functions = { } }, - vs_scan_result: function (column, row) { - if (column.id == "host") { - return host_f(row[column.id], row, props.ifid); - } else if (column.id == "last_scan") { - return last_scan_f(row[column.id], row); - } else if (column.id == "duration") { - return duration_f(row[column.id], row); - } else if (column.id == "scan_frequency") { - return scan_frequency_f(row[column.id]); - } else if (column.id == "is_ok_last_scan") { - return is_ok_last_scan_f(row[column.id]); - } else if (column.id == "tcp_ports") { - return tcp_ports_f(row[column.id], row); - } else if (column.id == "udp_ports") { - return udp_ports_f(row[column.id], row); - } else if (column.id == "scan_type") { - return scan_type_f(row[column.id], true, row); - } else if (column.id == "hosts") { - return hosts_f(row[column.id], row); - } else if (column.id == "cve" || column.id == "cve_list") { - return cves_f(row[column.id], row); - } else if (column.id == "port") { - return tcp_port_f(row[column.id], row); - } else if (column.id == "max_score_cve") { - return max_score_cve_f(row[column.id], row); - } else if (column.id == "num_vulnerabilities_found") { - return num_vuln_found_f(row[column.id], row); - } else if (column.id == "tcp_udp_ports_list") { - return tcp_udp_ports_list_f(row["tcp_ports_list"], row["udp_ports_list"], row); - } else if (column.id == "discovered_hosts") { - return discoverd_hosts_list_f(row[column.id]); - } else { - return row[column.id]; - } - }, - /* Render function for 'alert_count' table type */ alert_count: function (column, row) { if (column.id == 'name') { @@ -292,11 +255,6 @@ async function refresh_table() { rows = data; /* default: data is the array of records */ } - if (props.params.table_type != 'vs_scan_result') { - const max_rows = props.max_height ? ((props.max_height / 4) * 6) : 6; - rows = rows.slice(0, max_rows); - } - table_rows.value = rows; isLoading.value = false // Always false } diff --git a/http_src/vue/ntop_vue.js b/http_src/vue/ntop_vue.js index 64f22ce9101e..c192d886e14b 100644 --- a/http_src/vue/ntop_vue.js +++ b/http_src/vue/ntop_vue.js @@ -44,10 +44,6 @@ import { default as PageServerPorts } from "./page-server-ports.vue"; import { default as NedgeRepeatersConfig } from "./page-nedge-repeaters-config.vue"; import { default as PageExportersConfig } from "./page-flowdevice-config.vue"; import { default as PageFlowDeviceInterfaceDetails } from "./page-flowdevice-interface-config.vue"; -import { default as PageVulnerabilityScan } from "./page-vulnerability-scan.vue"; -import { default as PageHostVsResult } from "./page-host-vs-result.vue"; -import { default as PageOpenPorts } from "./page-open-ports.vue"; -import { default as PageVulnerabilityScanReport } from "./page-vulnerability-scan-report.vue" import { default as PageSNMPUsage } from "./page-snmp-usage.vue" import { default as PageHostsList } from "./page-hosts-list.vue" import { default as PageFlowsList } from "./page-flows-list.vue" @@ -178,7 +174,6 @@ import { default as ModalSnapshot } from "./modal-snapshot.vue"; import { default as ModalAddHostRules } from "./modal-add-traffic-rules.vue"; import { default as ModalAddApplication } from "./modal-add-application.vue"; import { default as ModalDeleteApplication } from "./modal-delete-application.vue"; -import { default as ModalEditReport } from "./modal-edit-vs-report.vue"; import { default as ModalAddSNMPDevice } from "./modal-add-snmp-device.vue"; import { default as ModalDeleteSNMPDevice } from "./modal-delete-snmp-device.vue"; import { default as ModalImportSNMPDevices } from "./modal-import-snmp-devices.vue"; @@ -239,10 +234,6 @@ let ntopVue = { PageManageConfigurations: PageManageConfigurations, PageSNMPDeviceRules: PageSNMPDeviceRules, PageServerPorts: PageServerPorts, - PageVulnerabilityScan: PageVulnerabilityScan, - PageHostVsResult: PageHostVsResult, - PageOpenPorts: PageOpenPorts, - PageVulnerabilityScanReport: PageVulnerabilityScanReport, PageFlowsList: PageFlowsList, PageMacsList: PageMacsList, PageInterfaceICMP: PageInterfaceICMP, @@ -399,7 +390,6 @@ let ntopVue = { ModalAddHostRules: ModalAddHostRules, ModalAddApplication: ModalAddApplication, ModalDeleteApplication: ModalDeleteApplication, - ModalEditReport: ModalEditReport, ModalAddSNMPDevice: ModalAddSNMPDevice, ModalDeleteSNMPDevice: ModalDeleteSNMPDevice, ModalImportSNMPDevices: ModalImportSNMPDevices, diff --git a/httpdocs/misc/db_schema_clickhouse.sql b/httpdocs/misc/db_schema_clickhouse.sql index aaeea75944ac..f87326dc8905 100644 --- a/httpdocs/misc/db_schema_clickhouse.sql +++ b/httpdocs/misc/db_schema_clickhouse.sql @@ -1852,58 +1852,6 @@ ALTER TABLE `hourly_flows` MODIFY COLUMN `DST2SRC_PACKETS` COMMENT 'Packet count @ -/* VS */ - -CREATE TABLE IF NOT EXISTS `vulnerability_scan_data` ( -`HOST` String, -`SCAN_TYPE` String, -`LAST_SCAN` DateTime, -`JSON_INFO` String, -`VS_RESULT_FILE` String -) ENGINE = MergeTree() PARTITION BY toYYYYMMDD(LAST_SCAN) ORDER BY (LAST_SCAN, HOST, SCAN_TYPE); -@ -ALTER TABLE `vulnerability_scan_data` MODIFY COMMENT 'Per-host vulnerability scan results produced by the ntopng Vulnerability Scanner (VS) module. Each row stores the latest scan output for a given host and scan type as a JSON blob.'; -@ -ALTER TABLE `vulnerability_scan_data` MODIFY COLUMN `HOST` COMMENT 'IP address or hostname of the scanned target'; -@ -ALTER TABLE `vulnerability_scan_data` MODIFY COLUMN `SCAN_TYPE` COMMENT 'Type of vulnerability scan performed (e.g. nmap, openvas)'; -@ -ALTER TABLE `vulnerability_scan_data` MODIFY COLUMN `LAST_SCAN` COMMENT 'Timestamp of when this scan was last performed'; -@ -ALTER TABLE `vulnerability_scan_data` MODIFY COLUMN `JSON_INFO` COMMENT 'Full scan results as a JSON blob'; -@ -ALTER TABLE `vulnerability_scan_data` MODIFY COLUMN `VS_RESULT_FILE` COMMENT 'Path to the raw scan result file on disk'; - -@ - -CREATE TABLE IF NOT EXISTS `vulnerability_scan_report` ( -`REPORT_NAME` String, -`REPORT_DATE` DateTime, -`REPORT_JSON_INFO` String, -`NUM_SCANNED_HOSTS` UInt32, -`NUM_CVES` UInt32, -`NUM_TCP_PORTS` UInt32, -`NUM_UDP_PORTS` UInt32 -) ENGINE = MergeTree() PARTITION BY toYYYYMMDD(REPORT_DATE) ORDER BY (REPORT_DATE); -@ -ALTER TABLE `vulnerability_scan_report` MODIFY COMMENT 'Summary reports of completed vulnerability scans. Each row represents one scan report with aggregate counts of scanned hosts, CVEs found, and open TCP/UDP ports.'; -@ -ALTER TABLE `vulnerability_scan_report` MODIFY COLUMN `REPORT_NAME` COMMENT 'User-defined name for this vulnerability scan report'; -@ -ALTER TABLE `vulnerability_scan_report` MODIFY COLUMN `REPORT_DATE` COMMENT 'Timestamp when the report was generated'; -@ -ALTER TABLE `vulnerability_scan_report` MODIFY COLUMN `REPORT_JSON_INFO` COMMENT 'Full report metadata and summary as a JSON blob'; -@ -ALTER TABLE `vulnerability_scan_report` MODIFY COLUMN `NUM_SCANNED_HOSTS` COMMENT 'Number of hosts scanned in this report'; -@ -ALTER TABLE `vulnerability_scan_report` MODIFY COLUMN `NUM_CVES` COMMENT 'Total number of CVEs identified across all scanned hosts'; -@ -ALTER TABLE `vulnerability_scan_report` MODIFY COLUMN `NUM_TCP_PORTS` COMMENT 'Total number of open TCP ports found across all scanned hosts'; -@ -ALTER TABLE `vulnerability_scan_report` MODIFY COLUMN `NUM_UDP_PORTS` COMMENT 'Total number of open UDP ports found across all scanned hosts'; - -@ - CREATE TABLE IF NOT EXISTS `mitre_table_info` ( `ALERT_ID` UInt16, `ENTITY_ID` UInt16, diff --git a/httpdocs/misc/db_schema_clickhouse_cluster.sql b/httpdocs/misc/db_schema_clickhouse_cluster.sql index fffc6f30c11c..6a45b4c1d75b 100644 --- a/httpdocs/misc/db_schema_clickhouse_cluster.sql +++ b/httpdocs/misc/db_schema_clickhouse_cluster.sql @@ -1858,58 +1858,6 @@ ALTER TABLE `hourly_flows` ON CLUSTER '$CLUSTER' MODIFY COLUMN `DST2SRC_PACKETS` @ -/* VS */ - -CREATE TABLE IF NOT EXISTS `vulnerability_scan_data` ON CLUSTER '$CLUSTER' ( -`HOST` String, -`SCAN_TYPE` String, -`LAST_SCAN` DateTime, -`JSON_INFO` String, -`VS_RESULT_FILE` String -) ENGINE = ReplicatedMergeTree('/clickhouse/{cluster}/tables/{database}/{table}', '{replica}') PARTITION BY toYYYYMMDD(LAST_SCAN) ORDER BY (LAST_SCAN, HOST, SCAN_TYPE); -@ -ALTER TABLE `vulnerability_scan_data` ON CLUSTER '$CLUSTER' MODIFY COMMENT 'Per-host vulnerability scan results produced by the ntopng Vulnerability Scanner (VS) module. Each row stores the latest scan output for a given host and scan type as a JSON blob.'; -@ -ALTER TABLE `vulnerability_scan_data` ON CLUSTER '$CLUSTER' MODIFY COLUMN `HOST` COMMENT 'IP address or hostname of the scanned target'; -@ -ALTER TABLE `vulnerability_scan_data` ON CLUSTER '$CLUSTER' MODIFY COLUMN `SCAN_TYPE` COMMENT 'Type of vulnerability scan performed (e.g. nmap, openvas)'; -@ -ALTER TABLE `vulnerability_scan_data` ON CLUSTER '$CLUSTER' MODIFY COLUMN `LAST_SCAN` COMMENT 'Timestamp of when this scan was last performed'; -@ -ALTER TABLE `vulnerability_scan_data` ON CLUSTER '$CLUSTER' MODIFY COLUMN `JSON_INFO` COMMENT 'Full scan results as a JSON blob'; -@ -ALTER TABLE `vulnerability_scan_data` ON CLUSTER '$CLUSTER' MODIFY COLUMN `VS_RESULT_FILE` COMMENT 'Path to the raw scan result file on disk'; - -@ - -CREATE TABLE IF NOT EXISTS `vulnerability_scan_report` ON CLUSTER '$CLUSTER' ( -`REPORT_NAME` String, -`REPORT_DATE` DateTime, -`REPORT_JSON_INFO` String, -`NUM_SCANNED_HOSTS` UInt32, -`NUM_CVES` UInt32, -`NUM_TCP_PORTS` UInt32, -`NUM_UDP_PORTS` UInt32 -) ENGINE = ReplicatedMergeTree('/clickhouse/{cluster}/tables/{database}/{table}', '{replica}') PARTITION BY toYYYYMMDD(REPORT_DATE) ORDER BY (REPORT_DATE); -@ -ALTER TABLE `vulnerability_scan_report` ON CLUSTER '$CLUSTER' MODIFY COMMENT 'Summary reports of completed vulnerability scans. Each row represents one scan report with aggregate counts of scanned hosts, CVEs found, and open TCP/UDP ports.'; -@ -ALTER TABLE `vulnerability_scan_report` ON CLUSTER '$CLUSTER' MODIFY COLUMN `REPORT_NAME` COMMENT 'User-defined name for this vulnerability scan report'; -@ -ALTER TABLE `vulnerability_scan_report` ON CLUSTER '$CLUSTER' MODIFY COLUMN `REPORT_DATE` COMMENT 'Timestamp when the report was generated'; -@ -ALTER TABLE `vulnerability_scan_report` ON CLUSTER '$CLUSTER' MODIFY COLUMN `REPORT_JSON_INFO` COMMENT 'Full report metadata and summary as a JSON blob'; -@ -ALTER TABLE `vulnerability_scan_report` ON CLUSTER '$CLUSTER' MODIFY COLUMN `NUM_SCANNED_HOSTS` COMMENT 'Number of hosts scanned in this report'; -@ -ALTER TABLE `vulnerability_scan_report` ON CLUSTER '$CLUSTER' MODIFY COLUMN `NUM_CVES` COMMENT 'Total number of CVEs identified across all scanned hosts'; -@ -ALTER TABLE `vulnerability_scan_report` ON CLUSTER '$CLUSTER' MODIFY COLUMN `NUM_TCP_PORTS` COMMENT 'Total number of open TCP ports found across all scanned hosts'; -@ -ALTER TABLE `vulnerability_scan_report` ON CLUSTER '$CLUSTER' MODIFY COLUMN `NUM_UDP_PORTS` COMMENT 'Total number of open UDP ports found across all scanned hosts'; - -@ - /* MITRE */ CREATE TABLE IF NOT EXISTS `mitre_table_info` ON CLUSTER '$CLUSTER' ( diff --git a/httpdocs/misc/menu_definition.json b/httpdocs/misc/menu_definition.json index a46b92a3478a..d93416129c1d 100644 --- a/httpdocs/misc/menu_definition.json +++ b/httpdocs/misc/menu_definition.json @@ -65,12 +65,6 @@ "i18n": "prefs.snmp", "icon": "fas fa-network-wired", "url": "/lua/pro/enterprise/snmpdevices_stats.lua" - }, - { - "key": "vulnerability_scan", - "i18n": "scan_hosts", - "icon": "fas fa-shield-alt", - "url": "/lua/vulnerability_scan.lua" } ] }, diff --git a/scripts/callbacks/system/startup.lua b/scripts/callbacks/system/startup.lua index 31e844f7fbb0..d99f0a3f2694 100644 --- a/scripts/callbacks/system/startup.lua +++ b/scripts/callbacks/system/startup.lua @@ -8,9 +8,6 @@ local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path package.path = dirs.installdir .. "/scripts/lua/modules/pools/?.lua;" .. package.path -package.path = dirs.installdir .. - "/scripts/lua/modules/vulnerability_scan/?.lua;" .. - package.path -- Important: load this before any other alert related module require "prefs_utils" @@ -31,7 +28,6 @@ local delete_data_utils = require "delete_data_utils" local ts_utils = require "ts_utils" local presets_utils = require "presets_utils" local blog_utils = require("blog_utils") -local vs_utils = require "vs_utils" local drop_host_pool_utils = require "drop_host_pool_utils" local json = require "dkjson" local cache_utils = require "cache_utils" @@ -365,10 +361,6 @@ if (ntop.exists(influxdb_dir)) then end end --- Vulnerability scan activities -vs_utils.migrate_keys() -vs_utils.restore_host_to_scan() - -- migrate unexpected dns/ntp/dhcp/smtp scripts to /lua/admin/network_configuration.lua migrate_unexpected_proto_config() diff --git a/scripts/lua/admin/prefs.lua b/scripts/lua/admin/prefs.lua index 498e9131da97..048bd371e040 100644 --- a/scripts/lua/admin/prefs.lua +++ b/scripts/lua/admin/prefs.lua @@ -2666,37 +2666,6 @@ if auth.has_capability(auth.capabilities.preferences) then ]] end - function printVulnerabilityScan() - print('
') - print('') - - print('') - - prefsInputFieldPrefs(subpage_active.entries["vs_concurrently_scan_number"].title, - subpage_active.entries["vs_concurrently_scan_number"].description, "ntopng.prefs.", - "host_to_scan_max_num_scans", prefs.host_to_scan_max_num_scans or 4, "number", true, false, nil, { - min = 1, - max = 16 - }) - local default_vs_slow_scan_value = ternary(prefs.vs_slow_scan == false, "0", "1") - prefsToggleButton(subpage_active, { - field = "toggle_slow_mode", - default = default_vs_slow_scan_value, - pref = "vs.vs_slow_scan" - }) - - print( - '') - - print [[ - -
' .. - i18n("hosts_stats.page_scan_hosts.prefs_tab_title") .. '
]] - end - function printDumpSettings() print('
') print('') @@ -3205,10 +3174,6 @@ if auth.has_capability(auth.capabilities.preferences) then printReportsOptions() end - if (tab == "vulnerability_scan") then - printVulnerabilityScan() - end - print [[
diff --git a/scripts/lua/experiments/stats_to_mbroker.lua b/scripts/lua/experiments/stats_to_mbroker.lua index a65b99c790e9..a018cf83892f 100644 --- a/scripts/lua/experiments/stats_to_mbroker.lua +++ b/scripts/lua/experiments/stats_to_mbroker.lua @@ -4,7 +4,6 @@ local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path -- ############################################ @@ -18,7 +17,6 @@ local periodic_activities_utils = require "periodic_activities_utils" local callback_utils = require("callback_utils") local recording_utils = require("recording_utils") local auth = require "auth" -local vs_utils = require "vs_utils" local json = require("dkjson") -- ############################################ @@ -80,11 +78,6 @@ local function format_info(ifstats) res["throughput_bps"] = ifstats.stats.throughput_bps; - if (vs_utils.is_available()) then - local total, total_in_progress = vs_utils.check_in_progress_status() - res["vs_in_progress"] = total_in_progress or 0 - end - if prefs.is_dump_flows_enabled then res["flow_export_drops"] = ifstats.stats_since_reset.db.flow_export_drops res["flow_export_count"] = ifstats.stats_since_reset.db.flow_export_count diff --git a/scripts/lua/get_hosts_data.lua b/scripts/lua/get_hosts_data.lua index 717013afa227..3380e487f053 100644 --- a/scripts/lua/get_hosts_data.lua +++ b/scripts/lua/get_hosts_data.lua @@ -4,15 +4,13 @@ local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "lua_utils" local discover = require "discover_utils" local custom_column_utils = require "custom_column_utils" local format_utils = require "format_utils" local json = require "dkjson" -local vs_utils = require "vs_utils" -local have_nedge = ntop.isnEdge and ntop.isnEdge() +local have_nedge = ntop.isnEdge() sendHTTPContentTypeHeader('text/json') @@ -215,12 +213,6 @@ if(hosts_stats ~= nil) then vals[hosts_stats[key]["queries.rcvd"]+postfix] = key elseif(sortColumn == "column_ip") then vals[hosts_stats[key]["iphex"]..postfix] = key - elseif(sortColumn == "column_num_vulnerabilities") then - if(host_vs_details.num_vulnerabilities_found ~= nil) then - vals[host_vs_details.num_vulnerabilities_found..postfix] = key - else - vals["0"..postfix] = key - end elseif custom_column_utils.isCustomColumn(sortColumn) then custom_column_key, custom_column_format = custom_column_utils.label2criteriakey(sortColumn) local val = custom_column_utils.hostStatsToColumnValue(hosts_stats[key], custom_column_key, false) @@ -252,15 +244,7 @@ for _key, _value in pairsByKeys(vals, funct) do local record = {} local key = vals[_key] local value = hosts_stats[key] - local host_vulnerabilities = vs_utils.retrieve_host(value["ip"]) - if (host_vulnerabilities and - host_vulnerabilities.num_vulnerabilities_found ~= nil and - host_vulnerabilities.num_vulnerabilities_found > 0) then - record["column_num_vulnerabilities"] = format_high_num_value_for_tables( - { value = host_vulnerabilities.num_vulnerabilities_found }, "value") - end - local symkey = hostinfo2jqueryid(hosts_stats[key]) record["key"] = symkey diff --git a/scripts/lua/get_hosts_stats.lua b/scripts/lua/get_hosts_stats.lua index 87d91bb12c66..4160f1c4ca3c 100644 --- a/scripts/lua/get_hosts_stats.lua +++ b/scripts/lua/get_hosts_stats.lua @@ -3,13 +3,11 @@ -- local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "lua_utils" local json = require "dkjson" local custom_column_utils = require "custom_column_utils" local format_utils = require "format_utils" -local vs_utils = require "vs_utils" local custom_column = _GET["custom_column"] sendHTTPHeader('application/json') @@ -96,16 +94,6 @@ local function get_host_data(host) res["column_thpt"] = "0 " .. throughput_type end - local host_vulnerabilities = vs_utils.retrieve_host(host["ip"]) - - if (host_vulnerabilities and - host_vulnerabilities.num_vulnerabilities_found ~= nil and - host_vulnerabilities.num_vulnerabilities_found > 0) then - res["column_num_vulnerabilities"] = format_high_num_value_for_tables( - host_vulnerabilities, "num_vulnerabilities_found") - end - - res["column_num_flows"] = host["active_flows.as_client"] + host["active_flows.as_server"] res["column_num_flows"] = format_high_num_value_for_tables(res, "column_num_flows") if isBridgeInterface(interface.getStats()) then diff --git a/scripts/lua/host_details.lua b/scripts/lua/host_details.lua index 6aa43d7014bc..a38037e71102 100644 --- a/scripts/lua/host_details.lua +++ b/scripts/lua/host_details.lua @@ -6,7 +6,6 @@ local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path package.path = dirs.installdir .. "/scripts/lua/modules/timeseries/?.lua;" .. package.path package.path = dirs.installdir .. "/scripts/lua/modules/pools/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path package.path = dirs.installdir .. "/scripts/lua/modules/timeseries/?.lua;" .. package.path require "lua_utils" @@ -16,8 +15,6 @@ local host_sites_update local sites_granularities = {} local auth = require "auth" local ts_utils = require "ts_utils_core" -local vs_utils = require "vs_utils" -local cve_utils = require "cve_utils" local site_utils = require "site_utils" local is_pro = ntop.isPro and ntop.isPro() diff --git a/scripts/lua/modules/active_monitoring.lua b/scripts/lua/modules/active_monitoring.lua index 3bdb224cb740..2f5b55163cac 100644 --- a/scripts/lua/modules/active_monitoring.lua +++ b/scripts/lua/modules/active_monitoring.lua @@ -61,9 +61,6 @@ function am.get_am_defs() local measurements_info = {} for key, info in pairs(am_utils.getMeasurementsInfo()) do - if key == "vulnerability_scan" or key == "cve_changes_detected" or key == "ports_changes_detected" then - goto continue - end local label = i18n(info.i18n_label) or info.i18n_label local unit = i18n(info.i18n_unit) or info.i18n_unit @@ -78,7 +75,6 @@ function am.get_am_defs() default_threshold = info.default_threshold } - ::continue:: end for _, info in pairsByKeys(measurements_info, asc) do diff --git a/scripts/lua/modules/alert_keys/other_alert_keys.lua b/scripts/lua/modules/alert_keys/other_alert_keys.lua index 317c1d10b851..ce6d667b2c56 100644 --- a/scripts/lua/modules/alert_keys/other_alert_keys.lua +++ b/scripts/lua/modules/alert_keys/other_alert_keys.lua @@ -98,7 +98,7 @@ local other_alert_keys = { alert_snmp_interface_threshold_crossed = OTHER_BASE_KEY + 85, alert_score_behavior_anomaly = OTHER_BASE_KEY + 86, alert_traffic_behavior_anomaly = OTHER_BASE_KEY + 87, - alert_vulnerability_scan = OTHER_BASE_KEY + 88, + alert_vulnerability_scan = OTHER_BASE_KEY + 88, -- No longer used alert_host_pool_rule_threshold_crossed = OTHER_BASE_KEY + 89, alert_cidr_rule_threshold_crossed = OTHER_BASE_KEY + 90, alert_system_error = OTHER_BASE_KEY + 91, diff --git a/scripts/lua/modules/am_import_export.lua b/scripts/lua/modules/am_import_export.lua index 1a53d30753e9..bafbd734d6c9 100644 --- a/scripts/lua/modules/am_import_export.lua +++ b/scripts/lua/modules/am_import_export.lua @@ -5,13 +5,11 @@ local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path package.path = dirs.installdir .. "/scripts/lua/modules/import_export/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "lua_utils" local import_export = require "import_export" local host_pools = require "host_pools" local am_utils = require "am_utils" -local vs_utils = require "vs_utils" -- ############################################## @@ -63,9 +61,6 @@ function am_import_export:import(config) end end - --- vs_utils.restore_config_backup(vs_conf) - if not res.err then res.success = true end @@ -91,9 +86,6 @@ function am_import_export:export() end end - - local hosts_to_scan = vs_utils.retrieve_hosts_backup() - local am_configs = { res = res, vs_config = hosts_to_scan diff --git a/scripts/lua/modules/am_utils.lua b/scripts/lua/modules/am_utils.lua index 9b4d632bd66e..7c0621286b1c 100644 --- a/scripts/lua/modules/am_utils.lua +++ b/scripts/lua/modules/am_utils.lua @@ -626,21 +626,6 @@ local function loadAmScripts() ::continue:: end - loaded_measurements['vulnerability_scan'] = { - measurement = { - i18n_label = "active_monitoring_stats.vulnerability_scan" - } - } - loaded_measurements['ports_changes_detected'] = { - measurement = { - i18n_label = "active_monitoring_stats.ports_changes_detected" - } - } - loaded_measurements['cve_changes_detected'] = { - measurement = { - i18n_label = "active_monitoring_stats.cve_changes_detected" - } - } end -- ############################################## diff --git a/scripts/lua/modules/dashboard_utils.lua b/scripts/lua/modules/dashboard_utils.lua index 17bc35c9eeb5..8c0b319a686d 100644 --- a/scripts/lua/modules/dashboard_utils.lua +++ b/scripts/lua/modules/dashboard_utils.lua @@ -4,7 +4,6 @@ local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "lua_utils" require "lua_utils_get" @@ -13,7 +12,6 @@ local rest_utils = require "rest_utils" local lua_path_utils = require "lua_path_utils" local file_utils = require "file_utils" local json = require "dkjson" -local vs_utils = require "vs_utils" local prefs = ntop.getPrefs() local dashboard_utils = {} @@ -30,7 +28,6 @@ end dashboard_utils.module_available = { ['historical_flows'] = is_clickhouse_available, - ['vulnerability_scan'] = vs_utils.is_available, ['l7_timeseries'] = is_l7_timeseries_available, ['packet_interface'] = interface.isPacketInterface, ['zmq_interface'] = interface.isZMQInterface, diff --git a/scripts/lua/modules/format_utils.lua b/scripts/lua/modules/format_utils.lua index f86177279dae..e1f039797673 100644 --- a/scripts/lua/modules/format_utils.lua +++ b/scripts/lua/modules/format_utils.lua @@ -771,9 +771,6 @@ local function format_notification_subject(notifications) if notification.notification_type == "reports" then subject = i18n("report.traffic_report") - elseif notification.notification_type == "vulnerability_scans" then - subject = i18n("vulnerability_scan.report") - else local subject = i18n("alert_messages.alert") if #notifications > 1 then @@ -798,17 +795,7 @@ local function format_notification(notification, options) (not options or not options.nohtml) then message = format_report_email(notification) handled = true - - elseif (notification.notification_type == "vulnerability_scans") then - if(not options or not options.nohtml) then - -- nothing to do - else - message = format_no_html_vs_report_message(message) - end - handled = true - end - return handled, message end diff --git a/scripts/lua/modules/menu_definition.lua b/scripts/lua/modules/menu_definition.lua index 5b8d9b5e69ed..063ea8c8e289 100644 --- a/scripts/lua/modules/menu_definition.lua +++ b/scripts/lua/modules/menu_definition.lua @@ -45,13 +45,7 @@ return function(f) url = "/lua/discover.lua", hidden = f.no_discoverable_interface or f.is_windows or f.is_loopback_interface or f.limit_resource_usage or f.infrastructure_view - }, { - key = "vulnerability_scan", - i18n = "scan_hosts", - icon = "fas fa-shield-alt", - url = "/lua/vulnerability_scan.lua", - hidden = f.no_vs_utils or f.is_zmq_interface - } -- pro entries appended by menu_definition_pro: infrastructure_dashboard, snmp_monitoring + }, -- pro entries appended by menu_definition_pro: infrastructure_dashboard, snmp_monitoring } }, { diff --git a/scripts/lua/modules/notifications/recipients.lua b/scripts/lua/modules/notifications/recipients.lua index f07084037aed..89b4a72c7710 100644 --- a/scripts/lua/modules/notifications/recipients.lua +++ b/scripts/lua/modules/notifications/recipients.lua @@ -61,10 +61,6 @@ function recipients.get_notification_types() reports = { title = i18n('report.reports'), icon = 'fa-regular fa-newspaper' - }, - vulnerability_scans = { - title = i18n('hosts_stats.page_scan_hosts.vulnerability_scan_reports'), - icon = 'fa-solid fa-clipboard' } } @@ -1121,14 +1117,12 @@ end -- @param current_script The user script which has triggered this notification - can be nil if the script is unknown or not available -- @return nil function recipients.dispatch_notification(notification, current_script, notification_type, recipient_id) - local is_vs = (notification_type == 'vulnerability_scans') - if not notification then -- traceError(TRACE_ERROR, TRACE_CONSOLE, "Internal error. Empty notification") -- tprint(debug.traceback()) end - if debug_vs and is_vs then + if debug_vs then traceError(TRACE_NORMAL, TRACE_CONSOLE, "VS: dispatching notification") end @@ -1159,7 +1153,7 @@ function recipients.dispatch_notification(notification, current_script, notifica for _, recipient in ipairs(cached_recipients) do local recipient_ok = true - if debug_vs and is_vs then + if debug_vs then traceError(TRACE_NORMAL, TRACE_CONSOLE, "VS: evaluating recipient") tprint(recipient) end @@ -1178,7 +1172,7 @@ function recipients.dispatch_notification(notification, current_script, notifica if recipient_ok and notification_type and notification_type ~= "alerts" then if recipient.notifications_type and recipient.notifications_type ~= "alerts" then if notification_type == recipient.notifications_type then - if debug_vs and is_vs then + if debug_vs then traceError(TRACE_NORMAL, TRACE_CONSOLE, "VS: recipient match!") end goto skip_filters @@ -1325,7 +1319,7 @@ function recipients.dispatch_notification(notification, current_script, notifica -- Enqueue alert --debug_print("Delivering alert for entity id " .. notification.entity_id .. " to recipient " .. recipient.recipient_name) - if debug_vs and is_vs then + if debug_vs then traceError(TRACE_NORMAL, TRACE_CONSOLE, "VS: enqueueing notification to recipient") end diff --git a/scripts/lua/modules/page_utils.lua b/scripts/lua/modules/page_utils.lua index 1a54adebddba..8ca40acf8672 100644 --- a/scripts/lua/modules/page_utils.lua +++ b/scripts/lua/modules/page_utils.lua @@ -177,11 +177,6 @@ page_utils.menu_entries = { i18n_title = "discover.network_discovery", section = "monitoring" }, - vulnerability_scan = { - key = "vulnerability_scan", - i18n_title = "scan_hosts", - section = "monitoring" - }, -- Dashboard traffic_dashboard = { diff --git a/scripts/lua/modules/prefs_menu.lua b/scripts/lua/modules/prefs_menu.lua index 45c2cc94ff55..5540c0321a55 100644 --- a/scripts/lua/modules/prefs_menu.lua +++ b/scripts/lua/modules/prefs_menu.lua @@ -21,22 +21,6 @@ local has_nAnalyst = ntop.hasnAnalyst and ntop.hasnAnalyst() and (not is_system -- This table is used both to control access to the preferences and to filter preferences results local menu_subpages = {{ - id = "vulnerability_scan", - label = i18n("prefs.vulnerability_scan"), - advanced = false, - pro_only = true, - hidden = not (ntop.isEnterprise and ntop.isEnterprise()), - entries = { - vs_concurrently_scan_number = { - title = i18n("prefs.vs_concurrently_scan_number_title"), - description = i18n("prefs.vs_concurrently_scan_number_descr") - }, - toggle_slow_mode = { - title = i18n("prefs.vs_slow_mode_title"), - description = i18n("prefs.vs_slow_mode_description") - } - } - },{ id = "active_monitoring", label = i18n("active_monitoring_stats.active_monitoring"), advanced = false, diff --git a/scripts/lua/modules/timeseries_info.lua b/scripts/lua/modules/timeseries_info.lua index ccd9b61f93ec..0e328892fef3 100644 --- a/scripts/lua/modules/timeseries_info.lua +++ b/scripts/lua/modules/timeseries_info.lua @@ -44,7 +44,6 @@ local timeseries_id = { nedge = "nedge", sflow_dev = "sflowdev", sflow_port = "sflowdev_port", - vulnerability_scan = "am_vuln_scan", flow = "flow", flow_aggr = "flow_aggr", } @@ -103,8 +102,6 @@ local function getTimeseriesFromModules(tags, prefix, ts_options) module_to_use = require "ts_sflow_device" elseif prefix == timeseries_id.sflow_port then module_to_use = require "ts_sflow_device_port" - elseif prefix == timeseries_id.vulnerability_scan then - module_to_use = require "ts_vulnerability_scan" elseif prefix == timeseries_id.flow then module_to_use = require "ts_flow" elseif prefix == timeseries_id.flow_aggr then diff --git a/scripts/lua/modules/toasts/defined_toasts.lua b/scripts/lua/modules/toasts/defined_toasts.lua index 9be443a14483..9fceff7a8fcf 100644 --- a/scripts/lua/modules/toasts/defined_toasts.lua +++ b/scripts/lua/modules/toasts/defined_toasts.lua @@ -248,16 +248,6 @@ local defined_toats = { excluded_pages = {pages.endpoint_recipients.key}, excluded_subpages = EMPTY_PAGES }, - { - id = 24, - dismissable = true, - has_priority = false, - predicate = predicates.vulnerability_scan, - pages = {pages.vulnerability_scan.key}, - subpages = EMPTY_PAGES, - excluded_pages = EMPTY_PAGES, - excluded_subpages = EMPTY_PAGES - }, { id = 25, dismissable = false, diff --git a/scripts/lua/modules/toasts/predicates_defined_toasts.lua b/scripts/lua/modules/toasts/predicates_defined_toasts.lua index 36d56373e67c..e12b45110c94 100644 --- a/scripts/lua/modules/toasts/predicates_defined_toasts.lua +++ b/scripts/lua/modules/toasts/predicates_defined_toasts.lua @@ -684,22 +684,6 @@ function predicates.hosts_geomap(toast, container) end end ---- @param toast table The toast is the logic model defined in defined_toasts ---- @param container table Is the table where to put the new toast ui -function predicates.vulnerability_scan(toast, container) - if not IS_ADMIN then - return - end - - if not ntop.isClickHouseEnabled() then - local body = i18n("hosts_stats.page_scan_hosts.enable_clickhouse_toast_label", { - link = "https://www.ntop.org/guides/ntopng/user_interface/network_interface/monitoring/vulnerability_scan.html#scan-reports" - }) - table.insert(container, toast_ui:new(toast.id, i18n("info"),body, - ToastLevel.INFO, nil, toast.dismissable)) - end -end - --- @param toast table The toast is the logic model defined in defined_toasts --- @param container table Is the table where to put the new toast ui function predicates.service_map(toast, container) diff --git a/scripts/lua/rest/v2/delete/tag/tag.lua b/scripts/lua/rest/v2/delete/tag/tag.lua index c895cbd4a489..d76a586521b9 100644 --- a/scripts/lua/rest/v2/delete/tag/tag.lua +++ b/scripts/lua/rest/v2/delete/tag/tag.lua @@ -3,7 +3,6 @@ -- local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "label_utils" require "ntop_utils" diff --git a/scripts/lua/rest/v2/edit/tag/tag.lua b/scripts/lua/rest/v2/edit/tag/tag.lua index e07279b65bb5..c3690244a044 100644 --- a/scripts/lua/rest/v2/edit/tag/tag.lua +++ b/scripts/lua/rest/v2/edit/tag/tag.lua @@ -3,7 +3,6 @@ -- local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "label_utils" require "ntop_utils" diff --git a/scripts/lua/rest/v2/get/flow/active_list.lua b/scripts/lua/rest/v2/get/flow/active_list.lua index edad38218279..9bcf2b1ed8f1 100644 --- a/scripts/lua/rest/v2/get/flow/active_list.lua +++ b/scripts/lua/rest/v2/get/flow/active_list.lua @@ -3,7 +3,6 @@ -- local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "lua_utils" require "flow_utils" diff --git a/scripts/lua/rest/v2/get/host/active_list.lua b/scripts/lua/rest/v2/get/host/active_list.lua index 563cee2c2514..60a2fdc74be5 100644 --- a/scripts/lua/rest/v2/get/host/active_list.lua +++ b/scripts/lua/rest/v2/get/host/active_list.lua @@ -3,14 +3,13 @@ -- local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "label_utils" require "ntop_utils" require "http_lint" +require "lua_utils_get" local rest_utils = require "rest_utils" -local vs_utils = require "vs_utils" -local have_nedge = ntop.isnEdge and ntop.isnEdge() +local have_nedge = ntop.isnEdge() -- Table parameters local all = _GET["all"] @@ -200,12 +199,6 @@ for key, value in pairs(hosts_stats["hosts"]) do column_ip["vlan"]["id"] = value["vlan"] end - local host_vulnerabilities = vs_utils.retrieve_host(value["ip"]) - - if (host_vulnerabilities) and not isEmptyString(host_vulnerabilities.num_vulnerabilities_found) then - record["num_cves"] = host_vulnerabilities.num_vulnerabilities_found - end - record["host"] = column_ip record["first_seen"] = value["seen.first"] record["last_seen"] = value["seen.last"] diff --git a/scripts/lua/rest/v2/get/host/resolve_host_name.lua b/scripts/lua/rest/v2/get/host/resolve_host_name.lua index 57b55e71615d..09f3ddde99bd 100644 --- a/scripts/lua/rest/v2/get/host/resolve_host_name.lua +++ b/scripts/lua/rest/v2/get/host/resolve_host_name.lua @@ -4,8 +4,6 @@ dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path package.path = dirs.installdir .. "/scripts/lua/modules/host/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path - require "lua_utils" local rest_utils = require "rest_utils" diff --git a/scripts/lua/rest/v2/get/interface/data.lua b/scripts/lua/rest/v2/get/interface/data.lua index ae5d6481b039..b9cc63c34012 100644 --- a/scripts/lua/rest/v2/get/interface/data.lua +++ b/scripts/lua/rest/v2/get/interface/data.lua @@ -4,7 +4,6 @@ local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path -- trace_script_duration = true @@ -15,7 +14,6 @@ local callback_utils = require("callback_utils") local recording_utils = require("recording_utils") local rest_utils = require("rest_utils") local auth = require "auth" -local vs_utils = require "vs_utils" -- -- Read information about an interface @@ -371,10 +369,7 @@ function dumpBriefInterfaceStats(ifid) res["drops"] = ifstats.stats_since_reset.drops res["throughput_bps"] = ifstats.stats.throughput_bps; - if (vs_utils.is_available()) then - local total, total_in_progress = vs_utils.check_in_progress_status() - res["vs_in_progress"] = total_in_progress or 0 - end + if ntop.isClickHouseEnabled() and ifstats.stats_since_reset["db"] then local s = {} s["flow_export_count"] = ifstats.stats_since_reset["db"].flow_export_count diff --git a/scripts/lua/rest/v2/get/mac/macs_list.lua b/scripts/lua/rest/v2/get/mac/macs_list.lua index 26414b611e27..6b20ab832c18 100644 --- a/scripts/lua/rest/v2/get/mac/macs_list.lua +++ b/scripts/lua/rest/v2/get/mac/macs_list.lua @@ -3,17 +3,17 @@ -- local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "label_utils" require "ntop_utils" require "http_lint" require "mac_utils" require "lua_utils_gui" +require "lua_utils" local discover = require "discover_utils" local rest_utils = require "rest_utils" -local vs_utils = require "vs_utils" +local format_utils = require "format_utils" -- Table parameters local all = _GET["all"] @@ -185,7 +185,7 @@ for _, value in ipairs(page_macs) do if (value["arp_requests.sent"] == None) then record["arp"] = 0 else - record["arp"] = formatValue(value["arp_requests.sent"] + value["arp_replies.sent"] + + record["arp"] = format_utils.formatValue(value["arp_requests.sent"] + value["arp_replies.sent"] + value["arp_requests.rcvd"] + value["arp_replies.rcvd"]) end diff --git a/scripts/lua/rest/v2/get/ntopng/menu.lua b/scripts/lua/rest/v2/get/ntopng/menu.lua index 5cb87744be10..54003d7f0a45 100644 --- a/scripts/lua/rest/v2/get/ntopng/menu.lua +++ b/scripts/lua/rest/v2/get/ntopng/menu.lua @@ -11,7 +11,6 @@ local dirs = ntop.getDirs() package.path = dirs.installdir .. "/pro/scripts/lua/enterprise/modules/?.lua;" .. package.path package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "lua_utils" require "check_redis_prefs" diff --git a/scripts/lua/rest/v2/get/tag/tags_list.lua b/scripts/lua/rest/v2/get/tag/tags_list.lua index d698933b9d18..8848b3d4dcf8 100644 --- a/scripts/lua/rest/v2/get/tag/tags_list.lua +++ b/scripts/lua/rest/v2/get/tag/tags_list.lua @@ -3,7 +3,6 @@ -- local dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -package.path = dirs.installdir .. "/scripts/lua/modules/vulnerability_scan/?.lua;" .. package.path require "label_utils" require "ntop_utils" diff --git a/scripts/lua/rest/v2/get/timeseries/batch.lua b/scripts/lua/rest/v2/get/timeseries/batch.lua index dadc81606471..d7f9717b8242 100644 --- a/scripts/lua/rest/v2/get/timeseries/batch.lua +++ b/scripts/lua/rest/v2/get/timeseries/batch.lua @@ -81,7 +81,6 @@ local _prefix_to_module = { snmp_device = "ts_snmp_device", snmp_if = "ts_snmp_interface", obs_point = "ts_observation_point", - am_vuln_scan = "ts_vulnerability_scan", nedge = "ts_nedge", } diff --git a/tests/e2e b/tests/e2e index 6caf427ca51a..cace7b4e1dbd 160000 --- a/tests/e2e +++ b/tests/e2e @@ -1 +1 @@ -Subproject commit 6caf427ca51a2a3ef9f8af002f45387133abcd4a +Subproject commit cace7b4e1dbd1c2ab9d5535fd1c0673e98dfb0e1