|
Can someone guide me on how I could start to implement database security access and auditing policies throughout SQL Server 2008 R2, 2008, 2005? The sysadmins and the securityadmin list are unbelievable. Please help.
(comments are locked)
|
|
Here's a list of steps I would take:
@K. Brian Kelley - Brilliant, thanks for popping in and add an answer on this one. I almost added you as a security guru in my answer but ended up just linking to Denny and his book. @SqlAdventure - This is gold standard advice from a SQL Server security expert.
Apr 18 '11 at 12:58 PM
Fatherjack ♦♦
(comments are locked)
|
|
What do you mean by "The sysadmins and the securityadmin list are unbelievable"? I would recommend that if your question is so broad that you would be best off getting a test server set up and then purchasing a couple of books Denny Cherry (@MrDenny) has a book for 2008 that I would recommend - http://www.amazon.co.uk/Securing-SQL-Server-Protecting-Attackers/dp/1597496251/ref=sr_1_1?ie=UTF8&qid=1303034839&sr=8-1 and there are similar for the previous versions.
(comments are locked)
|
|
I take that to mean there are accounts showing up under sysadmins and securityadmin fixed server roles that you are asking yourself: Why do they have that access? I've been there and still deal with that one. The top two choices you have for auditing that are quick and easy to implement are default trace (which should be on by default) and C2 Auditing. The default trace captures mostly changes to configuration options. Then C2 auditing will capture everything done on the instance of SQL Server. Caution, when you enable C2 auditing if your instance is very active you will need to manage the storage space where the trace files are created, because it can get out of hand very quickly. The first step I would take though is run these two commands: Take those list of accounts to your upper management, or whoever your supervisor might be, and ask them who in this list ACTUALLY needs this permission. That is a legitmate concern and should be addressed by management. Thanks so much for your response. Would you disable or change the permission for these 2 accounts if they aren't being used by SQL Agent service? NT AUTHORITYSYSTEM (sysadmin), NT SERVICEMSSQLSERVER (sysadmin)? Thanks again for your kindness.
Apr 18 '11 at 04:33 AM
SqlAdv
I can't answer that for you. You would need to determine if the accounts are being used for any applications. The "NT AUTHORITYSYSTEM" is the local system account for the operating system. In my environment we actually use that account. The "NT SERVICEMSSQLSERVER" reads like it might be a service account for your instance of SQL Server. If so it requires sysadmin rights on the instance. You can view the service account being used for your SQL services in SQL Server Configuration Manager.
Apr 18 '11 at 04:44 AM
Shawn_Melton
None of these accounts are being used by service account.
Apr 18 '11 at 05:02 AM
SqlAdv
If you know they are not being used, then you can probably drop them. However on the safe side I would just disable the logins for a few days/weeks/months to ensure they are not. They cannot hurt anything if they are disabled.
Apr 18 '11 at 06:21 AM
Shawn_Melton
NT AuthoritySystem is used by the SQL Server VSS Writer at the minimum in 2005/2008. It's used by Full Text Search (and the service that goes with that) in 2000.
Apr 18 '11 at 10:20 AM
K. Brian Kelley
(comments are locked)
|


@SQLAdventure - make sure to vote for the answers that help you by clicking the "Thumb Up" icon and when you have the answer you need click the tick/check icon to show other visitors which answer was the one that solved your problem.