What do you think?
Is it worth it to audit (really just logging if you don't look at it)
if you are never looking at it?
How much performance is really lost from auditing/
How much auditing is too much?
If you decide to log what would you log? Deletes, Updates, inserts,
Queries? Unauthorized look ups? Remember back to IS 420 and writing
triggers. That could be a way to log.
As far as performance hits, I don't know. Just logging log-in
log-outs won't really hurt anything, but updates, and deletes might
not happen very often but result in a valuable log of illegal
activity.
An interesting real world problem.
John G. Martinson
In a setting such as what you have at LANL, security is definitely an
issue. You never know when some script kiddie (or a full-on
professional) will want to try something and happen to target your
organization. I've never thought about a way to do this, but perhaps
you could set up a way to filter what activities are more suspect and
which are more trivial? That way certain actions would be logged while
the others would be disregarded. It would still take more resources
than a simple logon/logoff audit system, but somewhere along the line
either resources or security will be sacrificed.
You must ask yourself which is more important--security or system
resources. I can see security outweighing the system resources simply
because the system resources can be augmented rather easily and at low
cost these days.
As for manpower to review the logs, I have no real suggestion. I, for
one, would find it difficult to read through security logs on a regular
basis trying to separate the important from the mundane. Props to
those who do it ;) I like your idea about generating reports that
would consolidate information. Maybe if you were to implement the
activity filter thing I mentioned above you could have different
sections on the reports with the actions performed in the period listed
by category.
Hopefully my rambling helped at least a little ;)
Tejay, I know you probably already know that, but for some other
readers this brings me back to one of the first things we learned in
system analysis and design in regards to project success. If the
project risk vs. payoff is not good it shouldn't be done.
One of the points that is made in the Systems Analysis and Design
book, (I no longer own a copy or know the author's name) is that if
you do not have the support of the upper management there is a lower
probability for success. This may be one of the factors. On the flip
side, getting this done and showing upper management that you can get
it done... can be good thing for your career. And I'm not only
talking to Tejay here, but everyone.
"Audit the minimum number of statements, users, or objects required to get the targeted information." – Oracle DBA Guide 9i
"Use the AUIDT_SYS_OPERATIONS initialization parameter to specify I user SYS is audited." – Oracle DBA Guide 9i
"In a multi-tier environment, Oracle preserves the identity of the client through all tiers. This enables auditing of actions taken on behalf of the client." – Oracle DBA Guide 9i
"Misconceptions about Oracle auditing claims that it eats up resources faster than you can blink and that it slows down performance so much that yo8u shouldn't even try to use it. These are, as stated, misconceptions." – SANS Institute
"[The performance hit] has been tested to be between 5% and 10% difference in response times by various people." – SANS Institute
"By auditing selectively and auditing things that should not happen, you can make the performance issue irrelevant." – SANS Institute
"Such items that are covered by the HIPAA or Sarbanes-Oxley or Gramm-Leach-Bliley fall into [the always audit] category" – SANS Institute
Recommended base (always on) Auditing for Prod:
· NOT_EXISTS – when the SQL target object does not exist
· SESSION – connection, disconnections, timestamps, I/Os etc.
· ALTER ANY TABLE
· ALTER USER
· CREATE statements
· CREATE ROLE
· CREATE USER
· DROP statements
· DROP ANY PROCEDURE
· DROP ANY TABLE
· GRANT ANY PRIVILEGE
· GRANT ANY ROLE
· INSERT statements (failures only)
· AUDIT ALL ON SYS.AUD$ BY ACCESS
In a production system, DDL is rare. Aside from the occasional creation of a new user, and perhaps a system update, these audits should only produce records on a rare occasion. When the system is being updated auditing can be turned off temporarily to prevent garbage logs.