oracle IPアクセス制限

2493 ワード

oracle IPアクセス制限
OracleクライアントIPへのアクセス制限方法の概要
OracleクライアントIPへのアクセスを制限する方法についての議論がitpubで話題になっていますが、このような問題はフォーラムで議論されているような気がしますが、今日はまとめてみましょう.
http://www.itpub.net/743725,1.html
  ここで議論するOracleデータベースのレベルでIPを制限する方法は、もちろん、ファイアウォールソフトウェアなどのネットワークレベルでIPを制限する方法もあります.例えば、WebLogicはデータベースにアクセスするIPを設定します.
  Oracleデータベースでは、バージョンの違いにより、これらの問題を異なる方法で解決できます.
このような機能を実現するには、いくつかの方法があります.
1.SQLNET.oraファイルを修正してデータベースへのIPアクセスを制限する.
2、トリガで実現する.
sqlnet.oraファイルの機能:
1. Specify the client domain to append to unqualified names
2. Prioritize naming methods
3. Enable logging and tracing features
4. Route connections through specific processes
5. Configure parameters for external naming
6. Configure Oracle Advanced Security
7. Use protocol-specific parameters to restrict access to the database
ここではsqlnet.oraファイルの7番目の機能を使用して、データベースへのアクセスを制限します.
適用バージョン:oracle 9 i以上
9 iにはいくつかのパラメータがあります.
TCP.EXCLUDED_NODES
データベースへのアクセスを禁止するIPアドレスのリストを設定します.
TCP.INVITED_NODES
このパラメータとTCP.EXCLUDED_NODES設定のアドレスが同じ場合はTCP.EXCLUDED_を上書きしますNODES設定.
TCP.VALIDNODE_CHECKING
上記パラメータの設定を検出します.
例:
 

tcp.validnode_checking
=
yes#アクセス可能ip tcp.invited_nodes
=
(ip 1,ip 2,......)#アクセスが許可されていないip tcp.excluded_nodes
=
(ip1,ip2,……)
 

このような設定によって、自分の必要に応じて変更することができます.注意しなければならない問題:1、パラメータをYESに設定する必要があります.そうすれば、アクティブになります.2、アクセスを許可するIPを設定することをお勧めします.IPアドレスが勝手に変更される可能性があるので、自分の目的を果たすことはできません.3、TCP当パラメータTCP.INVITED_NODESとTCP.EXCLUDED_NODES設定のアドレスが同じ場合はTCP.EXCLUDED_を上書きしますNODES設定.4、Listenerを再起動する必要があります.5、この方式はTCPプロトコルに適しているだけです.6、この構成は9 i以上のバージョンに適用されます.9 i以前のバージョンではファイルprotocol.oraを使用しています.7、サーバ上で直接データベースに接続しても影響を受けません.8、このような制限方式はリスナーによって制限される.   9、この制限はIP検出のみであり、ユーザ名検出についてはサポートされていない.10、トリガの使用
 

create
or
replace
trigger
stop_52_connect after logon
on
scott2.
schema
declare
ipinfo
VARCHAR2
(
30
);
begin
select
sys_context(
'
userenv
'
,
'
ip_address
'
)
into
ipinfo
from
dual;
if
ipinfo
=
'
172.16.0.52
'
then
raise_application_error(
'
-20001
'
,
'
you can not logon by scott2
'
);
end
if
;
end
stop_52_connect;