Ограничение подключений к Oracle по IP адресу

Источник: all-oracle

Рекомендовано для:
  • Oracle Database 9i R1
  • Oracle Database 9i R2
  • Oracle Database 10g R1
  • Oracle Database 10g R2
  • Oracle Database 11g R1
 

В дополнение к парольной защите, многие предприятия практикуют ограничение подключений к серверу Oracle по IP адресу, т.е. разрешая подключаться клиентам с определенными IP адресами. При подключении клиента, Oracle получает IP адрес входящего соединения и сравнивает его с IP адресами хранящимися в таблице, содержащей все авторизованные адреса.

Для построения такой проверки, используется команда USERENV:

SELECT SYS_CONTEXT('USERENV','IP_ADDRESS')
FROM DUAL;

Создаем таблицу для записи доступной информации о подключении и IP адресов:

CONNECT SYS/MANAGER;
CREATE TABLE STATS$USER_LOG
  (
    USER_ID VARCHAR2(30),
    SESSION_ID NUMBER(8),
    HOST VARCHAR2(30),
    IP_ADDRESS VARCHAR2(30)
  );

Далее создается триггер на системном уровне, который будет записывать доступную информацию о подключении:

CREATE OR REPLACE TRIGGER
   LOGON_AUDIT_TRIGGER
AFTER LOGON ON DATABASE
BEGIN
INSERT INTO STATS$USER_LOG VALUES(
   USER,
   SYS_CONTEXT('USERENV','SESSIONID'),
   SYS_CONTEXT('USERENV','HOST'),
   SYS_CONTEXT('USERENV','IP_ADDRESS')
);
END;


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=20583