December 4, 2011 at 3:12 pm
Hello,
This is just a quick question about the security changes in SQL Server 2008.
In 2005 during setup, SQL Server services were given an account and that account was put into a group with the necessary permissions.
I have noticed in SQL Server 2008 that the service SID is now put into the corresponding group. If the service SID is now assigned the necessary permissions, what is the need for the Windows account? Is is just a container for the service?
Thanks in advance,
Andrew
December 8, 2011 at 1:57 pm
Hello,
Maybe I asked the wrong question. I am trying to work out how permissions are assigned to each of SQL Server services in SQL Server 2008.
In SQL Server 2005 the install created groups in order to assign permissions. The account for each of the services was then dropped into each group.
From what I can see in SQL Server 2008, the account is no longer used to assign permissions. Instead a service SID is dropped into each group.
The problem I am having is, that when I run cmd>>sc showsid [servicename], the SID displayed does not match the SID in the corresponding group.
Am I missing something here?
Andrew
December 19, 2011 at 8:31 am
Service SIDs have been around since Windows 2008 but I have found very little information about them.
What I do know is that the SQL install will create the Service SIDs and assign to them the various authorities they need in order to run SQL Server.
To me it looks like Service SIDs have a lot of advantages:
1) You get a unique account for each service, so that if the integrity of one account is compromised then no other services are affected.
2) The Service SIDs are given the minimum rights needed to run the service.
3) The accounts do not have a password, so there is no need to change this on a regular basis (or never change it and risk that former staff known about your current security setup).
4) There is no need to set up a Group Policy Object (GPO) to enforce the security of a Service SID.
What I do not know and have not yet bothered to test is:
a) Can a Service SID be used for a service that needs to accessed over the network
b) How does Kerberos work with a Service SID so that the service can be trusted for 'double hop' authentication
c) Do I need to define a Service Principal Name (SPN) for a Service SID and if so what is the syntax
If anyone has the answers to a),b),c) then please let us all know. If a Service SID can be trusted by Kerberos for double-hop authentication then it seems to me that Service SIDs are a far better choice for SQL Server than are Service Accounts.
Original author: https://github.com/SQL-FineBuild/Common/wiki/ 1-click install and best practice configuration of SQL Server 2019, 2017 2016, 2014, 2012, 2008 R2, 2008 and 2005.
When I give food to the poor they call me a saint. When I ask why they are poor they call me a communist - Archbishop Hélder Câmara
December 3, 2012 at 11:18 am
Did you figure out the SPN and service sid issue? Can the service automatically create it's spn when running with a service sid. In my test environment it isn't able to.
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply