`
hwpok
  • 浏览: 251911 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle 安全

阅读更多

oracle数据库的安全包含两部分:
 1.一部分是os的安全
 2.网络的安全
 2.oracle软件本身的安全

 os的安全依赖相应的操作系统及管理员的技术水平,我们这里只谈谈oracle的安全

 我了解的oracle软件的安全包含:

 1.更改oracle的默认监听端口号
 2.给监听器加密码
 3.oracle控制ip的连接

 下面将针对这三个方面测试学习


---------oracle默认监听端口更改--------------


 1. 更改oracle的默认监听端口号

   修改端口号的整体步骤
     1.1 。 查看当前监听的状态
     1.2 。 停止监听
     1.3 。 修改监听文件的端口号
     1.4 。 修改初始化参数local_listener
     1.5 .  重启监听器
     1.6 。 修改完毕,使用新端口登录测试

实践步骤:

 1.1 。 查看当前监听的状态


 C:\Documents and Settings\skate_db>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -2008 12:1
1:19

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期                  19-7月 -2008 11:47:59
正常运行时间              0 天 0 小时 23 分 19 秒
跟踪级别                  off
安全性                    ON: Password or Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\oracle\product\10.2.0\db_3\network\admin\listener.o
ra
监听程序日志文件          E:\oracle\product\10.2.0\db_3\network\log\listener.log

监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1522)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功

 

1.2 。 停止监听


C:\Documents and Settings\skate_db>lsnrctl stop

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -2008 13:1
6:15

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
命令执行成功

 

1.3 。 修改监听文件的端口号,用于网络连接

把端口号修改为1523

# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_3\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_3)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(PORT = 1523))
    )
  )

#----ADDED BY TNSLSNR 12-7月 -2008 13:26:50---
PASSWORDS_LISTENER = 3650F1EB3C37ABD9
#---------------------------------------------

 

 1.4 。 修改初始化参数local_listener  ,用于本地连接


C:\Documents and Settings\skate_db>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 7月 19 13:24:02 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (address=(protocol=tcp)(host=s
                                                 kate)(port=1522))
SQL> alter system set local_listener="(address=(protocol=tcp)(host=skate)(port=1
523))";

系统已更改。

 

1.5 .  重启监听器

 

C:\Documents and Settings\skate_db>lsnrctl start

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -2008 13:2
7:44

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

启动tnslsnr: 请稍候...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为E:\oracle\product\10.2.0\db_3\network\admin\listener.ora
写入E:\oracle\product\10.2.0\db_3\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1523)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期                  19-7月 -2008 13:27:47
正常运行时间              0 天 0 小时 0 分 3 秒
跟踪级别                  off
安全性                    ON: Password or Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\oracle\product\10.2.0\db_3\network\admin\listener.o
ra
监听程序日志文件          E:\oracle\product\10.2.0\db_3\network\log\listener.log

监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1523)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

 

 1.6 。 修改完毕,使用新端口登录测试

1.6.1。 检查监听端口是否改变

C:\Documents and Settings\skate_db>netstat -an | find "1523"
  TCP    0.0.0.0:1523           0.0.0.0:0              LISTENING
  TCP    192.168.0.103:1523     192.168.0.103:2389     ESTABLISHED
  TCP    192.168.0.103:2389     192.168.0.103:1523     ESTABLISHED

1.6.2。 查看监听器的状态

C:\Documents and Settings\skate_db>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -2008 13:2
8:56

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期                  19-7月 -2008 13:27:47
正常运行时间              0 天 0 小时 1 分 10 秒
跟踪级别                  off
安全性                    ON: Password or Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\oracle\product\10.2.0\db_3\network\admin\listener.o
ra
监听程序日志文件          E:\oracle\product\10.2.0\db_3\network\log\listener.log

监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1523)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功

1.6.3 。使用新端口号(1523)登录测试一下


C:\Documents and Settings\skate_db>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 7月 19 13:32:15 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

请输入用户名:  sys/oracle@skate:1523/orcl as sysdba

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL>

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

SQL> select open_mode from v$database;

OPEN_MODE
----------
READ WRITE

SQL>


注意:当修改了oracle默认监听端口后,用tnsping会出错的,因为这个时候,oracle会
      读tnsnames。ora这个文件,而这个文件的端口号没有更改,只要更改下这里对应的
      端口号就ok。

eg:

C:\Documents and Settings\skate_db>tnsping orcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -
2008 17:11:05

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:
E:\oracle\product\10.2.0\db_3\network\admin\sqlnet.ora


已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(P
ORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
TNS-12541: TNS: 无监听程序

在这里可以看到,oracle仍然用端口1521,我们更改下tnsnames.ora的端口号,就ok了。


# tnsnames.ora Network Configuration File: E:\oracle\product\10.2.0\db_3\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(PORT = 1523))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )


重启监听器,在tnsping


C:\Documents and Settings\skate_db>tnsping orcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -
2008 17:22:00

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:
E:\oracle\product\10.2.0\db_3\network\admin\sqlnet.ora


已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(P
ORT = 1523)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
OK (50 毫秒)


---------oracle默认监听端口更改--------------


××××××××××××××××××××××××××oracle控制ip的连接××××××××××××××××××××××××

2 .oracle控制ip的连接(我们也可以用数据库触发器记录用户的登录情况,但是不能记录dba权限的用户)

单纯的设定允许的IP 和 禁止的IP,在oracle9i以前有文档说增加或修改protocol.ora文件,
在9i及以后版本中真正起作用的是sqlnet.ora文件,我们修改sqlnet.ora其实是最好最快的方法


sqlnet.ora文件的功能:

1. Specify the client domain to append to unqualified names

2. Prioritize naming methods

3. Enable logging and tracing features

4. Route connections through specific processes

5. Configure parameters for external naming

6. Configure Oracle Advanced Security

7. Use protocol-specific parameters to restrict access to the database

我在这里用的就是第7个功能

 

在sqlnet.ora中增加如下部分
-----------------------------


tcp.validnode_checking=yes 
 
#允许访问的IP
tcp.invited_nodes=(ip1,ip2……) 
 
#禁止访问的IP
tcp.excluded_nodes=(ip1,ip2……)
 
之后重新启动监听器即可


eg:

# sqlnet.ora Network Configuration File: E:\oracle\product\10.2.0\db_3\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

#skate modify

tcp.validnode_checking=yes
tcp.invited_nodes=(192.168.0.103)
tcp.excluded_nodes=(192.168.0.10)

 

需要注意的问题:
1、 需要设置参数为YES,这样才能激活。
2、 建议设置允许访问的IP,因为IP地址有可能被随意修改,就不能起到自己的目的。
3、 TCP当参数TCP.INVITED_NODES和TCP.EXCLUDED_NODES设置的地址相同的时候将覆盖TCP.EXCLUDED_NODES设置。
4、 需要重启监听器才能生效。
5、 这个方式只是适合TCP协议。
6、 这个配置适用于9i以上版本。在9i之前的版本使用文件protocol.ora。
7、 在服务器上直接连接数据库不受影响。
8、 这种限制方式事通过监听器来限制的。
9、 这个限制只是针对IP检测,对于用户名检测事不支持的。

分享到:
评论

相关推荐

    Oracle安全设置细节

    本文将详细阐述Oracle安全设置的几个重要方面,以增强数据库的防护能力。 首先,关于【用户安全设置】,在Oracle环境中,应确保只保留活跃且必要的用户账号。对于不再使用的或者创建后忘记删除的用户,应当进行锁定...

    Oracle安全审计技术设计

    分析了Oracle安全机制,对其安全审计技术进行了研究。Oracle数据库自身没有针对安全审计数据的分析工具,为了改进与完善Oracle当前安全审计机制,采用了数据挖掘技术,将数据挖掘技术应用至Oracle数据库安全审计中来,对...

    oracle安全实战

    ### Oracle安全实战——关键知识点概览 #### 一、Oracle安全概述 - **定义与重要性**:本书首先强调了Oracle安全的重要性,并将其定义为确保Oracle数据库及其相关应用免受未授权访问、数据泄露和恶意攻击的过程。...

    经典分享:Oracle 安全之实践入门篇

    经典分享:Oracle 安全之实践入门篇 议程 我们身边的安全问题 发现、收集、侦测 安全加固(三板斧) 1)OS安全加固 2)Oracle 网络加固 3)RDBMS 安全加固 N)......其他、更多Oracle安全功能选件 演示

    Oracle安全身份管理解决方案

    Oracle公司推出了一套全面的统一身份管理解决方案,以帮助企业应对在...总的来说,Oracle安全身份管理解决方案致力于在保障用户数据安全和合规的同时,实现业务的高效和灵活性,通过技术手段应对现代企业的安全挑战。

    主机安全检查-Oracle安全检查流程

    以下是对Oracle安全检查流程的详细说明: 1. **设备编号规则**: 在主机安全检查过程中,设备编号的规范性是管理基础。设备编号由设备类型、客户名称、部门名称和数字编号组成,便于识别和跟踪。设备类型包括...

    Oracle安全实践

    关于Oracle安全实践方面的一本不错的书籍,欢迎下载

    实验五 Oracle安全管理及备份与恢复.doc

    实验五 Oracle安全管理及备份与恢复、

    Oracle 安全手册

    Oracle 安全手册 pdf 中文电子书

    Oracle安全手册Oracle安全手册

    Oracle安全手册是一本专注于保护Oracle环境安全的技术和策略书籍。由于Oracle数据库广泛应用于企业信息系统中,确保其安全性对于防止数据泄露、维护企业运营安全至关重要。本书涵盖了从操作系统到网络层面的广泛知识...

    oracle安全评估渗透测试

    俄罗斯人出品的oracle安全漏洞检查、评估、渗透测试工具,做oracle安全的推荐!!

    Oracle安全性管理.pptx

    Oracle安全性管理是数据库管理员在维护Oracle数据库时的重要任务,它涉及到多个层面,旨在保护数据库中的敏感信息并确保只有授权的用户能访问系统。本篇主要介绍Oracle安全性管理中的用户与权限管理。 首先,理解...

    实验五-oracle安全管理及备份恢复优质资料.doc

    Oracle 安全管理及备份恢复优质资料 Oracle 安全管理是指对 Oracle 数据库的安全性进行管理和控制,以防止未经授权的访问和篡改。安全管理包括用户管理、权限管理、角色管理、备份和恢复等多个方面。下面是 Oracle ...

    ORACLE安全加固手册.pdf

    《ORACLE安全加固手册》是一份详尽的指南,旨在帮助ORACLE数据库管理员加强系统的安全性。这份手册涵盖了从安装配置到安全检查、补丁管理等多个关键环节,确保ORACLE数据库在运行过程中的安全稳定。 首先,手册介绍...

    最新Oracle 安全开发手册

    此外,定期的数据备份和恢复计划也是Oracle安全开发手册中强调的重点之一。 ### 遵守法律与合规性 在文档的版权和使用条款部分,Oracle明确指出其软件和文档包含公司的专有信息,并受到版权、专利和其他知识产权法...

    Oracle安全检查流程.pdf

    本文将详细介绍Oracle安全检查流程,包括数据库服务信息、帐号和口令管理、权限设置、文件系统检查、日志审核、网络服务安全以及管理信息的验证等多个方面。 1. **数据库服务信息** - **Oracle-01001**:获取...

    巨献:Oracle安全解决方案全套资料,共7个文件

    甲骨文安全解决方案全套资料: Oracle 数据库 11g 透明数据加密.pdf 安全及身份管理的主要业务范畴.pdf ...使用 Oracle Audit Vault 审计数据库活动,确保安全性和合规性.pdf 针对应用安全性与法规遵从的数据库控制.pdf

    Oracle安全配置基线.pdf

    Oracle安全配置基线.pdf

Global site tag (gtag.js) - Google Analytics