数据库扫描证书要求
本页详细说明的证书要求适用于这两个漏洞和策略扫描。
凭据提供了必要的访问权限来扫描资产。针对漏洞扫描和策略扫描,支持多种认证方式,包括对Microsoft SQL Server (MSSQL)、DB2、MySQL和Oracle等数据库的认证。
您可以使用与创建数据库相同的方式为数据库添加凭据用于身份验证扫描的共享凭证.您需要添加两组凭据:一组用于数据库本身,另一组用于资产主机。
例如,如果在Linux机器上安装了Oracle,则需要提供登录到Linux机器的凭据以及数据库的凭据。如果正在扫描SQL服务器,则需要指定连接到Windows资产所需的CIFS/SMB凭据。
MSSQL证书的要求
Rapid7建议使用Windows身份验证在MSSQL数据库上运行身份验证扫描。
如果要使用Windows身份验证,您的用户帐户必须具有阅读(权限根据MSSQL版本进行分组):
1.
{
2.
" Microsoft_SQL_Server_2008_R2 ": {
3.
“dbo.sysproxylogin”,
4.
“系统服务器\u主体”,
5.
“sys.databases”,
6.
“系统对称密钥”,
7.
“curDB”,
8.
“sys.sql\u登录”,
9
“sys.configurations”,
10
“sts.configurations”,
11
“系统非对称密钥”,
12
“master.sys.server_权限”,
13
“系统程序集”,
14
“sys.sql\u登录”,
15
“msdb.dbo.sysproxylogin”,
16
“系统程序集”,
17
”@sqlCmdTb;“
18
",
19
“master.sys.server_权限”,
20
“sys.configurations”,
21
“系统服务器\u主体”,
22
“sys.databases”
23
},
24
" Microsoft_SQL_Server_2008_R2_Database_Engine ": {
25
“系统对称密钥”,
26
“curDB”,
27
“sys.sysusers”,
28
“sys.sql\u登录”,
29
“sys.configurations”,
30.
“系统非对称密钥”,
31
“sts.configurations”,
32
”@sqlCmdTb;“
33
",
34
“dbo.sysproxylogin”,
35
“master.sys.server_权限”,
36
“sys.sql\u登录”,
37
“系统程序集”,
38
“系统服务器\u主体”,
39
“系统服务器\u主体”,
40
“sys.databases”
41
},
42
" Microsoft_SQL_Server_2012 ": {
43
“dbo.sysproxylogin”,
44
“系统服务器\u主体”,
45
“sys.sysusers”,
46
“系统服务器\u审计\u规范\u详细信息”,
47
“sys.databases”,
48
“系统对称密钥”,
49
“curDB”,
50
“sys.sql\u登录”,
51
“sys.configurations”,
52
“系统非对称密钥”,
53
“master.sys.server_权限”,
54
“sys.sql\u登录”,
55
“系统程序集”,
56
“msdb.dbo.sysproxylogin”,
57
“系统程序集”,
58
”@sqlCmdTb;“
59
",
60
“sys.configurations”,
61
“系统服务器\u主体”,
62
“master.sys.server_权限”,
63
“系统数据库_主体”,
64
“sys.databases”
65
},
66
" Microsoft_SQL_Server_2014 ": {
67
“dbo.sysproxylogin”,
68
“系统服务器\u主体”,
69
“sys.sysusers”,
70
“系统非对称密钥”,
71
“系统服务器\u审计\u规范\u详细信息”,
72
“sys.databases”,
73
“系统对称密钥”,
74
“curDB”,
75
“sys.sql\u登录”,
76
“sys.configurations”,
77
“系统非对称密钥”,
78
“master.sys.server_权限”,
79
“sys.sql\u登录”,
80
“系统程序集”,
81
“msdb.dbo.sysproxylogin”,
82
“系统程序集”,
83
”@sqlCmdTb;“
84
",
85
“sys.configurations”,
86
“系统服务器\u主体”,
87
“master.sys.server_权限”,
88
“系统数据库_主体”,
89
“sys.databases”
90
},
91
“Microsoft_SQL_Server_2016”:{
92
“dbo.sysproxylogin”,
93
“sys.dm_exec_connections”,
94
“系统服务器\u主体”,
95
“sys.sysusers”,
96
“系统服务器\u审计\u规范\u详细信息”,
97
“sys.databases”,
98
“系统对称密钥”,
99
“curDB”,
100
“sys.sql\u登录”,
101
“sys.configurations”,
102
“系统非对称密钥”,
103
“master.sys.server_权限”,
104
“sys.sql\u登录”,
105
“系统程序集”,
106
“msdb.dbo.sysproxylogin”,
107
“系统程序集”,
108
”@sqlCmdTb;“
109
",
110
“sys.configurations”,
111
“系统服务器\u主体”,
112
“master.sys.server_权限”,
113
“系统数据库_主体”,
114
“sys.databases”
115
},
116
“微软SQL Server 2017”:{
117
“dbo.sysproxylogin”,
118
“sys.dm_exec_connections”,
119
“系统服务器\u主体”,
120
“sys.sysusers”,
121
“系统服务器\u审计\u规范\u详细信息”,
122
“sys.databases”,
123
“系统对称密钥”,
124
“curDB”,
125
“sys.sql\u登录”,
126
“sys.configurations”,
127
“系统非对称密钥”,
128
“master.sys.server_权限”,
129
“sys.sql\u登录”,
130
“系统程序集”,
131
“msdb.dbo.sysproxylogin”,
132
“系统程序集”,
133
”@sqlCmdTb;“
134
",
135
“sys.configurations”,
136
“系统服务器\u主体”,
137
“master.sys.server_权限”,
138
“系统数据库_主体”,
139
“sys.databases”
140
},
141
" Microsoft_SQL_Server_2019 ": {
142
“dbo.sysproxylogin”,
143
“sys.dm_exec_connections”,
144
“系统服务器\u主体”,
145
“sys.sysusers”,
146
“系统服务器\u审计\u规范\u详细信息”,
147
“sys.databases”,
148
“系统对称密钥”,
149
“curDB”,
150
“sys.sql\u登录”,
151
“sys.configurations”,
152
“系统非对称密钥”,
153
“master.sys.server_权限”,
154
“系统程序集”,
155
“sys.sql\u登录”,
156
“msdb.dbo.sysproxylogin”,
157
“系统程序集”,
158
”@sqlCmdTb;“
159
",
160
“sys.configurations”,
161
“系统服务器\u主体”,
162
“master.sys.server_权限”,
163
“系统数据库_主体”,
164
“sys.databases”
165
}
166
}
如果选择不使用Windows身份验证,则必须使用系统管理员(SA)帐户。
SA帐号的使用可能违反某些策略规则
虽然SA帐户提供了您扫描MSSQL数据库所需的所有访问权限,但一些策略可能会认为使用SA帐户违反了策略规则。这就是我们推荐使用Windows身份验证的原因。
在安全控制台中配置此凭据时,MSSQL数据库需要以下信息:
- 服务-该服务标识要为其添加凭据的数据库类型。在这种情况下,需要将此选项设置为“Microsoft SQL Server”。
- 数据库-这是您正在使用的MSSQL数据库的名称。默认情况下,数据库字段设置为
主人. - 域-如果选择使用Windows身份验证,则需要提供Windows域名。
- 用户名-用于对数据库进行身份验证的用户帐户的名称。根据您的身份验证选项,这将是您自己的具有必要权限的用户帐户或SA帐户。
- 密码—用户登录数据库时使用的密码。
DB2凭据的要求
对于DB2数据库,需要以下信息:
- 服务—服务标识要为其添加凭据的数据库类型。对于DB2,将这个选项设置为“DB2”。
- 数据库—这是您正在使用的DB2数据库的名称。DB2的默认数据库是“DB2COPY1”。
- 域-此字段是可选的,仅在启用Windows身份验证时适用。如果数据库未使用Windows身份验证,请将此字段留空。
- 用户名-这是用于对数据库进行身份验证的帐户的用户名。对于Windows,默认用户名为“db2admin”,对于Linux和AIX,默认用户名为“db2inst1”。
- 密码-这是用于对数据库进行身份验证的帐户的密码。
MySQL证书的要求
对于MySQL数据库,身份验证需要以下信息:
- 数据库-这是您正在使用的MySQL数据库的名称。
- 用户名-将用于对数据库进行身份验证的帐户的用户名。
- 密码-用于对数据库进行身份验证的帐户的密码。
- 权限——Nexpose需要
创建和选择对以下表的权限:
1.
信息\u schema.GLOBAL\u变量
2.
information_schema.plugins
3.
mysql.user
4.
mysql.slave_master_info
5.
mysql.db
Oracle证书的要求
对于Oracle数据库,身份验证需要以下信息:
- 服务—服务标识要为其添加凭据的数据库类型。在本例中,需要将该选项设置为“Oracle”。
- 希德-SID表示数据库的唯一名称。默认SID为“orcl”。如果您的Oracle环境已设置为使用多个SID,请选择“Oracle Net Listener密码”选项,然后输入侦听器密码以从您的环境枚举SID。有关配置Oracle Net Listener密码的详细信息,请参阅甲骨文的帮助文档.
- 如果希望扫描枚举找到的所有SID,则需要指定SID。请使用为扫描提供的根凭据,而不是SID枚举的侦听器密码。Oracle 12c上的Oracle侦听器密码不受支持。
- 用户名-将用于对数据库进行身份验证的帐户的用户名。您可以使用
sys作为sysdba帐户,这是安装期间创建的默认管理员帐户。 - 密码-用于对数据库进行身份验证的帐户的密码。
- 权限- exposure要求访问以下表格:
1.
DBA_用户、所有用户、V$参数、DBA_配置文件、DBA_用户、DBA_选项卡权限、DBA_系统权限、DBA_角色权限、所有表、DBA_代理、DBA_STMT_审计选项、DBA_PRIV审计选项、DBA_OBJ_审计选项、V$实例
表访问要求
Nexpose需要访问sys.registry$history表,以确定数据库的补丁级别。如果您正在扫描Oracle DB 12.1.0.2或更新版本,则扫描程序需要访问sys.dba_registry_sqlpatch表,而不是sys.registry$history.
创建具有有限访问权限的用户帐户
当配置为以高度特权角色(如“sysdba”)登录时,暴露将扫描您的数据库,但不建议这样做。可以通过执行以下命令创建一个访问权限受限的用户:
1.
CREATE USER nxpscan IDENTIFIED BY aStrongerPasswordThanThis
2.
将创建会话授予nxpscan;
3.
将sys.registry$history上的select授予nxpscan;
创建此帐户后,可以将站点配置为使用新的Oracle凭据。
Sybase的策略扫描
Sybase的策略扫描目前不可用。