[Openvas-discuss] SQL Schema Notes
oday@fas.harvard.edu
oday at fas.harvard.edu
Thu May 31 21:09:20 CEST 2007
Just pulling from the source code here. I will try to patch this code in soon
to trunk. Any objections to going forward with this schema for now?
Oliver
/*=====================================================================
/* Table: schema
/*=====================================================================
CREATE TABLE schema (
vseq INT UNSIGNED NOT NULL,
ctime DATETIME NOT NULL,
PRIMARY KEY (vseq)
);
INSERT INTO schema (vseq, ctime) VALUES ('102', now());
/*=====================================================================
/* Table: vulnerability
/*=====================================================================
CREATE TABLE vulnerability (
vulnerabilityid INT UNSIGNED NOT NULL AUTO_INCREMENT,
executionid INT UNSIGNED NOT NULL,
hostid INT UNSIGNED NOT NULL,
sessionid INT UNSIGNED NOT NULL,
pluginid INT UNSIGNED NOT NULL,
isfalsepositive TINYINT UNSIGNED NOT NULL,
risk TINYINT UNSIGNED NOT NULL,
type VARCHAR(20),
info TEXT,
PRIMARY KEY (vulnerabilityid),
INDEX (executionid),
INDEX (hostid),
INDEX (sessionid),
INDEX (pluginid)
);
/*=====================================================================
/* Table: pluginbid
/*=====================================================================
CREATE TABLE pluginbid (
pluginid INT UNSIGNED NOT NULL,
bid VARCHAR(30) NOT NULL,
INDEX (pluginid)
);
/*=====================================================================
/* Table: pluginsubstitute
/*=====================================================================
CREATE TABLE pluginsubstitute (
pluginid INT UNSIGNED NOT NULL,
subpluginid INT UNSIGNED NOT NULL,
substitutiondate datetime NOT NULL,
INDEX (pluginid),
INDEX (subpluginid)
);
/*=====================================================================
/* Table: plugincve
/*=====================================================================
CREATE TABLE plugincve (
pluginid INT UNSIGNED NOT NULL,
cve VARCHAR(30) NOT NULL,
INDEX (pluginid)
);
/*=====================================================================
/* Table: plugin
/*=====================================================================
CREATE TABLE plugin (
pluginid INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
family VARCHAR(50),
filename VARCHAR(255),
category VARCHAR(50),
type VARCHAR(50),
script_modified VARCHAR(255),
source VARCHAR(255),
dependencies VARCHAR(255),
revision VARCHAR(15),
notes TEXT,
description TEXT,
solution TEXT,
summary TEXT,
risk_factor TEXT,
PRIMARY KEY (pluginid)
);
/*=====================================================================
/* Table: protocol
/*=====================================================================
CREATE TABLE protocol (
protocolid INT UNSIGNED NOT NULL AUTO_INCREMENT,
protocolnumber INT UNSIGNED NOT NULL,
name VARCHAR(30) NOT NULL,
PRIMARY KEY (protocolid)
);
/*=====================================================================
/* Table: userlist
/*=====================================================================
CREATE TABLE userlist (
userid INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
rules VARCHAR(255) NOT NULL,
hash VARCHAR(255) NOT NULL,
PRIMARY KEY (userid)
);
/*=====================================================================
/* Table: hostsession
/*=====================================================================
CREATE TABLE hostsession (
hostid INT UNSIGNED NOT NULL,
sessionid INT UNSIGNED NOT NULL,
starttime DATETIME,
endtime DATETIME,
status VARCHAR(20),
preferences VARCHAR(255) NOT NULL,
configuration VARCHAR(255) NOT NULL,
ipaddresses VARCHAR(30) NOT NULL,
nessusversion VARCHAR(10) NOT NULL,
description TEXT,
INDEX (hostid),
INDEX (sessionid)
);
/*=====================================================================
/* Table: usersession
/*=====================================================================
CREATE TABLE usersession (
userid INT UNSIGNED NOT NULL,
sessionid INT UNSIGNED NOT NULL,
location VARCHAR(30),
INDEX (userid),
INDEX (sessionid)
);
/*=====================================================================
/* Table: knowservice
/*=====================================================================
CREATE TABLE knowservice (
serviceid INT UNSIGNED NOT NULL AUTO_INCREMENT,
protocolid INT UNSIGNED NOT NULL,
portnumber INT UNSIGNED NOT NULL,
servicename VARCHAR(255),
PRIMARY KEY (serviceid),
INDEX (protocolid)
);
/*=====================================================================
/* Table: executedplugin
/*=====================================================================
CREATE TABLE executedplugin (
executionid INT UNSIGNED NOT NULL AUTO_INCREMENT,
pluginid INT UNSIGNED NOT NULL,
hostid INT UNSIGNED NOT NULL,
sessionid INT UNSIGNED NOT NULL,
serviceid INT UNSIGNED NOT NULL,
completed TINYINT UNSIGNED NOT NULL,
starttime DATETIME NOT NULL,
endtime DATETIME,
pluginrevision VARCHAR(10),
PRIMARY KEY (executionid),
INDEX (pluginid),
INDEX (hostid),
INDEX (sessionid),
INDEX (serviceid)
);
/*=====================================================================
/* Table: service
/*=====================================================================
CREATE TABLE service (
pluginid INT UNSIGNED NOT NULL,
hostid INT UNSIGNED NOT NULL,
sessionid INT UNSIGNED NOT NULL,
serviceid INT UNSIGNED NOT NULL,
INDEX (pluginid),
INDEX (hostid),
INDEX (sessionid),
INDEX (serviceid)
);
/*=====================================================================
/* Table: session
/*=====================================================================
CREATE TABLE session (
sessionid INT UNSIGNED NOT NULL AUTO_INCREMENT,
starttime DATETIME,
endtime DATETIME,
preferences VARCHAR(255),
ipaddresses VARCHAR(30),
description VARCHAR(255),
nessusversion VARCHAR(10),
configuration TEXT,
PRIMARY KEY (sessionid)
);
/*=====================================================================
/* Table: knowledgebase
/*=====================================================================
CREATE TABLE knowledgebase (
knowledgeid INT UNSIGNED NOT NULL AUTO_INCREMENT,
hostid INT UNSIGNED NOT NULL,
sessionid INT UNSIGNED NOT NULL,
kbkey INT UNSIGNED NOT NULL,
value TEXT NOT NULL,
creationtime DATETIME NOT NULL,
PRIMARY KEY (knowledgeid),
INDEX (hostid),
INDEX (sessionid)
);
/*=====================================================================
/* Table: host
/*=====================================================================
CREATE TABLE host (
hostid INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(30),
ip VARCHAR(16) NOT NULL,
dns VARCHAR(30),
mac VARCHAR(18),
PRIMARY KEY (hostid),
INDEX (ip)
);
More information about the Openvas-discuss
mailing list