Hoe moeilijker ongewenste toegang naar SQL Server 2005 door een beheerder van het besturingssysteem


INLEIDING


Het programma Setup van Microsoft SQL Server 2005 maakt een lokale Windows-groep voor elke service die u hebt geïnstalleerd. Het programma Setup voor SQL Server 2005 wordt de serviceaccount voor elke service toegevoegd aan de desbetreffende groepen. Voor een installatie van SQL Server failover-cluster, Windows-domeingroepen op dezelfde manier gebruikt. Deze groepen moeten worden gemaakt door een domeinbeheerder voordat u het programma Setup voor SQL Server 2005 uitvoert. Alle Windows NT-rechten en machtigingen die voor een bepaalde service vereist zijn worden door de system access control list (SACL) toegevoegd aan elke Windows-groep. De domeinbeheerder verleent geen machtigingen die rechtstreeks aan de serviceaccount.

Bovendien krijgen de Windows-groepen die u hebt gemaakt voor SQL Server 2005, SQL Server Agent en de groep INGEBOUWD\Administrators SQL Server 2005-aanmeldingen die in de vaste serverrol SYSADMIN voor SQL Server 2005 worden ingericht. Deze configuratie maakt het mogelijk is voor een account die lid is van deze groepen aan te melden bij SQL Server 2005 met een geverifieerde Windows NT-verbinding. Omdat de gebruiker het lidmaatschap van een groep in de vaste serverrol SYSADMIN voor SQL Server heeft, wordt de gebruiker in SQL Server 2005 aangemeld als beheerder van een SQL Server 2005-systemen. (De gebruiker is aangemeld met de account sa). Vervolgens heeft de gebruiker onbeperkte toegang tot de installatie van SQL Server 2005 en de gegevens. Ook rekening met elke gebruiker die weet het wachtwoord voor het exemplaar van SQL Server 2005 of voor de serviceaccount van SQL Server Agent kan de service gebruiken om aan te melden bij de computer. Vervolgens kan de gebruiker maken een geverifieerde Windows NT-verbinding met SQL Server 2005 als een SQL Server-beheerder.

De Windows-groepen die u hebt gemaakt voor SQL Server 2005 Reporting Services (SSRS) en de service van volledige-tekstzoekacties krijgen ook SQL Server-aanmeldingen. Reporting Services en de full-text search-service worden echter niet in de vaste serverrol sysadmin ingericht.

Sommige beheerders van SQL Server 2005 kunnen de functionele rollen van de beheerder van de database en van de beheerder van het besturingssysteem worden strikt gescheiden. Deze beheerders wilt SQL Server 2005 beschermen tegen ongewenste toegang door de beheerder van het besturingssysteem.

Meer informatie


Hoe moeilijker ongewenste toegang naar SQL Server 2005 door een beheerder van het besturingssysteem

Als u ongewenste toegang naar SQL Server 2005 door een beheerder besturingssysteem moeilijker, moet u de aanmeldingsmachtigingen die zijn toegekend aan de groep INGEBOUWD\Administrators verwijderen. Vervolgens moet u de aanmeldingen direct naar de serviceaccounts verlenen voor SQL Server 2005 en SQL Server Agent. Vervolgens moet u de aanmeldingen in de vaste serverrol sysadmin inrichten. Ten slotte moet u de aanmeldingen die zijn toegewezen aan hun respectieve Windows-groepen verwijderen. Ga hiervoor als volgt te werk:
  1. Zorg dat u een account die lid is van de vaste serverrol sysadmin. Deze account is niet de machtiging SQL Server 2005 aanmelden alleen door als lid van de groep INGEBOUWD\Administrators.
  2. De aanmeldingsmachtigingen die zijn toegekend aan de groep INGEBOUWD\Administrators verwijderen. Ga hiervoor als volgt te werk:
    1. Meld u met behulp van een gebruikersaccount die beschikt over de machtiging wijzigen elke aanmelding naar SQL Server 2005.
    2. Beveiliging, aanmeldingenvouwen, klik met de rechtermuisknop op INGEBOUWD\Administratorsen klik op verwijderen.
    3. Klik op OKin het dialoogvenster Object verwijderen .
    Opmerking Na het verwijderen van de aanmelding die wordt verleend aan de groep INGEBOUWD\Administrators is een account die is gebaseerd op lidmaatschap van deze groep aanmelden bij SQL Server 2005 niet langer kunnen toegang tot SQL Server 2005.

    Zie de sectie 'Microsoft Cluster Service (MSCS) serviceaccount' voor meer informatie over de serviceaccount voor Microsoft Cluster Service (MSCS).
  3. Gebruik een account met de machtiging wijzigen elke aanmelding aanmeldingen voor SQL Server 2005 rechtstreeks naar de serviceaccounts die worden gebruikt door SQL Server 2005 en SQL Server Agent expliciet toekennen. U doet dit door de volgende SQL-instructie worden uitgevoerd.
    CREATE LOGIN [<Domain Name>\<SQL Server Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    CREATE LOGIN [<Domain Name >\<SQL Server Agent Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
  4. Gebruik een account die lid is van de SYSADMIN serverrol vaste wilt inrichten van de aanmeldingen die u hebt toegevoegd in stap 2 van de SYSADMIN vaste serverrol.
    EXEC master..sp_addsrvrolemember @loginame = N'<Domain Name>\<SQL Server Service Account> ', @rolename = N'sysadmin'
    EXEC master..sp_addsrvrolemember @loginame = N'<Domain Name>\<SQL Server Agent Service Account> ', @rolename = N'sysadmin'
  5. Gebruik een account met de machtiging wijzigen elke aanmelding de aanmeldingen die zijn toegewezen aan de groep van SQL Server 2005 en de SQL Server Agent Windows-groep verwijderen.
    DROP LOGIN [<Computer Name>\<SQLServer2005SQLServerUser>$<Computer Name>$MSSQLSERVER]
    DROP LOGIN [<Computer Name>\<SQLServer2005AgentUser>$<Computer Name>$MSSQLSERVER]
Zelfs nadat u deze stappen hebt uitgevoerd, moet het wachtwoord voor de serviceaccount van SQL Server 2005 en de SQL Server Agent-account van de beheerder geheim worden gehouden. Als de serviceaccount MSCS is ingericht in de vaste serverrol SYSADMIN, moet MSCS wachtwoord van de serviceaccount ook worden geheim gehouden van de beheerder van het besturingssysteem. Als de beheerder het wachtwoord voor de serviceaccount van SQL Server 2005 of voor de account van SQL Server Agent-service kent, kunt de beheerder de service-account aan te melden op een computer. Nadat de beheerder bij de computer aanmeldt, kan de beheerder als SQL Server-beheerder verbinding maken met het exemplaar van SQL Server 2005.

Om te voorkomen dat de beheerder het wachtwoord van de serviceaccounts die worden gebruikt door SQL Server 2005 en SQL Server Agent te leren, moet de systeembeheerder van de SQL Server kunnen een nieuw wachtwoord instellen voor de service-account. De systeembeheerder van de SQL Server 2005 is in de meeste gevallen geen beheerder besturingssysteem. Daarom moet een speciale hulpprogramma worden geschreven om deze functionaliteit te bieden. U kunt bijvoorbeeld een vertrouwde service waarmee de systeembeheerder van de SQL Server 2005 kunt u de wachtwoorden voor de serviceaccounts die worden gebruikt door SQL Server 2005 maken. Microsoft biedt momenteel niet deze service.

Serviceaccount voor Microsoft Cluster Service (MSCS)

In een clusterinstallatie van SQL Server 2005 failover steunt de MSCS-serviceaccount op lidmaatschap van de groep INGEBOUWD\Administrators aanmelden bij SQL Server 2005 uit te voeren van de controle IsAlive mislukt. Als u de groep INGEBOUWD\Administrators van een failover-cluster verwijdert, moet u expliciet de MSCS Serviceaccountmachtigingen aan te melden op het failover-cluster van SQL Server 2005 te verlenen. U doet dit door de volgende SQL-instructie in het exemplaar van SQL Server 2005 worden uitgevoerd.
CREATE LOGIN [<Domain Name>\<MSCS Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
SQL Server 2005 Service Pack 2 nieuwe diagnostische mogelijkheden voor failover-clusters voor SQL Server 2005 toegevoegd. De diagnostische gegevens vastleggen automatisch de status van de SQL Server 2005-clusterbron voordat het cluster failover wordt uitgevoerd. De SQL Server 2005 resource dynamic link library (DLL) maakt het verzamelen van diagnostische gegevens gemakkelijker, als volgt:
  • De SQL Server 2005 resource begint een exemplaar van het hulpprogramma Sqlcmd.exe in de beveiligingscontext van de MSCS-serviceaccount. De resource van SQL Server 2005 wordt uitgevoerd een SQL-script via een exclusieve verbinding (DAC) monsters van de verschillende weergaven van dynamische management (DMV).
  • De bron van SQL Server 2005 worden vastgelegd van het SQL Server 2005-proces een bestand met gebruikersdumps voordat het cluster failover wordt uitgevoerd.
Omdat een exclusieve verbinding wordt gebruikt om sommige diagnostische gegevens te verzamelen, moet de MSCS-serviceaccount zijn geconfigureerd in de vaste serverrol sysadmin. Als u de procedures voor de beveiliging van uw organisatie betekenen dat de MSCS-account kan niet worden ingericht in de vaste serverrol SYSADMIN, kan de MSCS-serviceaccount worden verleend een SQL Server-aanmelding die niet is ingericht in de SYSADMIN vaste serverrol. In dit scenario wordt mislukt de diagnostische gegevens die gewoonlijk worden vastgelegd door het hulpprogramma Sqlcmd.exe omdat het hulpprogramma Sqlcmd.exe kan niet bij SQL Server 2005 aanmelden. De SQL Server 2005 resource dll-bestand moet worden voor het verzamelen van een bestand met gebruikersdumps ongeacht of de serviceaccount van de SQL Server 2005 resource die dll is ingericht in de SYSADMIN serverrol vaste.

Als u wilt aanmelden bij SQL Server 2005 met een account die lid is van de vaste serverrol SYSADMIN. De volgende SQL-instructie de MSCS-account toevoegen aan de vaste serverrol sysadmin vervolgens uitvoeren.
EXEC master.sp_addsrvrolemember @loginame = N'<Domain Name>\<MSCS Service Account> ', @rolename = N'sysadmin'

Het wijzigen van de serviceaccounts

Hoewel de vorige stappen kunnen het moeilijker voor een besturingssysteem beheerder verbinding maken met SQL Server 2005, maken de vorige stappen het omslachtig om de serviceaccounts wijzigen voor SQL Server 2005 en SQL Server Agent. De serviceaccounts voor SQL Server 2005 en SQL Server Agent, Ga als volgt te werk:
  1. De nieuwe serviceaccount of serviceaccounts toevoegen aan de Windows-groep of groepen die u hebt gemaakt voor SQL Server en SQL Server Agent.
  2. Gebruik een account met de machtiging wijzigen elke aanmelding een aanmelding voor SQL Server 2005 voor de nieuwe serviceaccounts maken. U doet dit door de volgende SQL-instructie van de account die beschikt over de machtiging wijzigen elke aanmelding worden uitgevoerd.
    CREATE LOGIN [<Domain Name>\<New SQL Server Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    CREATE LOGIN [<Domain Name>\<New SQL Server Agent Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
  3. Gebruik een account die is ingericht in de vaste serverrol sysadmin voor het uitvoeren van de volgende SQL-instructie.
    EXEC master..sp_addsrvrolemember @loginame = N’ <Domain Name>\<New SQL Server Service Account> ', @rolename = N'sysadmin'
    EXEC master..sp_addsrvrolemember @loginame = N’ <Domain Name>\<New SQL Server Agent Service Account> ', @rolename = N'sysadmin'
    Opmerking Met deze instructie wordt de serviceaccount van SQL Server 2005 en de SQL Server Agent-account toegevoegd aan de vaste serverrol SYSADMIN.
  4. Wijzig de serviceaccount voor de desbetreffende service met behulp van SQL Server Configuration Manager. Ga hiervoor als volgt te werk:
    1. In SQL Server Configuratiebeheer, klik op SQL Server 2005 Services.
    2. Klik met de rechtermuisknop op de service die u wilt wijzigen en klik vervolgens op Eigenschappen.
    3. Klik op het tabblad Aanmelden en geef vervolgens gegevens voor de gebruikersaccount dat u wilt dat de service te gebruiken.
    4. Klik op OK als u klaar bent met het invoeren van de gegevens.
    Opmerking Wanneer u de service-account wijzigt, wordt SQL Server Configuration Manager vraagt u de service opnieuw starten.
  5. Gebruik een account met de machtiging wijzigen elke aanmelding de aanmeldingen die zijn gebruikt door de serviceaccount van SQL Server 2005 en de SQL Server Agent-account verwijderen. U doet dit door de volgende SQL-instructie worden uitgevoerd.
    DROP LOGIN [<Domain Name>\<Old SQL Server Service Account>]
    DROP LOGIN [<Domain Name>\<Old SQL Server Agent Service Account>]
Opmerking U hoeft geen nieuwe Windows NT rechten of machtigingen aan de nieuwe serviceaccounts verlenen omdat u het nieuwe serviceaccounts aan hun respectieve Windows-groepen in stap 1 hebt toegevoegd.

Aanbeveling voor het controleren van processen

Als u wilt dat SQL Server te beveiligen tegen ongewenste toegang door beheerders besturingssysteem, moet u ook de volgende processen controleren:
  • Audit Hiermee starten en stoppen van de Windows-server.
  • Audit Start en stopt de services van SQL Server 2005 en SQL Server Agent-services.
  • Controleren van de toegang tot de mappen in welke SQL Server-databasebestanden, gegevensbestanden, logboekbestanden en back-up van databasebestanden zijn opgeslagen.
  • Wijzigingen in de serviceaccount van SQL Server 2005 en de SQL Server Agent-account controleren.
  • Mislukte aanmeldingen netwerk computer aanmeldingen door de serviceaccount van SQL Server 2005, de SQL Server Agent-account of de MSCS-account.

De account NT AUTHORITY\SYSTEM

De account NT AUTHORITY\SYSTEM wordt ook verleend voor een SQL Server-aanmelding. De account NT AUTHORITY\SYSTEM is ingericht in de vaste serverrol sysadmin. Deze account verwijderen of verwijderen van de vaste serverrol sysadmin niet. De account NTAUTHORITY\SYSTEM wordt gebruikt door Microsoft Update en Microsoft SMS servicepacks en hotfixes toepassen op een SQL Server 2005-installatie. De account NTAUTHORITY\SYSTEM wordt ook gebruikt door de Service SQL-schrijver.

Ook als SQL Server 2005 is gestart in de modus voor één gebruiker, kunt een gebruiker die lid van de groep INGEBOUWD\Administrators is verbinden met SQL Server 2005 als een SQL Server-beheerder. De gebruiker kan verbinding maken ongeacht of de groep INGEBOUWD\Administrators is voorzien van een server-aanmelding die in de vaste serverrol SYSADMIN is ingericht. Dit gedrag is inherent aan het ontwerp. Dit gedrag is bedoeld voor scenario's voor het herstel van gegevens moet worden gebruikt.

Zie het onderwerp 'Security overwegingen voor een SQL serverinstallatie' in SQL Server 2005 Books Online voor meer informatie over aanbevolen procedures voor beveiliging voor SQL Server 2005.

Referenties


Ga naar de volgende Microsoft TechNet-website voor meer informatie over beveiligingsoverwegingen voor installatie van SQL Server: