oracle 设置访问白名单

有相关安全策略会要求部分 ip 禁止访问oracle数据库,那么如何实现对IP的白名单设置呢?又如何细分到对用户的限制访问呢?本文将介绍方法给大伙。

1、禁止IP访问数据库(修改sqlnet.ora方式实现)

vi $ORACLE_HOME/network/admin/sqlnet.ora

#开启ip限制功能

tcp.validnode_checking=yes

#允许访问数据库的IP地址列表,多个IP地址使用逗号分开

tcp.invited_nodes=(192.168.1.110)

#禁止访问数据库的IP地址列表,多个IP地址使用逗号分开

tcp.excluded_nodes=(172.17.15.90,172.17.15.76,192.168.116.102)

一般用第一个和第三个即可

修改完lsnrctl reload重启监听即可

2、限制某些IP访问特定用户(使用触发器方式实现)

CREATE OR REPLACE TRIGGER DISABLELOGIN

    AFTER LOGON ON KINGDEE.SCHEMA

BEGIN

   IF ORA_CLIENT_IP_ADDRESS IN ('172.17.15.90','172.17.15.76','192.168.116.102') THEN

   RAISE_APPLICATION_ERROR(-20001,'USER '||ORA_LOGIN_USER||' IS NOT ALLOWED TO CONNECT FROM '||ORA_CLIENT_IP_ADDRESS);

   END IF;

END;

/

如果想要禁止某个网段的话,把ORA_CLIENT_IP_ADDRESS IN换为ORA_CLIENT_IP_ADDRESS LIKE('10.10.10.%'),即可

查询创建的触发器

SELECT TABLE_OWNER,BASE_OBJECT_TYPE,TRIGGERING_EVENT FROM DBA_TRIGGERS WHERE trigger_name='DISABLELOGIN';

你可能感兴趣的:(日常运维,oracle,数据库,dba,windows,数据库开发,运维)