linux oracle配置访问白名单过程

一、简要概述

作为存储数据的oracle数据库,出于对数据安全保障目的,我们应该对访问oracle数据库的ip地址进行一定的限制(哪些ip地址可以正常访问,哪些地址不能访问)。

二、方法阐述

  1. 通过防火墙iptables允许特定ip地址以及端口访问数据库
  2. 通过更改数据库配置文件sqlnet.ora形式限定ip地址访问数据库

[说明] 本次采用的是第二种更改相应配置文件来限定ip地址,个人感觉挺方便的

三、操作步骤

  1. 进入linux服务器配置的oracle数据库admin目录下,看是否目录下存在sqlnet.ora,存在直接编辑、不存在就新建
cd /gis/soft/app/oracle/product/11.2.0/db_1/network/admin
ls -l 
总用量 20
-rw-r----- 1 agssvrYX agssvrYX  656 4月   8 17:24 listener.ora
drwxr-xr-x 2 agssvrYX agssvrYX 4096 4月   8 16:59 samples
-rw-r--r-- 1 agssvrYX agssvrYX  187 5月   7 2007 shrept.lst
-rw-r----- 1 agssvrYX agssvrYX  467 7月  15 11:18 sqlnet.ora
-rw-r----- 1 agssvrYX agssvrYX  534 4月   8 17:27 tnsnames.ora
  1. 编辑sqlnet.ora配置文件
vim sqlnet.ora
#配置访问白名单
tcp.validnode_checking=yes
#开启白名单 允许被连接数据库的ip地址
tcp.invited_nodes=(10.130.0.157,172.17.26.47,10.130.0.174,10.130.0.155,127.0.0.1)
#开启黑名单
#tcp.excluded_nodes=(192.168.220.1)
[说明]
 (1) tcp.validnode_checking--此项是启用IP合法检查,此项是必须配置的,如果不启用其他两项配了也没用
 (2) tcp.invited_nodes--此项是允许连接数据库的IP地址,多个地址用逗号(半角)隔开;如果启用此项,一定要配上本地地址不然监听无法启动。
 (3) tcp.excluded_nodes--此项是不允许连接数据库的IP地址,多个地址用逗号(半角)隔开;如果与tcp.invited_nodes有相同IP,则还是允许该IP访问数据库
 (4) tcp.invited_nodes和tcp.excluded_nodes其实可以只配置一项,当只配tcp.invited_nodes时就是白名单,在此项列表中的所有IP允许访问数据库,所有不在此项列表中的所有IP拒绝访问数据库;
 (5) 当只配置tcp.excluded_nodes时,在此项列表中的所有IP拒绝访问数据库,所有不在此项列表中的所有IP允许访问数据库。
  1. 重新加载使配置生效

如果之前不存在sqlnet.ora则需要重启监听事件

lsnrctl stop
lsnrctl start

如果之前存在sqlnet.ora则只需要重新加载配置即可

lsnrctl reload
  1. 本地测试

通过连接oracle数据库客户端,如果弹出窗口显示:

ORA-12537: TNS: 连接关闭

说明在sqlnet.ora配置文件中并未将ip地址添加到白名单中,检查情况。

说一下个人测试情况:
我将我本地主机的ip地址添加到了白名单中,但是PLSQL客户端连接数据库仍报上述问题。最后突然想到问题在于我本地连接数据库是通过跳板机机器进行连接,所以需要将跳板机ip地址填入白名单中才可以。

你可能感兴趣的:(运维管理,oracle)