目录
配置sqlnet.ora文件
重新加载使配置生效
注意事项
Oracle数据库安全性提升:IP白名单的配置方法
随着互联网的发展,数据库安全问题也越来越严重。Oracle是目前使用较为广泛的一款数据库管理系统,而IP白名单作为提升数据库安全性的有效手段,也受到了广泛的关注。
可以配置sqlnet.ora文件来允许和拒绝通过validnode检查参数访问数据库
配置sqlnet.ora文件
cd $ORACLE_HOME/network/admin/
查看是否存在sqlnet.ora文件及是否已配置tcp.validnode_checking、tcp.invited_nodes、tcp.excluded_nodes项。如果文件存在且已有这几项,则在此基础上修改这几项;如果文件存在但这几项不存在,则在最后追加;如果文件不存在则直接新建。
vim sqlnet.ora
如果tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主。
不要禁止服务器本机的IP地址,否则通过lsnrctl将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器
配置方式如下:
#开启ip限制功能
tcp.validnode_checking=yes
#允许访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.invited_nodes=(127.0.0.1)
#禁止访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.excluded_nodes=(192.168.1.10)
注意:多个ip之间使用逗号隔开,可以是单个ip也可以是ip段,比如 192.168.1.0/24 代表的IP段就是 192.168.1.1 ~ 192.168.1.254
重新加载使配置生效
如果之前不存在sqlnet.ora则需要重启监听
lsnrctl stop
lsnrctl start
如果之前存在sqlnet.ora则只需要重新加载配置即可
lsnrctl reload
关于重启和reload的区别,应该是监听完全停上和不完全停止的区别;使用stop/start当前所有已连接的会话会强制断开,reload不会断开已有会话。
注意事项:
如果邀请的节点列表中没有数据库服务器的主机名或ip地址,则PMON将不会向侦听器注册。
连接数据库时会报以下错误
ERROR:
ORA-12537: TNS:connection closed
侦听器日志将显示
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied
参数需要在sqlnet中设置。TNS侦听器使用的ora文件,因为这是通过侦听器的访问限制
对值的任何更改都需要停止并重新启动TNS侦听器。