【oracle笔记】配置侦听器的安全性,控制数据库的访问,外部过程

监听器的安全性

Oracle 监听机制是外部应用程序连接oracle服务器的入口。

给监听器listener设置密码,可以防止非管理员用户或远程用户恶意停止监听器。通过Net Manager GUI、lsnrctl实用程序、Database Control 或手动编辑 listener.ora文件,都可以启动和设置侦听器的口令。使用Net Manager、Database Control 设置的密码都会被oracle自动加密。

一、使用Net Manager 设置侦听器的口令

        依次打开,开始》所有程序》Oracle - OraDb10g_home1》配置和移植工具》Net Manager,选择需要设置密码的监听器,选择“一般参数” ,如图1 所示


      

                                                                       图1:使用Net Manager设置监听器的口令

    然后,点击,文件》保存网络配置。现在打开listener.ora文件,会发现在其中多出了一行:

     PASSWORDS_LISTENER= (514D21EE661694F9)

   LISTENER为监听器的名称,等号右边的是经过加密的密码


二、使用lsnrctl设置监听器的口令

       
C:\Users\SUN>lsnrctl

LSNRCTL>status                              查看监听器的状态
注意:Security 安全性               ON:Local OS Authentication

LSNRCTL>set current_listener listener                               设置使用哪个监听器

LSNRCTL>set pasword encrypted_password                   设置密码为加密口令,

或者 LSNRCTL>set password encrypted_password       (没成功)密码是不加密的,此种情况的目的仅仅是防止口令出错,而不能防止恶意行为

LSNRCTL>change_password       开始设置密码

Old password:                                    因为没有设置过密码,所以此处直接按回车“Enter"

New password:                                  键入要设置的密码

Reenter new password:                   再次输入密码

LSNRCTL> save_config                  保存配置

LSNRCTL>status                            

注意:  Security          ON: Password or Local OS Authentication


此时在listener.ora文件中多了如下三行:

#----ADDED BY TNSLSNR 15-JUL-2011 18:49:43---
PASSWORDS_LISTENER = 514D21EE661694F9
#--------------------------------------------


到此,监听器密码设置成功!


三、通过Database Control 设置侦听器的口令

       登陆EM,进入 ”网络服务管理“,此时需要输入主机身份证明(将主机加入作为批处理作业登陆,http://www.orafaq.com/forum/t/89472/2/

      然后“监听程序”开始编辑,Authentication验证,设置密码。

四、手动添加口令

      直接在listener.ora文件中添加口令,这个没有试验成功!!!



控制对数据库的访问

默认情况下,侦听器对能够连接数据库服务器的用户没有进行任何限制,如果需要限制对数据库的访问,需要修改sqlnet.ora文件。我们可以通过Net Manager Gui 或者 手动编辑sqlnet.ora文件,进行相应的设置。

主要有三个指令:

TCP.VALIDNODE_CHECKING

TCP.EXCLUDED_NODES

TCP.INVITED_NODES

如果TCP.VALIDNODE_CHECKING被设置为YES,则其他两个指令可用。

使用TCP.INVITED_NODES时,会将其他所有节点排除在外。

使用TCP.EXCLUDED_NODES时,其他所有节点都会以隐式的方式加入,即允许访问。

在TCP.EXCLUDED_NODES和TCP.INVITED_NODES同时使用的时候,会优先使用TCP.INVITED_NODES,而屏蔽TCP.EXCLUDED_NODES。

如下图所示,使用Net Manager限制对数据库的访问


保存 网络配置后,会在sqlnet.ora文件中加入 如下两行:

TCP.VALIDNODE_CHECKING = YES


TCP.INVITED_NODES= (www.google.cn)


特别提示:在做访问控制的实验时,启动了节点过滤,在结束实验的时候,我只把 TCP.INVITED_NODES 和 EXCLUDED_NODES 删除了,而没有关闭访问控制。

   导致在下次启动Oracle的时候提示Listener服务无法启动,查看listener.log显示如下:

Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SUN-PC)(PORT=1521)))
TNS-12560: TNS:protocol adapter error
 TNS-00584: Valid node checking configuration error

node checking 配置错误。

总结:通过这个错误,我们知道在启动了节点过滤,而没有设置任何允许和拒绝访问的地址的时候,oracle会拒绝一切外部访问。监听器是监听外部链接对数据库服务的访问的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值