Oracle Database 12c Security - 13. An Applied Approach to Multitenancy and Cloud Security

有时,不必要的安全措施会导向更不安全。例如,增加口令强度导致用户不得不将口令记录,并存放在不安全的地方。

安全象洋葱,一层又一层。

SYSTEM BASELINE AND CONFIGURATION

Facility and Infrastructure Security

Facility Security

是基础,防止“未授权的物理访问”。如是否有门禁,UPS等。

参考:

  • Guide to General Server Security
  • A Recommendation for the Use of PIV Credentials in Physical Access Control Systems (PACS)
  • https://csrc.nist.gov/publications/sp

Infrastructure Security

SLA是否满足你的需求。

DNS, NTP, 网络,IDS,备份设备等。

Personnel Security

人员的培训,审计。人员离职时资源的撤销和清除。

不要让一个人掌握所有的资源。

Configuration Management

大家需要遵守流程,将改变记录下来。

参考Guide for Security-Focused Configuration Management of Information Systems

Equipment

最新的固件,补丁,磁盘加密,防病毒,hardening。

  • Critical Patch Updates, Security Alerts and Bulletins
  • MITRE’s Common Vulnerabilities and Exposures (CVE) Database
  • National Vulnerability Database (NVD)
  • Symantec Security Response

记录所有的硬件信息,包括MAC,IP,主机,接口,位置等

Secure Virtualization

type 1: bare metal
type 2:guested

Operating System

是否与数据库兼容,查这里

口令策略,内核参数,文件权限等。

Oracle Linux 7 的安全check list。

Oracle数据库建议Linux,最好是Oracle Linux。

Oracle Linux是基于Red Hat Linux distribution的,是相互兼容的。

可参考Security Guide for Release 7

Jobs, Users, Groups/Roles, and Privileges

Job - 岗位,如DBA, OS管理员,备份管理员等
User Account - 一人一账号,不要共享账号,因无法审计;用户多时,使用集中式用户管理,如LDAP。

Nonrepudiation - 不可否认

NTP需设置正确,对审计重要。

如果用户需要的权限是临时的,可以临时赋予其权限或角色,事后撤销。

口令管理可参考Oracle Privileged Account Manager

ORACLE DATABASE 12C MULTITENANCY AND CLOUD COMPUTING

12c最大的改变是多租户,安全方面,应用无需改变,PDB可单独设置安全策略,隔离性好。

Cloud Computing

现在有OCI了,当时只是基于OEM来做IaaS和PaaS。

ORACLE 12C SOFTWARE INSTALLATION

ORACLE_BASE和ORACLE_HOME。
例如:

$ echo $ORACLE_HOME
/opt/oracle/product/19c/dbhome_1

$ echo $ORACLE_BASE
/opt/oracle

Security-Related Installation Prerequisites and Installation Options

  • 满足安装要求
  • 安装最新补丁
  • 映射SYS%权限到OS Groups
  • 强口令机制
  • 安全通知手段
  • 备份机制
  • 高可用保护
  • 用OEMCC管理

Choosing the Number of Oracle Homes

每一个Oracle HOME可以有多个CDB(数据库)。

技术上,一个Oracle HOME就够,但为了不相互影响,可以为不同租户建立单独的Oracle HOME。当然,一个Oracle HOME的好处就是打补丁只需一次,但多个的好处是可以滚动升级。

Securing the Oracle Home

文件一致性工具,如Linux下的AIDE,确保文件没被修改(权限靠记录基线,数据靠校验和)。使用参见这里

$ sudo yum install aide

$ sudo aide -v
Aide 0.15.1

Compiled with the following options:

WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Are You Still Secure?

定期检查和验证,OEMCC有合规性检查。

Securing the Listener

Listener接受来自客户端的网络连接并转发到server process。

一些建议:

  • 修改默认1521端口
  • 配置SSL连接
  • 来源控制:TCP_VALIDNODE_CHECKING
  • 使用Oracle Connection Manager (CMAN)?

Managing Passwords

不应以明码存于文件,应使用Secure External Password Store(wallet)或存于Key Vault。

Secure Database Initialization Parameters

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_os_authent                    boolean     FALSE
remote_os_roles                      boolean     FALSE
remote_login_passwordfile            string      EXCLUSIVE
audit_trail                          string      NONE
sql92_security                       boolean     TRUE
sec_case_sensitive_logon             boolean     TRUE
sec_max_failed_login_attempts        integer     3
...

INSTALLING AND SECURING YOUR APPLICATION

Sensitive Data Discovery

OEM有Sensitive Data Discovery工具。

Account Management

  • 特权用户/SYS% 用户

  • Schema 用户

  • Non-person entities (NPE) 或批处理程序账户。NPE指与数据库交互的实体,但非真人。

  • Named user accounts或named account,这就是最常用的用户了。

如果数据库多,用户多,还是建议用集中式的LDAP来管理用户,如OUD。

为不同类型的用户建立不同的Database Profile。

Privilege Management

最小权限和不可抵赖。

Least Privilege

建议先赋权到角色,再赋角色到用户。这样可以评估用户的每一个权限是否必要。

保护应用数据的有效手段是DBV。建议为为shcema创建一个realm,然后为角色创建一个realm。

Data Access Controls

DBV command rule。12c之前使用VPD。

Protecting Your Company Intellectual Property

DBMS_NETWORK_ACL_ADMIN PL/SQL package定义网络ACL。

OS层,使用wrap加密PL/SQL。

$ cat mySourceFile.sql
create or replace procedure test1(i in number) as

begin

dbms_output.put_line('输入参数是'||to_char(i));

end;

$ wrap iname=mySourceFile.sql oname=myWrappedFile.plb

$ cat myWrappedFile.plb
create or replace procedure test1 wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
64 ae
h17segXOVFAp6NezNxycrE6yK3Ywg5nnm7+fMr2ywFwWoWLRf3elw6XSXqWZgTLAsiXDuHSL
BsDAMv7ShgbAUpuySv4osr3nsrMdBjAsriTqsoEf+BskeUySoJ0pMXeycsnY6mQmvQjQvzO4
dCWld3egiwbAgccti+CmphShytg=

/

SQL> connect / as sysdba
Connected.
SQL> @myWrappedFile.plb

Procedure created.

SQL> exec test1(1)

PL/SQL procedure successfully completed.

PL/SQL层,可使用DBMS_DDL.CREATE_WRAPPED。

Database Firewall

可用于没有实施SQL Injection功能的老系统。

DATA ENCRYPTION

Network Data Encryption and Integrity

支持Native Network Encryption和SSL/TLS Encryption。前者依赖Oracle Net Services。

12c后,网络数据加密无需license。

需要在客户端和服务器上的sqlnet.ora文件中设置。可以用Wireshark验证网络加密是否生效。

Encryption of Data at Rest

使用TDE。小型系统可使用wallet,大型系统可使用Oracle key vault。

ENCRYPTION OF BACKUP DATA

RMAN支持备份加密,但需要license。
支持以下3中加密方式:

  1. 透明加密
  2. 口令加密
  3. 混合模式(以上两者之一)
SELECT algorithm_name FROM v$rman_encryption_algorithms;

ALGORITHM_NAME
----------------------------------------------------------------
AES128
AES192
AES256

AUDITING

审计数据应视为只读数据。

Oracle Auditing

TA, FGA, OUA.

Oracle Audit Vault

单独的产品。支持第三方产品。大规模时建议使用。

AUDIT LIFE CYCLE MANAGEMENT

由于占空间等资源,审计数据应定期备份归档。

LOCKING DOWN YOUR SYSTEM

locking down也可认为是hardening,就是去除不必要的模块,权限,服务等,以减少攻击界面。

lockdown也会与SoD结合。

Standards for Lockdown

Defense Information Systems Agency (DISA) Security Technical Implementation Guides (STIGs)。参考https://www.newnettechnologies.com/compliance/disa-stig.html

OEMCC有合规性检查工具。参见Enterprise Manager Cloud Control Oracle Database Compliance Standards。

National Information Assurance Partnership (NIAP) Protection Profiles (PP)

custody - 监护,保管,拘押。

SECURE PATCHING

补丁也是为了安全,需要先在测试系统上打。

MONITORING AND ALERTING

监控与报警是系统的眼睛。

Monitoring Audit Events

需与审计数据关联。

System Monitoring Using OEMCC

使用OEMCC监控合规性,性能等。

AVAILABILITY, BACKUP AND RECOVERY, AND CONTINUITY OF OPERATIONS

Availability

可用性是系统正常运行的时间。

主备可用性和主主可用性(指RAC,不是双活)。

Backup and Recovery

Data Pump,RMAN

你可能感兴趣的:(Oracle,12c,Oracle数据库安全,Oracle,数据库,Security)