Номер тестаПроверяемый пунктЦель тестаАвтоматизирующая макропрограммаОжидаемое значение
1SQL Server Security ContextПроверить, не используется ли учетная запись LocalSystem в контексте безопасности SQL Server Service AccountEXEC master..xp_regread 'HKEY_LOCAL_MACHINE','SYSTEMCurrentControlSetServicesMSSQLSERVER','ObjectName', @LocalSystem OUTPUTNT_ACCOUNT
2Version#Проверить наличие последнего пакета обновленийSELECT @ProductVersion = cast( SERVER PROPERTY('ProductVersion') as varchar(64))>=8.00.2039
3Authentication ModeУбедиться, что установлен режим входа только через аутентификацию Windows (Windows-only Authentication)EXECUTE master..xp_regread N'HKEY_LOCAL_MACHINE', N'SoftwareMicrosoftMSSQLServerMSSQLServer',N'LoginMode',@LoginMode OUTPUT0
4AuditLevelУбедиться, что аудит безопасности затрагивает как успешные, так и неуспешные попытки входаEXECUTE master.dbo.xp_regread N'HKEY_LOCAL_MACHINE', N'SoftwareMicrosoftMSSQL ServerMSSQLServer',N'AuditLevel', @AuditLevel OUTPUT3
5MSDTCПроверить факт отключения службы MSDTCEXECUTE master..xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SYSTEMCurrentControlSetServicesMS DTC', N'Start',@MSDTC OUTPUT3
6MSSEARCHПроверить факт отключения службы MSSEARCH(если она установлена)EXECUTE master..xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SYSTEMCurrentControlSetServicesMS SEARCH', N'Start', @MSSEARCH OUTPUT3
7PubsПроверить факт отсутствия установки базы данных PubsIF (select name from master..sysdatabases WHERE name = 'Pubs') IS NOT NULLНе существует
8Remote accessПроверить факт отключения удаленного доступа, при котором невозможно подключение других систем SQL ServerIF (SELECT Value FROM master..sysconfigures where comment = 'Allow remote access') <> 00
9Update system tablesПроверить невозможность изменения системных таблицIF (SELECT top 1 value FROM master..sysconfigures where comment = 'Allow updates to system tables') <> 00
10Net-LibsУбедиться, что TCP является единственной сетевой библиотекойEXECUTE master.xp_regread N'HKEY_LOCAL_MACHINE',N'SOFTWAREMicrosoftMSSQLServerMSSQLServerSu perSocketNetLib', N'ProtocolList'Только TCP
11Guest loginУбедиться, что гостевой вход в базу данных Northwind запрещенselect name from sysusers where name = 'guest'Нет входа от имени Guest
12PUBLIC access: SQLAgentJOB procsУбедиться, что роль PUBLIC не позволяет создавать, изменять, удалять и получать доступ к заданиям SQLAgentIF (SELECT count(*) from msdb..sysprotects p join msdb..sysusers u on p.uid= u.uid WHERE u.name = 'public' and action = 224 and object_name(p.id) like '%job%') > 0Нет доступа
13PUBLIC access:DTS procsУбедиться, что роль PUBLIC не позволяет исполнять процедуры dtsF (SELECT count(*) from msdb..sysprotects I p join msdb..sysusers u on p.uid= u.uid WHERE u.name = 'public' and action = 224 and object_name(p.id) like '%dts%') > 0Нет доступа
14PUBLIC access:mswebtasksУбедиться, что роль PUBLIC не позволяет менять и удалять таблицу mswebtasksIF (SELECT count(*) from msdb..sysprotects p join msdb..sysusers u on p.uid= u.uid WHERE u.name = 'public'and action in (195,196,197) and object_name(p.id) = 'rtbldbmprops') > 0Нет доступа
15PUBLIC access:regreadУбедиться, что роль PUBLIC не позволяет выполнять чувствительные процедурыIF (SELECT count(*) from master..sysprotects p join master..sysusers u on p.uid= u.uid WHERE u.name = 'public'and action = 224 and object_name(p.id) in ('sp_runwebtask','xp_regread', 'xp_instance_regread ')) > 0Нет доступа

Поделитесь материалом с коллегами и друзьями