资讯专栏INFORMATION COLUMN

在CentOs8上安装并配置符合等保2.0要求的Oracle 19c

IT那活儿 / 2993人阅读
在CentOs8上安装并配置符合等保2.0要求的Oracle 19c

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!





前  言




《中华人民共和国网络安全法》于2017年6月1日正式实施,其中明确了“国家实行网络安全等级保护制度”、“关键信息基础设施,在网络安全等级保护制度的基础上,实行重点保护”等内容。网络安全法为网络安全等级保护制度赋予了新的含义和内容,网络安全等级保护制度进入2.0时代。

作为曾经从事等保行业的等保测评师,深知网络安全等级测评的重要性,所以现在把我所了解的如何配置一个符合等保2.0要求的oracle数据库的方法分享出来,给大家提供一个参考。
在本文中我将通过从0开始安装oracle数据库,并对照《GBT 22239-2019信息安全技术网络安全等级保护基本要求》文件中的规定对服务器和数据库进行安全配置。





安装Oracle Database 19c



安装环境:
  • 服务器:4核4G,40G硬盘 vmware虚拟机
  • 操作系统:CentOS Linux release 8.5.2111
  • Oracle版本:19.3.0.0.0

1. 下载安装包和预安装包

oracle-database-ee-19c-1.0-1.x86_64.rpm
oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

2. 上传至centos主机

这里使用scp命令利用ssh上传本地文件至主机:
检查主机上的文件:

3. 安装预安装包

直接安装预安装包失败报错信息为依赖检测失败,需要首先安装依赖。

4. 安装依赖

如果主机可以直接连接互联网,可以使用dnf或yum直接搜索安装依赖;如果主机在内网环境中无法连接互联网,需要提前下载好依赖包上传并提前安装。
这里直接使用dnf搜索依赖并安装。
由于需要的依赖中compat-libcap1和compat-libstdc++-33包通过dnf或tyum搜索不到,需要自行下载上传安装。
安装:

5. 再次安装预安装包

成功。

6. 安装oracle数据库

/etc/init.d/oracledb_ORCLCDB-19c configure
安装并启动成功。

7. 添加环境变量

在/etc/profile.d目录中新增文件oracle.sh,并修改内容如下:
使修改的内容生效source /etc/profile。
尝试登录数据库成功。
在未配置防火墙的前提下,仅允许本地登录。
如果需要网络访问,可以使用firewall-cmd --add-port={端口号}/tcp –permanent来永久开放Oracle监听的端口,不建议关闭防火墙。





安全配置



首先需要明确等级保护对象的安全保护等级,本次的等级保护对象是oracle数据库系统,为了更好的展示如何进行安全配置达到更高的要求,根据《GBT 22240-2020 信息安全技术 网络安全等级保护定级指南》文件本次oracle数据库系统的安全保护等级设立为三级。
明确等级保护对象的安全保护等级后就可以依照《GBT 22239-2019信息安全技术网络安全等级保护基本要求》文件中给定的要求去进行安全配置了。

1. 服务器

首先我们来对承载oracle数据库的服务器进行安全配置。

1.1 身份鉴别

1)应对登录的用户进行身份标识和鉴别。身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。
  • 保证系统中不存在空口令或者弱口令用户;
  • 所有用户的密码有效期不超过90天;
    这里可以通过配置/etc/login.defs修改模板策略来保证新增用户使用该模板策略。对于已经存在的用户,可以使用chage -M 90 username来配置。
  • 所有用户配置了口令长度和复杂度要求。
    这里对于redhat系linux来说,可以修改/etc/pam.d/system-auth文件配置实现,参考配置如下:password requisite pam_cracklib.so try_first_pass minlen=8 ucredit=-2 lcredit=-4 dcredit=-1 ocredit=-1(密码最小长度8;至少包含2个大写字母;至少包含4个小写字母;至少包含一个数字;至少包含一个特殊字符)。对于其他的linux发行版,可能文件位置和文件名有所不同,但应该都大同小异。
2)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。
  • 设置了登录失败锁定次数。
    这里对于redhat系linux来说,可以通过修改/etc/pam.d/system-auth文件配置实现,如配置pam_tally.so、pam_tally2.so模块并配置deny=3(这里配置的锁定次数不大于20即可),even_deny_root(配置对root账号生效)。
  • 设置了超时锁定参数。
    修改/etc/profile文件,添加export TMOUT=600(该参数值不大于1800即可)。
3)当进行远程管理时,应采取必要措施、防止鉴别信息在网络传输过程中被窃听。
这里我们采取仅通过本地登录或ssh登录的方式进行远程管理,保证关掉telnet等连接方式即可。
4)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
这里保证除用户名密码以外,采用了另外一种鉴别机制,此机制要求采用密码技术,如调用了密码机或采取sm1-sm4等算法。这一条一般是通过配置仅堡垒机可以登录服务器,然后再堡垒上配置手机验证等方式实现。

1.2 访问控制

1)应对登录的用户分配账户和权限。
  • root组内仅包括系统管理员的账号,如root用户;
  • linux文件和目录权限设置合理。
    这里配置文件的权限不能大于644;可执行文件不能大于755;日志文件权限,除root和审计账户外不可读写。系统配置文件默认权限合理。敏感文件权限值不能大于640,如数据库连接的配置文件保存有数据库的明文密码。
2)应重命名或删除默认账号,修改默认账户的默认口令。
  • 默认无用的账号不存在或已禁用或无法登录;
  • 已重命名root;
  • 已修改root的默认口令。
3)应及时删除或停用多余的、过期的账户,避免共享账户的存在。
  • 无用的、过期的账户不存在或已禁用或无法登录;
  • 各类管理员均使用自己分配的特定权限账户登录,不存在多人使用同一账户的现象。
4)应授予管理用户所需的最小权限,实现管理用户的权限分离。
  • 除系统管理员外,其他账户均不属于root组,无系统管理权限,同时UID为0的账户只有一个,sudoers文件不存在除root以外的用户设置sudo权限为ALL=(ALL)ALL。仅审计账户具有管理日志的权限;
  • 设置了系统管理员,审计管理员,安全管理员账户(至少有系统管理员和审计管理员两个角色),并合理分配了账户的权限,这个账户应由不同的人使用。
5)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则。
  • 指定系统管理员或安全管理员负责权限的分配,仅指定的管理员账号可以分配权限;
  • 各个账户权限的配置,均是基于安全员的安全策略配置进行的访问控制。
6)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级。
这里的要求linux已经默认满足了。
7)应对重要主体和客体设置安全标记.并控制主体对有安全标记信息资源的访问。
这一项的要求实际上对于linux来说就是不能关闭selinux并且要求模式在enforcing强制模式下,我们在安装oracle时并未关闭selinux,并且模式默认为enforcing强制模式,同时oracle Database 19c是支持selinux的,因此这一项实际上也是默认满足了。

1.3 安全审计

1)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。
  • 启用syslogd或rsyslog服务,这个直接使用systemctl或者service命令开启即可;
  • 启用auditd服务,这个同样使用systemctl或者service命令开启即可。
2)审计记录应包括事件的日期和时间,用户、事件类型,事件是否成功及其他与审计相关的信息。
这里启用了rsyslog和auditd服务已经默认符合了。
3)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等。
这里就是要求保证日志保留六个月并且备份,可以通过各种方式实现。
4)应对审计进程进行保护,防止未经授权的中断。
权限设置合理即可,非审计管理员无法结束审计进程。

1.4 入侵检测

1)应遵循最小安装的原则仅安装需要的组件和应用程序。
本次仅安装了oracle和其他一些系统需要的组件和程序,并未安装其他组件和程序,符合最小安装原则。
2)应关闭不需要的系统服务、默认共享和高危端口。
本次仅开启了22ssh端口和1251数据库端口,并未开启其他端口。
关闭多余的服务,如cupsd,portmap,rpc等。
3)应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制。
这里提供一个方法,实际上方法有很多种。可以通过配置/etc/hosts.allow和/etc/hosts.deny对SSH等的地址进行限制,如:sshd:192.168.0.1:allow等。
4)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求。
不涉及。
5)应能发现可能存在的已知漏洞.并在经过充分测试评估后,及时修补漏洞。
定期对服务器进行漏洞扫描即可。
6)应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警。
这里只要安装主机入侵检测软件即可,但由于linux上此类软件大多付费且不像windows系统上那么多,这里就选择第二项,在网络中部署网络入侵检测系统。

1.5 恶意代码防范

1)应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。
安装杀毒软件即可。

1.6 可信验证

可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。
这里由于我是在虚拟机中进行的操作,所以只需要在虚拟机上配置可信平台模块即可。

1.7 数据完整性

1)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
不涉及。
2)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
不涉及。

1.8 数据保密性

1)应采用密码技术保证重要数据在传输过程中的保密性.包括但不限于鉴别数据、重要业务数据和重要个人信息等。
不涉及。
2)应采用密码技术保证重要数据在存储过程中的保密性.包括但不限于鉴别数据、重要业务数据和重要个人信息等。
不涉及。

1.9 数据备份恢复

1)应提供重要数据的本地数据备份和恢复功能。
不涉及。
2)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地。
不涉及。
3)应提供重要数据处理系统的热冗余,保证系统的高可用性。
服务器采用热备或集群等方式实现高可用。

1.10 剩余信息保护

1)应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除。
不涉及。
2)应保证存有敏感数据的存储空间被释放或重新分配前得到完全清际。
不涉及。

1.11 个人信息保护

1)应仅采集和保存业务必需的用户个人信恳。
不涉及。
2)应禁止未授权访问和非法使用用户个人信忌。
不涉及。

2. 数据库

完成了服务器的安全配置之后,我们再来对oracle数据库进行安全配置。

2.1 身份鉴别

1)应对登录的用户进行身份标识和鉴别.身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。
  • 登录数据库需要密码,不存在空口令、弱口令账户;
  • 口令复杂度策略设置如下:
    dba_profiles策略中”PASSWORD_VERIFY_FUNCTION“的值部位为NULL;
    utlpwdmg.sql中“—Check for the minimum length of the password”部分中“length(password)<”后面的值为8或以上。
  • 口令定期更换情况满足如下要求
    dba_profiles策略中PASSWORD_LIFE_TIME不为UNLIMITED。
2)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。
  • dba_profiles策略中FAILED_LOGIN_ATTEMPTS不为UNLIMITED且不大于100;
  • dba_profiles策略中IDLE_TIME不为UNLIMITED且不大于1800。
3)当进行远程管理时,应采取必要措施、防止鉴别信息在网络传输过程中被窃听。
允许远程管理的话,此项Oracle默认符合。因为均会采用oralce提供的文件进行连接。
4)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别.且其中一种鉴别技术至少应使用密码技术来实现。
这里保证除用户名密码以外,采用了另外一种鉴别机制,此机制要求采用密码技术,如调用了密码机或采取sm1-sm4等算法。这一条一般是通过配置仅堡垒机可以登录服务器,然后再堡垒上配置手机验证等方式实现。

2.2 访问控制

1)应对登录的用户分配账户和权限。
  • 根据岗位为用户分配账户和权限即可。
2)应重命名或删除默认账号,修改默认账户的默认口令。
  • 已修改默认口令,上线前口令。
3)应及时删除或停用多余的、过期的账户,避免共享账户的存在。
  • 保证不存在account status为“expired“的账户即可;
  • 删除scott、out1n、ordsys等示例账户,所有账户均为必要的管理账户或者数据库应用程序账户;
  • 每一个数据库账户与实际用户应为一一对应关系,不存在多人共享账户的情况。
4)应授予管理用户所需的最小权限,实现管理用户的权限分离。
  • 根据实际需要分配账户权限,权限设置满足以下要求:
    数据库管理员:具有DBA角色;
    其他管理员:不能有DBA角色;
    应用程序使用的账户:仅分配connect角色;
    开发人员:仅分配connect、Resoure角色。
  • 分配了网络管理员,安全管理员,审计管理员,分别由不同管理员使用,权限之间具有相互制约的关系,sys账户的使用受到控制、需要申请审批。
5)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则。
  • 指定系统管理员或安全管理员负责权限的分配,仅指定的管理员账号可以分配权限;
  • 各个账户权限的配置,均是基于安全员的安全策略配置进行的访问控制。
6)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级。
这里的要求oracle已经默认满足了。
7)应对重要主体和客体设置安全标记.并控制主体对有安全标记信息资源的访问。
安装Oracle Lable Security模块,并且配置好标签和策略。

2.3 安全审计

1)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。
  • Audit_trail结果不未none;audit_sys_operations应为true;
  • 开启redo log重做日志。
2)审计记录应包括事件的日期和时间,用户、事件类型,事件是否成功及其他与审计相关的信息。
这里启用了审计服务已经默认符合了。
3)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等。
这里就是要求保证日志保留六个月并且备份,可以通过各种方式实现。
4)应对审计进程进行保护,防止未经授权的中断。
权限设置合理即可,非审计管理员无法结束审计进程。

2.4 入侵检测

1)应遵循最小安装的原则仅安装需要的组件和应用程序。
不涉及。
2)应关闭不需要的系统服务、默认共享和高危端口。
不涉及。
3)应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制。
这里提供一个方法,实际上方法有很多种。可以通过配置sqlnet.ora或操作系统或网络层配置数据库远程登录地址限制。
4)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求。
不涉及。
5)应能发现可能存在的已知漏洞.并在经过充分测试评估后,及时修补漏洞。
定期对数据库进行漏洞扫描即可。
6)应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警。
这里只要主机安装了入侵检测软件或在网络中部署网络入侵检测系统即可。

2.5 恶意代码防范

应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。
不涉及。

2.6 可信验证

可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。
不涉及。

2.7 数据完整性

1)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
不涉及。
2)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
不涉及。

2.8 数据保密性

1)应采用密码技术保证重要数据在传输过程中的保密性.包括但不限于鉴别数据、重要业务数据和重要个人信息等。
不涉及。
2)应采用密码技术保证重要数据在存储过程中的保密性.包括但不限于鉴别数据、重要业务数据和重要个人信息等。
不涉及。

2.9 数据备份恢复

1)应提供重要数据的本地数据备份和恢复功能。
不涉及。
2)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地。
不涉及。
3)应提供重要数据处理系统的热冗余,保证系统的高可用性。
不涉及。

2.10 剩余信息保护

1)应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除。
不涉及。
2)应保证存有敏感数据的存储空间被释放或重新分配前得到完全清际。
不涉及。

2.11 个人信息保护

1)应仅采集和保存业务必需的用户个人信恳。
采集和保存个人信息时需要通过正式渠道获得用户的同意和授权。一般会在应用程序内部进行授权。
2)应禁止未授权访问和非法使用用户个人信忌。
要采取措施控制系统账户对个人信息的访问,例如权限控制,脱敏等。


本文作者:李双修

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129602.html

相关文章

  • 19C DG Broker配置和测试

    19C DG Broker配置和测试 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...

    IT那活儿 评论0 收藏2941
  • 企业数字化转型,数据如何保护

    摘要:在企业这场数字化转型的马拉松赛跑中,聪明的正在寻求新的技术方案以保护企业的数据和业务安全,而英方不管在技术方案还是在实践案例方面,都以全新的奔跑姿态与们在同一条跑道的同一水平上。企业数字化转型就像一场马拉松赛跑,在漫长的赛道上,哪怕最顶级的选手,也有可能会被后来者赶超。因为在数字化进程中,除了业务方向跑对之外,企业的信息安全是会影响企业战略大局的关键。这绝非危言耸听,而是有事实依据。美国德克...

    bovenson 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<