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