TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-05-12 |
제목 | LISTENER 보안을 위해 PASSWORD 설정 방법 | ||
---|---|---|---|
LISTENER 보안을 위해 PASSWORD 설정 방법
============================== PURPOSE ------- 허락되지 않은 사람에 의해 listener가 stop되는 것을 막고, 그외 보안의 목적을 위해 listener에 password를 걸어둘 수 있다. 특히 remote machine에서도 db server 측의 hostname/ip address정보와, listener port정보만 알고 있으면 임의로 listener를 stop시키는 것이 가능하기 때문에 listener에 password를 걸어두는 것은 중요하다. 여기에서는 그 방법에 대해서 자세히 살펴본다. Explanation & Example ---------------------- - 여기에서 언급하는 listener.ora는 $TNS_ADMIN directory에 위치하며, 기본적으로 $TNS_ADMIN은 $ORACLE_HOME/network/admin directory가 된다. - listener이름이 listener1이라고 가정하고 예를 든다. [참고] 만약 listener이름이 default인 listener라면 아랫 부분에서 LSNRCTL> set current_listener listener1 부분은 생략하면 된다. 1. listener.ora에서 확인가능한 형태로 password설정 (1) listener.ora file에 PASSWORDS_listener이름 = (password글자) 형태로 지정한다. 즉, 예를 들어 다음과 같은 형태이다. PASSWORDS_listener1 = (p1) (2) listener를 stop하기 위해서는 다음과 같이 지정한다. os>lsnrctl LSNRCTL> set current_listener listener1 LSNRCTL> set password p1 LSNRCTL> stop listener이름이 default인 그냥 listener라면 current_listener 지정은 필요없다. 2. 암호화된 형태로 Password설정 1번의 경우 listener.ora를 확인가능한 사용자라면 password를 쉽게 확인 가능하므로 password를 암호화시킬 필요가 있다. 그러한 경우 다음과 같이 지정한다. (1) 먼저 1번에서와 같이 이미 설정된 PASSWORD_ 설정이 있다면 이것은 지우도록 한다. (2) listener를 restart시킨다. (3) 다음과 같이 password를 lsnrctl을 이용하여 지정한다. os>lsnrctl LSNRCTL> set current_listener listener1 (listener명이 default인 listener라면 current_listener를 지정하는 이 단계는 불필요하게 된다.) LSNRCTL> change_password Old password: 처음 지정하는 경우 그냥 enter만 친다 New password: 원하는 password를 적는다. Reenter new password: password를 다시한번 적는다. (4) listener를 stop시킬때는 1번과 마찬가지로 다음과 같이 한다. os>lsnrctl LSNRCTL> set current_listener listener1 LSNRCTL> set password Password: 지정한 password LSNRCTL> save_config (이 단계에서 listener.ora에 password가 저장되게 된다.) LSNRCTL> stop 이러한 상태에서 listener.ora를 확인해보면 다음과 같이 자동으로 암호화 된 형태로 password가 지정된 것을 확인할 수 있다. PASSWORDS_listener1 = 2D6C48144CF753AC [참고] listener명이 default인 listener인 경우는 위와 같이 save_config 를 통해서만 password가 저장되게 되나, 만약 listener명이 default가 아닌 다른 이름이라면, save_config대신 set save_config_on_stop command도 사용가능하다. 즉 앞의 단계에서 change_password를 하기 전에 먼저, 다음과 같이 지정해 두면 이후에 stop시 혹시 잊고 save_config를 하지 않아도 listener.ora에 password가 저장된다. 단 이것은 default인 listener이름을 가지는 listener 에는 적용되지 않는 것으로 test되었다. LSNRCTL> set save_config_on_stop on 이렇게 save_config_on_stop을 사용한 경우에는 다음과 같이 두 line이 listener.ora에 추가된다. SAVE_CONFIG_ON_STOP_listener1 = ON PASSWORDS_listener1 = 2D6C48144CF753AC Reference Documents ------------------- |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |