暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 数据库免费版 23c — 数据库安全性

小小亮 2024-12-03
421

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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论