Номер теста | Проверяемый пункт | Цель теста | Автоматизирующая макропрограмма | Ожидаемое значение |
1 | SQL Server Security Context | Проверить, не используется ли учетная запись LocalSystem в контексте безопасности SQL Server Service Account | EXEC master..xp_regread 'HKEY_LOCAL_MACHINE','SYSTEMCurrentControlSetServicesMSSQLSERVER','ObjectName', @LocalSystem OUTPUT | NT_ACCOUNT |
2 | Version# | Проверить наличие последнего пакета обновлений | SELECT @ProductVersion = cast( SERVER PROPERTY('ProductVersion') as varchar(64)) | >=8.00.2039 |
3 | Authentication Mode | Убедиться, что установлен режим входа только через аутентификацию Windows (Windows-only Authentication) | EXECUTE master..xp_regread N'HKEY_LOCAL_MACHINE', N'SoftwareMicrosoftMSSQLServerMSSQLServer',N'LoginMode',@LoginMode OUTPUT | 0 |
4 | AuditLevel | Убедиться, что аудит безопасности затрагивает как успешные, так и неуспешные попытки входа | EXECUTE master.dbo.xp_regread N'HKEY_LOCAL_MACHINE', N'SoftwareMicrosoftMSSQL ServerMSSQLServer',N'AuditLevel', @AuditLevel OUTPUT | 3 |
5 | MSDTC | Проверить факт отключения службы MSDTC | EXECUTE master..xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SYSTEMCurrentControlSetServicesMS DTC', N'Start',@MSDTC OUTPUT | 3 |
6 | MSSEARCH | Проверить факт отключения службы MSSEARCH(если она установлена) | EXECUTE master..xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SYSTEMCurrentControlSetServicesMS SEARCH', N'Start', @MSSEARCH OUTPUT | 3 |
7 | Pubs | Проверить факт отсутствия установки базы данных Pubs | IF (select name from master..sysdatabases WHERE name = 'Pubs') IS NOT NULL | Не существует |
8 | Remote access | Проверить факт отключения удаленного доступа, при котором невозможно подключение других систем SQL Server | IF (SELECT Value FROM master..sysconfigures where comment = 'Allow remote access') <> 0 | 0 |
9 | Update system tables | Проверить невозможность изменения системных таблиц | IF (SELECT top 1 value FROM master..sysconfigures where comment = 'Allow updates to system tables') <> 0 | 0 |
10 | Net-Libs | Убедиться, что TCP является единственной сетевой библиотекой | EXECUTE master.xp_regread N'HKEY_LOCAL_MACHINE',N'SOFTWAREMicrosoftMSSQLServerMSSQLServerSu perSocketNetLib', N'ProtocolList' | Только TCP |
11 | Guest login | Убедиться, что гостевой вход в базу данных Northwind запрещен | select name from sysusers where name = 'guest' | Нет входа от имени Guest |
12 | PUBLIC access: SQLAgentJOB procs | Убедиться, что роль PUBLIC не позволяет создавать, изменять, удалять и получать доступ к заданиям SQLAgent | IF (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 | Нет доступа |
13 | PUBLIC access:DTS procs | Убедиться, что роль PUBLIC не позволяет исполнять процедуры dts | F (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 | Нет доступа |
14 | PUBLIC access:mswebtasks | Убедиться, что роль PUBLIC не позволяет менять и удалять таблицу mswebtasks | IF (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 | Нет доступа |
15 | PUBLIC 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 | Нет доступа |