Admin/admin

SQL*Net 을 통한 Client IP 차단

Qhtlr 2008. 6. 11. 16:38

조금전 개발자로부터 문의가 왔다.

업무 인수인계로 Application담당자가 바뀌었는데,,예전의 개발자가 DB로 접속을 하고 있는거 같다고
DB에서 차단할 방법이 없는지 문의해 왔다.
암호를 변경한지 오래되었으면 암호를 변경하라고 요구했다.

SQL*Net을 통해서 IP를 차단할 수 있다.
OS쪽은 TCP Wrapper로 특정 IP만 접속을 허용하고 있다.

tcp.validnode_checking = yes
tcp.invited_nodes=(접속을 허용할 ip)
tcp.excluded_nodes=(접속을 차단할 ip)

9i 이전 버젼까지는 protocol.ora 에 기술하면 되며, 9i부터는 sqlnet.ora에 기술하면 된다.

변경후 listener를 restart해야 한다...reload로는 안된다.

접속을 해보면 아래와 같이 에러가 발생한다.

SQL*Plus: Release 9.2.0.1.0 - Production on 수 Jun 11 16:35:54 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

ERROR:
ORA-12537: TNS:연결이 종료되었습니다

그리고, listener.log를 보면 이렇게 기록된다.
11-JUN-2008 16:26:48 * 12546
TNS-12546: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00516: Permission denied