学习啦 > 学习电脑 > 电脑安全 > 网络安全知识 >

Oracle 11g实现安全加固方法步骤

时间: 加城1195 分享

  网络安全是目前互联网的热门话题之一,作为个人用户的我们同样需要关注,做好防护。这篇文章主要给大家介绍了关于Oracle 11g实现安全加固的完整步骤,文中通过示例代码将实现的步骤一步步介绍的非常详细,对大家学习或者使用Oracle 11g具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

  方法步骤

  1.安全加固的检查方向

  1.1.sysdba用户远程登录限制(查看Oracle登录认证方式)

  检查:

  show parameter remote_login_passwordfile

  整改:

  alter system set remote_login_passwordfile = NONE scope=spfile;

  注:需要重启库生效。

  1.2.是否开启了资源限制

  show parameter resource_limit

  alter system set resource_limit = true;

  1.3.登录失败的帐号锁定策略

  select * from dba_profiles order by 1;

  关注FAILED_LOGIN_ATTEMPTS的设定值

  1.4.数据库用户帐号检查

  检查:

  select username,profile from dba_users where account_status='OPEN';

  整改:

  锁定用户:alter user <用户名> lock;

  删除用户:drop user <用户名> cascade;

  1.5.范例数据库帐号

  是否存在默认的范例数据库账号scott等,可以考虑删除scott账号

  1.6.dba权限账户检查

  ?

  1

  select * from dba_role_privs where granted_role='DBA';

  1.7.数据库账户口令加密存储

  11g数据里面的账户口令本来就是加密存储的。

  1.8.数据库密码安全性校验函数

  ?

  1

  select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';

  1.9.设定信任IP集

  只需在服务器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中设置以下行:

  ?

  1

  2

  tcp.validnode_checking = yes

  tcp.invited_nodes = (ip1,ip2…)

  1.10.超时的空闲远程连接是否自动断开

  根据实际需要设置合适的数值。

  在$ORACLE_HOME/network/admin/sqlnet.ora中设置下面参数:

  ?

  1

  SQLNET.EXPIRE_TIME=10

  2.安全加固检查safeCheck.sh

  #!/bin/bash

  #name:safeCheck.sh

  #function:to create a safe check report.

  #usage: oracle用户登录,执行 sh safeCheck.sh > /tmp/safeCheck.log

  #logon database

  sqlplus -S / as sysdba <

  --format

  prompt ============================

  prompt == format

  prompt ============================

  prompt

  set linesize 140 pagesize 50

  col username for a30

  col profile for a30

  col resource_name for a30

  col limit for a30

  --check

  prompt ============================

  prompt == 1.sysdba用户远程登录限制

  prompt ============================

  prompt

  show parameter remote_login_passwordfile

  prompt 结果应为none.

  prompt ======================

  prompt == 2.resource_limit

  prompt ======================

  prompt

  show parameter resource_limit

  prompt 结果应为true.

  prompt ===========================

  prompt == 3.登录失败的帐号锁定策略

  prompt ===========================

  prompt

  select * from dba_profiles order by 1;

  prompt 关注FAILED_LOGIN_ATTEMPTS参数

  prompt ===========================

  prompt == 4.数据库用户帐号检查

  prompt ===========================

  prompt

  select username,profile from dba_users where account_status='OPEN';

  prompt 正常使用的用户列表

  prompt ==========================

  prompt == 5.范例数据库帐号

  prompt ==========================

  prompt

  select * from all_users order by created;

  prompt 关注有无示例账户scott

  prompt ===========================

  prompt == 6.dba权限账户检查

  prompt ===========================

  prompt

  prompt ===========================

  prompt == 7.数据库账户口令加密存储

  prompt ===========================

  prompt

  prompt =============================

  prompt == 8.数据库密码安全性校验函数

  prompt =============================

  prompt

  select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';

  prompt 结果应该不为null

  --logoff database

  EOF

  # check the files

  echo ===================

  echo == 9.设定信任IP集

  echo ===================

  echo

  more $ORACLE_HOME/network/admin/sqlnet.ora

  #添加如下

  #tcp.validnode_checking = yes

  #tcp.invited_nodes = (ip1,ip2…)

  echo ===================================

  echo == 10.超时的空闲远程连接是否自动断开

  echo ===================================

  echo

  #根据实际需要设置合适的数值。

  more $ORACLE_HOME/network/admin/sqlnet.ora

  #添加如下一行

  #SQLNET.EXPIRE_TIME=10

  3.安全加固执行safeExec.sh

  #!/bin/bash

  #name:safeExec.sh

  #function:to execute the script for safe.

  #usage: oracle用户登录,执行 sh safeExec.sh > /tmp/safeExec.log

  #logon database

  sqlplus -S / as sysdba <

  --format

  prompt ============================

  prompt == format

  prompt ============================

  set linesize 140 pagesize 50

  col username for a30

  col profile for a30

  col resource_name for a30

  col limit for a30

  --execute

  prompt ============================

  prompt == 1.sysdba用户远程登录限制

  prompt ============================

  alter system set remote_login_passwordfile=none scope=spfile;

  prompt ======================

  prompt == 2.resource_limit

  prompt ======================

  alter system set resource_limit=true;

  prompt ===========================

  prompt == 3.登录失败的帐号锁定策略

  prompt ===========================

  alter profile default limit FAILED_LOGIN_ATTEMPTS 10;

  prompt ===========================

  prompt == 4.数据库用户帐号检查

  prompt ===========================

  --select username,profile from dba_users where account_status='OPEN';

  prompt I think I have nothing to do in this step.

  prompt ===========================

  prompt == 5.范例数据库帐号

  prompt ===========================

  prompt 是否删除范例scott用户?

  --drop user scott cascade;

  prompt ===========================

  prompt == 6.dba权限账户检查

  prompt ===========================

  prompt I think I have nothing to do in this step.

  prompt ===========================

  prompt == 7.数据库账户口令加密存储

  prompt ===========================

  prompt 11g版本,数据库层面就是加密的嘛~

  prompt =============================

  prompt == 8.数据库密码安全性校验函数

  prompt =============================

  prompt 执行创建安全性校验函数的脚本

  @?/rdbms/admin/utlpwdmg.sql

  --logoff database

  EOF

  # check the files

  echo ===================

  echo == 9.设定信任IP集

  echo ===================

  more $ORACLE_HOME/network/admin/sqlnet.ora

  #添加如下

  #tcp.validnode_checking = yes

  #tcp.invited_nodes = (ip1,ip2…)

  echo ===================================

  echo == 10.超时的空闲远程连接是否自动断开

  echo ===================================

  #根据实际需要设置合适的数值。

  more $ORACLE_HOME/network/admin/sqlnet.ora

  #添加如下一行

  #SQLNET.EXPIRE_TIME=10

  针对第9和第10步骤中的sqlnet.ora配置文件示例:

  注意:如果是ASM实例,sqlnet.ora配置文件是grid用户下$ORACLE_HOME/network/admin/sqlnet.ora的。

  SQLNET.EXPIRE_TIME=10

  tcp.validnode_checking = yes

  tcp.invited_nodes = (192.168.99.*)

  相关阅读:2018网络安全事件:

  一、英特尔处理器曝“Meltdown”和“Spectre漏洞”

  2018年1月,英特尔处理器中曝“Meltdown”(熔断)和“Spectre” (幽灵)两大新型漏洞,包括AMD、ARM、英特尔系统和处理器在内,几乎近20年发售的所有设备都受到影响,受影响的设备包括手机、电脑、服务器以及云计算产品。这些漏洞允许恶意程序从其它程序的内存空间中窃取信息,这意味着包括密码、帐户信息、加密密钥乃至其它一切在理论上可存储于内存中的信息均可能因此外泄。

  二、GitHub 遭遇大规模 Memcached DDoS 攻击

  2018年2月,知名代码托管网站 GitHub 遭遇史上大规模 Memcached DDoS 攻击,流量峰值高达1.35 Tbps。然而,事情才过去五天,DDoS攻击再次刷新纪录,美国一家服务提供商遭遇DDoS 攻击的峰值创新高,达到1.7 Tbps!攻击者利用暴露在网上的 Memcached 服务器进行攻击。网络安全公司 Cloudflare 的研究人员发现,截止2018年2月底,中国有2.5万 Memcached 服务器暴露在网上 。

  三、苹果 iOS iBoot源码泄露

  2018年2月,开源代码分享网站 GitHub(软件项目托管平台)上有人共享了 iPhone 操作系统的核心组件源码,泄露的代码属于 iOS 安全系统的重要组成部分——iBoot。iBoot 相当于是 Windows 电脑的 BIOS 系统。此次 iBoot 源码泄露可能让数以亿计的 iOS 设备面临安全威胁。iOS 与 MacOS 系统开发者 Jonathan Levin 表示,这是 iOS 历史上最严重的一次泄漏事件。

  四、韩国平昌冬季奥运会遭遇黑客攻击

  2018年2月,韩国平昌冬季奥运会开幕式当天遭遇黑客攻击,此次攻击造成网络中断,广播系统(观众不能正常观看直播)和奥运会官网均无法正常运作,许多观众无法打印开幕式门票,最终未能正常入场。

  五、加密货币采矿软件攻击致欧洲废水处理设施瘫痪

  2018年2月中旬,工业网络安全企业 Radiflow 公司表示,发现四台接入欧洲废水处理设施运营技术网络的服务器遭遇加密货币采矿恶意软件的入侵。该恶意软件直接拖垮了废水处理设备中的 HMI 服务器 CPU,致欧洲废水处理服务器瘫痪 。

  Radiflow 公司称,此次事故是加密货币恶意软件首次对关键基础设施运营商的运营技术网络展开攻击。由于受感染的服务器为人机交互(简称HMI)设备,之所以导致废水处理系统瘫痪,是因为这种恶意软件会严重降低 HMI 的运行速度。


网络安全相关文章:

1.网络安全知识

2.网络安全技术的总结

3.关于计算机网络安全

4.一个局域网网络安全解决方案

5.教你保护无线网络安全连接九大方法

4040905