Oracle 23c数据库已发布,可以通过rpm包、docker镜像或预定义的VirtualBox VM下载。下载23c的链接和一些初步细节可以在这里找到。
我选择下载了Oracle Virtualbox VM,并迅速将其运行起来;它大约只有7GB。在这里,我使用PC上的11.2.0.4客户端远程登录:
C:\mac_nov_2019\audit_class_2_day\2_day_master\V2.21.02\scripts>sqlplus sys/oracle@//192.168.56.18:1521/freepdb1 as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu Apr 6 07:35:19 2023 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release SQL>
这个23c版本的发布非常惊人,据我所知,它是在免费XE模型的基础上进行了更新并更改了名称。它有一定的安装限制、大小限制等,但您可以在内部免费使用——查看限制详情。这个23c免费版本现在被称为"FREE"而不是XE。同时,它首次发布,而不是在EE和SE版本发布之后。这样做的目的是让开发者和社区能够尽早下载并针对23c开发他们的应用程序,并在最终的企业版或标准版发布之前做好准备。
这意味着我们都可以成为beta测试者,而无需加入beta计划,最重要的是我们可以讨论它!
我连接到我的23c VM并运行了一些命令,还尝试使用了11.2.0.4和19c的PC客户端。第一个显著的简单更新是不再需要DUAL。
SQL> select sys_context('userenv','con_name');
SYS_CONTEXT('USERENV','CON_NAME')
--------------------------------------------------------------------------------
FREEPDB1
1 row selected.
SQL>
当然,您仍然可以使用DUAL:
SQL> select sys_context('userenv','con_name') from dual;
SYS_CONTEXT('USERENV','CON_NAME')
--------------------------------------------------------------------------------
FREEPDB1
1 row selected.
SQL>
在各种帖子中提到,21c XE在与XE相同的限制下免费包含了成本选项,例如数据库堡垒(Database Vault)或Oracle标签安全和实时应用安全(Real Application Security)都包含在XE版本中。例如,Paul Bullen在他的linkedin文章中提到了这一点。目前尚不清楚23c Free是否也免费包含了所有相同的特性。我在23c FREE中快速检查了一下:
C:\mac_nov_2019\audit_class_2_day\2_day_master\V2.21.02\scripts>sqlplus sys/oracle@//192.168.56.18:1521/freepdb1 as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 5 15:06:54 2023
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release
SQL>
SQL> col comp_name for a40
SQL> col status for a10
SQL> col version for a15
SQL> set lines 220
SQL> select comp_name,status,version from dba_registry;
COMP_NAME STATUS VERSION
---------------------------------------- ---------- ---------------
Oracle Database Catalog Views VALID 23.0.0.0.0
Oracle Database Packages and Types VALID 23.0.0.0.0
Oracle Real Application Clusters OPTION OFF 23.0.0.0.0
JServer JAVA Virtual Machine VALID 23.0.0.0.0
Oracle XDK VALID 23.0.0.0.0
Oracle Database Java Packages VALID 23.0.0.0.0
OLAP Analytic Workspace VALID 23.0.0.0.0
Oracle XML Database VALID 23.0.0.0.0
Oracle Workspace Manager VALID 23.0.0.0.0
Oracle Text VALID 23.0.0.0.0
Oracle OLAP API VALID 23.0.0.0.0
COMP_NAME STATUS VERSION
---------------------------------------- ---------- ---------------
Spatial VALID 23.0.0.0.0
Oracle Label Security VALID 23.0.0.0.0
Oracle APEX VALID 22.2.0
Oracle Database Vault VALID 23.0.0.0.0
15 rows selected.
SQL>
例如,数据库堡垒和标签安全似乎都包含在内。如果我们检查v$option,我们可以看到数据库堡垒和标签安全都设置为FALSE:
SQL> select parameter from v$option where value=FALSE;
PARAMETER
----------------------------------------------------------------
Real Application Clusters
Parallel backup and recovery
Parallel execution
Change Data Capture
Managed Standby
Database resource manager
Automatic Storage Management
Enterprise User Security
Oracle Data Guard
Oracle Label Security
Streams Capture
PARAMETER
----------------------------------------------------------------
Oracle Database Vault
Real Application Testing
Active Data Guard
Server Flash Cache
Management Database
I/O Server
ASM Proxy Instance
Exadata Discovery
Global Data Services
Cache Fusion Lock Accelerator
Data Guard for Pluggable Databases
PARAMETER
----------------------------------------------------------------
SQL Firewall
23 rows selected.
SQL>
有趣的是,新特性SQL Firewall也设置为FALSE。我们能否使用并测试它?它是否存在?我还不知道,但我将会检查。
快速检查PDB中的用户显示有49个用户已安装:
SQL> col username for a20
SQL> col account_status for a15
SQL> col password_versions for a10
SQL> col read_only for a3
SQL> col dictionary_protected for a3
SQL> set lines 220
SQL> col protected for a3
SQL> col mandatory_profile_violation for a3
SQL> select username,account_status,password_versions,read_only,dictionary_protected, protected, mandatory_profile_violation from dba_users;
USERNAME ACCOUNT_STATUS PASSWORD_V REA DIC PRO MAN
-------------------- --------------- ---------- --- --- --- ---
SYS OPEN 11G 12C NO NO NO NO
SYSTEM OPEN 11G 12C NO NO NO NO
APEX_LISTENER OPEN 11G 12C NO NO NO NO
APEX_PUBLIC_USER OPEN 11G 12C NO NO NO NO
APEX_REST_PUBLIC_USE OPEN 11G 12C NO NO NO NO
R
AV OPEN 11G 12C NO NO NO NO
PDBADMIN OPEN 11G 12C NO NO NO NO
SYSRAC OPEN NO YES NO NO
HR OPEN 11G 12C NO NO NO NO
USERNAME ACCOUNT_STATUS PASSWORD_V REA DIC PRO MAN
-------------------- --------------- ---------- --- --- --- ---
ORDS_PUBLIC_USER OPEN 11G 12C NO NO NO NO
ORDS_METADATA OPEN NO NO NO NO
BI OPEN 11G 12C NO NO NO NO
OE OPEN 11G 12C NO NO NO NO
PM OPEN 11G 12C NO NO NO NO
HRREST OPEN 11G 12C NO NO NO NO
IX OPEN 11G 12C NO NO NO NO
PFCLSCAN OPEN 11G 12C NO NO NO NO
SH OPEN 11G 12C NO NO NO NO
XS$NULL LOCKED NO YES NO NO
LBACSYS LOCKED NO YES NO NO
USERNAME ACCOUNT_STATUS PASSWORD_V REA DIC PRO MAN
-------------------- --------------- ---------- --- --- --- ---
OUTLN LOCKED NO NO NO NO
DBSNMP LOCKED NO NO NO NO
APPQOSSYS LOCKED NO NO NO NO
APEX_220200 LOCKED NO NO NO NO
DBSFWUSER LOCKED NO NO NO NO
GGSYS LOCKED NO NO NO NO
ANONYMOUS LOCKED NO NO NO NO
FLOWS_FILES LOCKED NO NO NO NO
CTXSYS LOCKED NO YES NO NO
DVSYS LOCKED NO YES NO NO
DVF LOCKED NO YES NO NO
USERNAME ACCOUNT_STATUS PASSWORD_V REA DIC PRO MAN
-------------------- --------------- ---------- --- --- --- ---
AUDSYS LOCKED NO YES NO NO
GSMADMIN_INTERNAL LOCKED NO YES NO NO
GGSHAREDCAP LOCKED NO YES NO NO
OLAPSYS LOCKED NO NO NO NO
MDSYS LOCKED NO NO NO NO
XDB LOCKED NO YES NO NO
WMSYS LOCKED NO NO NO NO
GSMCATUSER LOCKED NO NO NO NO
MDDATA LOCKED NO NO NO NO
SYSBACKUP LOCKED NO YES NO NO
REMOTE_SCHEDULER_AGE LOCKED NO NO NO NO
USERNAME ACCOUNT_STATUS PASSWORD_V REA DIC PRO MAN
-------------------- --------------- ---------- --- --- --- ---
NT
GSMUSER LOCKED NO NO NO NO
OJVMSYS LOCKED NO NO NO NO
DIP LOCKED NO NO NO NO
SYSKM LOCKED NO YES NO NO
DGPDB_INT LOCKED NO NO NO NO
SYS$UMF LOCKED NO NO NO NO
SYSDG LOCKED NO YES NO NO
49 rows selected.
SQL>
这里有些有趣的事情。这个23c PDB中的默认账户数量比之前的版本多;实际上有48个,因为我创建了一个用户PFCLSCAN。当然,这些都是为开发者准备的样本,但就安全性而言,这是一个倒退,因为21c XE中默认没有安装这些。从21c开始新增了一个Mandatory Profile Violation列,我将在以后的文章中讨论,以及一个21c中没有的READ ONLY列,现在在23c中出现了。默认没有用户被标记为READ ONLY。该列也没有在23c文档中描述,但我将在以后的文章中探讨。还有两个列,PROTECTED和DICTIONARY_PROTECTED。没有用户被标记为PROTECTED,但有些用户被标记为DICTIONARY_PROTECTED。我将在下一篇文章中详细讨论这两个问题。
配置文件很有趣,设置比早期版本更差:
SQL> @profiles
profiles.sql: Release 1.0.0.0.0 - Production on Thu Apr 06 06:42:49 2023
Copyright (c) 2007, 2009 PeteFinnigan.com Limited. All rights reserved.
F = Failed Login Attempts
T = Password reuse time
S = Sessions per user
L = Password Lock Time
M = Pasword Reuse Max
G = Password Grace Time
L = Password Life Time
V = Password verify function name
USER Profile F T S L M G L V
================================================================================
SYS DEFAULT 10 U U 1 U 7 U NULL
SYSTEM DEFAULT 10 U U 1 U 7 U NULL
APEX_LISTENE DEFAULT 10 U U 1 U 7 U NULL
APEX_PUBLIC_ DEFAULT 10 U U 1 U 7 U NULL
APEX_REST_PU DEFAULT 10 U U 1 U 7 U NULL
AV DEFAULT 10 U U 1 U 7 U NULL
PDBADMIN DEFAULT 10 U U 1 U 7 U NULL
SYSRAC DEFAULT 10 U U 1 U 7 U NULL
HR DEFAULT 10 U U 1 U 7 U NULL
ORDS_PUBLIC_ DEFAULT 10 U U 1 U 7 U NULL
ORDS_METADAT DEFAULT 10 U U 1 U 7 U NULL
BI DEFAULT 10 U U 1 U 7 U NULL
OE DEFAULT 10 U U 1 U 7 U NULL
PM DEFAULT 10 U U 1 U 7 U NULL
HRREST DEFAULT 10 U U 1 U 7 U NULL
IX DEFAULT 10 U U 1 U 7 U NULL
PFCLSCAN DEFAULT 10 U U 1 U 7 U NULL
SH DEFAULT 10 U U 1 U 7 U NULL
XS$NULL DEFAULT 10 U U 1 U 7 U NULL
LBACSYS DEFAULT 10 U U 1 U 7 U NULL
OUTLN DEFAULT 10 U U 1 U 7 U NULL
DBSNMP DEFAULT 10 U U 1 U 7 U NULL
APPQOSSYS DEFAULT 10 U U 1 U 7 U NULL
APEX_220200 DEFAULT 10 U U 1 U 7 U NULL
DBSFWUSER DEFAULT 10 U U 1 U 7 U NULL
GGSYS DEFAULT 10 U U 1 U 7 U NULL
ANONYMOUS DEFAULT 10 U U 1 U 7 U NULL
FLOWS_FILES DEFAULT 10 U U 1 U 7 U NULL
CTXSYS DEFAULT 10 U U 1 U 7 U NULL
DVSYS DEFAULT 10 U U 1 U 7 U NULL
DVF DEFAULT 10 U U 1 U 7 U NULL
AUDSYS DEFAULT 10 U U 1 U 7 U NULL
GSMADMIN_INT DEFAULT 10 U U 1 U 7 U NULL
GGSHAREDCAP DEFAULT 10 U U 1 U 7 U NULL
OLAPSYS DEFAULT 10 U U 1 U 7 U NULL
MDSYS DEFAULT 10 U U 1 U 7 U NULL
XDB DEFAULT 10 U U 1 U 7 U NULL
WMSYS DEFAULT 10 U U 1 U 7 U NULL
GSMCATUSER DEFAULT 10 U U 1 U 7 U NULL
MDDATA DEFAULT 10 U U 1 U 7 U NULL
SYSBACKUP DEFAULT 10 U U 1 U 7 U NULL
REMOTE_SCHED DEFAULT 10 U U 1 U 7 U NULL
GSMUSER DEFAULT 10 U U 1 U 7 U NULL
OJVMSYS DEFAULT 10 U U 1 U 7 U NULL
DIP DEFAULT 10 U U 1 U 7 U NULL
SYSKM DEFAULT 10 U U 1 U 7 U NULL
DGPDB_INT DEFAULT 10 U U 1 U 7 U NULL
SYS$UMF DEFAULT 10 U U 1 U 7 U NULL
SYSDG DEFAULT 10 U U 1 U 7 U NULL
================================================================================
USER Profile F T S L M G L V
PL/SQL procedure successfully completed.
For updates please visit http://www.petefinnigan.com/tools.htm
SQL>
例如,180天的生命周期已经没有了,但7天的宽限期仍然存在。无论如何,这两个设置都没有意义。我将在下一篇文章中详细讨论配置文件。
好了,暂时就这些。我只想快速发布一篇关于23c的文章,但我将更详细地发布关于Oracle数据库安全在23c的内容。
原文标题:Oracle Database Free 23c - Database Security
原文作者:Pete Finnigan
原文链接:http://www.petefinnigan.com/weblog/archives/00001507.htm




