目录
一、描述:应等保要求,需要对监听进行加固。
1、设置只有信任的IP地址能通过监听器访问数据库
判定依据:
1).tcp.validnode_checking的值为yes
2).设置了信任的ip地址tcp.invited_nodes
加固方法
sqlnet.ora中添加如以两行下行:
tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)
#ip1,ip2为#允许访问的IP.
2、检查是否设置数据库监听器(LISTENER)启动密码
判定依据:
检查$ORACLE_HOME/network/admin/listener.ora文件中是否设置参数PASSWORDS_LISTENER.
加固方法:
1).oracle安装用户登录系统。
2).进入监听设置
lsnrctl。
3).修改口令
lsntctl>change_password
lsntctl>save_config
4).修改$ORACLE_HOME/network/admin/listener.ora,在文件中加入
LOCAL_OS_AUTHENTICATION_LISTENER = OFF
二、加固中出现的问题
1、执行命令时的报错
[oracle@qyxygsdbdg admin]$ lsnrctl start
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 104: Connection reset by peer
2、日志中的报错
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied
Linux Error: 2: No such file or directory
3、原因:这个是由于做加固时,设置了白名单,而本地IP地址未添加到白名单中
sqlnet.ora
tcp.validnode_checking = yes
tcp.invited_nodes = (xxx.x.0.xx)
4、解决
添加本地IP地址
如果是RAC,需要添加的IP有PRIV,vip,scan。
使用ps -ef|grep LISTNEER
查询到已启动的监听的进程号
使用kill -9 进程号,把监听停止掉。
然后就可以正常使用监听了。
三、在设置了密码后,如何使有lsnrctl呢?
设置密码后,直接使用lsnrctl status会报出这个,并且不会出现期望的结果
TNS-01169: The listener has not recognized the password
那么如何使用lsnrctl呢?
1、lsnrctl 进入命令中
2、使用set password 验证密码
3、通过后,就可以使有status start stop等常用命令了




