Re: Proposed schema for the backend database for Nessus

Javier Fernandez-Sanguino <[email protected]>
Newsgroups gmane.comp.security.nessus.devel
Organization Germinus
Message-ID <[email protected]>
fbr wrote:

>Javier,
>
>Couldn't the Plugin-CVE and Plugin-BID be merged into just an Plugin reference 
>table?  This would allow you to link in information from other sources 
>besides the two already listed.  Maybe the table should be called 
>plugin_reference, and have the columns Plugin-id, Type, and Value.
>
I believe this is the same idea behind the OSVDB. However, I don't like 
for several reasons:

- you cannot impose syntax restrictions based on the table. Example: 
Plugin-CVE.Value has to be "CVE|CAN-\d+-\d+" while Plugin-BID.Value is 
just "\d+". So you have to define them as text or character(255). 
Imposing syntax restrictions provides a mechanism, in the long run, to 
avoid database corruption due to improper information being entered. 
That's just IMHO.

- if you want to do a union between, say, CVE and the Nessus-plugins 
there is going to be a lot of overhead due to the other references. I.e.:
SELECT * from Plugin-CVE, CVE where Plugin-CVE.Value = CVE.ID
is going to be less overhead than
SELECT * from Plugin_reference, CVE where Plugin_reference.Type='CVE' 
and Plugin_reference.Value = CVE.ID

I'm not sure if there are valid reasons, however, feel free to discuss 
them. I'm open to suggestions ...

>
>You could also normalize out many other things in this schema such as 
>Nessus-plugin.category,type, etc...
>
Yes, that can be done. Thanks for pointing it out.

Javi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.