数据库扫描证书要求

本页详细说明的证书要求适用于这两个漏洞和策略扫描。

凭据提供了必要的访问权限来扫描资产。针对漏洞扫描和策略扫描,支持多种认证方式,包括对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
“sys.server_principals”,
5
“sys.databases”,
6
“sys.symmetric_keys”,
7
“curDB”,
8
“sys.sql_logins”,
9
“sys.configurations”,
10
“sts.configurations”,
11
“sys.asymmetric_keys”,
12
“master.sys.server_permissions”,
13
“sys.assemblies”,
14
“sys.sql_logins”,
15
“msdb.dbo.sysproxylogin”,
16
“sys.assemblies”,
17
”@sqlCmdTb;“
18
",
19
“master.sys.server_permissions”,
20.
“sys.configurations”,
21
“sys.server_principals”,
22
“sys.databases”
23
},
24
" Microsoft_SQL_Server_2008_R2_Database_Engine ": {
25
“sys.symmetric_keys”,
26
“curDB”,
27
“sys.sysusers”,
28
“sys.sql_logins”,
29
“sys.configurations”,
30.
“sys.asymmetric_keys”,
31
“sts.configurations”,
32
”@sqlCmdTb;“
33
",
34
“dbo.sysproxylogin”,
35
“master.sys.server_permissions”,
36
“sys.sql_logins”,
37
“sys.assemblies”,
38
“sys.server_principals”,
39
“sys.server_principals”,
40
“sys.databases”
41
},
42
" Microsoft_SQL_Server_2012 ": {
43
“dbo.sysproxylogin”,
44
“sys.server_principals”,
45
“sys.sysusers”,
46
“sys.server_audit_specification_details”,
47
“sys.databases”,
48
“sys.symmetric_keys”,
49
“curDB”,
50
“sys.sql_logins”,
51
“sys.configurations”,
52
“sys.asymmetric_keys”,
53
“master.sys.server_permissions”,
54
“sys.sql_logins”,
55
“sys.assemblies”,
56
“msdb.dbo.sysproxylogin”,
57
“sys.assemblies”,
58
”@sqlCmdTb;“
59
",
60
“sys.configurations”,
61
“sys.server_principals”,
62
“master.sys.server_permissions”,
63
“sys.database_principals”,
64
“sys.databases”
65
},
66
" Microsoft_SQL_Server_2014 ": {
67
“dbo.sysproxylogin”,
68
“sys.server_principals”,
69
“sys.sysusers”,
70
“sys.asymmetric_keys”,
71
“sys.server_audit_specification_details”,
72
“sys.databases”,
73
“sys.symmetric_keys”,
74
“curDB”,
75
“sys.sql_logins”,
76
“sys.configurations”,
77
“sys.asymmetric_keys”,
78
“master.sys.server_permissions”,
79
“sys.sql_logins”,
80
“sys.assemblies”,
81
“msdb.dbo.sysproxylogin”,
82
“sys.assemblies”,
83
”@sqlCmdTb;“
84
",
85
“sys.configurations”,
86
“sys.server_principals”,
87
“master.sys.server_permissions”,
88
“sys.database_principals”,
89
“sys.databases”
90
},
91
" Microsoft_SQL_Server_2016 ": {
92
“dbo.sysproxylogin”,
93
“sys.dm_exec_connections”,
94
“sys.server_principals”,
95
“sys.sysusers”,
96
“sys.server_audit_specification_details”,
97
“sys.databases”,
98
“sys.symmetric_keys”,
99
“curDB”,
One hundred.
“sys.sql_logins”,
101
“sys.configurations”,
102
“sys.asymmetric_keys”,
103
“master.sys.server_permissions”,
104
“sys.sql_logins”,
105
“sys.assemblies”,
106
“msdb.dbo.sysproxylogin”,
107
“sys.assemblies”,
108
”@sqlCmdTb;“
109
",
110
“sys.configurations”,
111
“sys.server_principals”,
112
“master.sys.server_permissions”,
113
“sys.database_principals”,
114
“sys.databases”
115
},
116
" Microsoft_SQL_Server_2017 ": {
117
“dbo.sysproxylogin”,
118
“sys.dm_exec_connections”,
119
“sys.server_principals”,
120
“sys.sysusers”,
121
“sys.server_audit_specification_details”,
122
“sys.databases”,
123
“sys.symmetric_keys”,
124
“curDB”,
125
“sys.sql_logins”,
126
“sys.configurations”,
127
“sys.asymmetric_keys”,
128
“master.sys.server_permissions”,
129
“sys.sql_logins”,
130
“sys.assemblies”,
131
“msdb.dbo.sysproxylogin”,
132
“sys.assemblies”,
133
”@sqlCmdTb;“
134
",
135
“sys.configurations”,
136
“sys.server_principals”,
137
“master.sys.server_permissions”,
138
“sys.database_principals”,
139
“sys.databases”
140
},
141
" Microsoft_SQL_Server_2019 ": {
142
“dbo.sysproxylogin”,
143
“sys.dm_exec_connections”,
144
“sys.server_principals”,
145
“sys.sysusers”,
146
“sys.server_audit_specification_details”,
147
“sys.databases”,
148
“sys.symmetric_keys”,
149
“curDB”,
150
“sys.sql_logins”,
151
“sys.configurations”,
152
“sys.asymmetric_keys”,
153
“master.sys.server_permissions”,
154
“sys.assemblies”,
155
“sys.sql_logins”,
156
“msdb.dbo.sysproxylogin”,
157
“sys.assemblies”,
158
”@sqlCmdTb;“
159
",
160
“sys.configurations”,
161
“sys.server_principals”,
162
“master.sys.server_permissions”,
163
“sys.database_principals”,
164
“sys.databases”
165
166

如果选择不使用Windows身份验证,则必须使用System Administrator (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
information_schema。GLOBAL_VARIABLES
2
information_schema.plugins
3.
mysql.user
4
mysql.slave_master_info
5
mysql.db

Oracle证书的要求

Oracle数据库的鉴权信息如下:

  • 服务—服务标识要为其添加凭据的数据库类型。在本例中,需要将该选项设置为“Oracle”。
  • SID—SID代表数据库的唯一名称。默认SID是“orcl”。如果您的Oracle环境已经设置为使用多个sid,请选择Oracle Net Listener Password选项并输入侦听器密码来枚举环境中的sid。有关配置Oracle Net Listener密码的详细信息,请参见甲骨文的帮助文档
    • 如果希望扫描枚举找到的所有SIDS,则需要指定SIDS。使用为扫描提供的根凭据,而不是用于SID枚举的侦听器密码。不支持Oracle 12c上的Oracle Listener密码。
  • 用户名—用于数据库认证的帐户的用户名。你可以使用sys是sysdba帐户,是在安装过程中创建的默认管理员帐户。
  • 密码—用于数据库鉴权的帐户密码。
  • 权限- exposure要求访问以下表格:
         
1
Dba_users_with_defpwd, all_users, v $ parameter, dba_profiles, dba_users, dba_tab_privs, dba_sys_privs, dba_role_privs, all_tables, dba_proxy, dba_stmt_audit_opts, dba_priv_audit_opts, dba_obj_audit_opts, v $ instance

表访问需求

暴露要求访问sys.registry美元历史表,以确定数据库的补丁级别。如果您正在扫描Oracle DB 12.1.0.2或更新版本,则扫描程序需要访问sys.dba_registry_sqlpatch表,而不是sys.registry美元历史

创建访问受限的用户帐户

当配置为以高度特权角色(如“sysdba”)登录时,暴露将扫描您的数据库,但不建议这样做。可以通过执行以下命令创建一个访问权限受限的用户:

         
1
CREATE USER nxpscan IDENTIFIED BY aStrongerPasswordThanThis
2
GRANT create session TO nxpscan;
3.
GRANT select ON sys。注册表历史nxpscan美元;

创建此帐户后,可以配置站点以使用新的Oracle凭据。

Sybase的策略扫描

Sybase的策略扫描目前不可用。