English
◀◁ 뒤로
취약점ID 25002
위험도 40
포트 1521
프로토콜 TCP
분류 DB
상세설명 해당 호스트에 Oracle tnslsnr가 가동되고 있다. TNS listener (tnslsnr)는 데이터베이스 클라이언트와 서버간의 네트워크 인터페이스이다. tnslsnr는 1521/tcp 포트를 사용하지만 DBA가 이를 변경할 수도 있다. 모든 플랫폼 상의 Oracle 릴리즈 7.3.4, 8.0.6, 그리고 8.1.6에 있는 listener 프로그램들은 Attacker에게 원격으로 Oracle 소유의 운영체제 계정으로 액세스를 허용할 수 있으며 임의의 명령들을 수행할 수 있게 해 준다.
디폴트로 설치된 Oracle listener 프로그램은 원격지의 listener 컨트롤러로 부터 원격 명령들을 수용한다. 적절하게 구성되어 있다면 listener 명령을 받아들이기 전에 사용자를 인증받기 위해 패스워드를 요구한다. 만약 패스워드가 셋되어 있지 않다면 Oracle listener 프로그램은 로그정보를 파일에 추가할 수 있도록 명령을 내릴 수 있다. SET TRC_FILE과 SET LOG_FILE 명령들의 문제점으로 인해 이 값들은 임의의 파일명으로 변경이 가능하다. 이것은 tnslsnr가 쓰기 권한을 가지고 있는 곳 (.rhosts, .forward 등등)에 Attacker가 임의의 데이타를 쓸 수 있도록 해 준다. 문제의 버전들은 또한 listener가 다운될 수 있는 서비스 거부 공격을 당할 수도 있다.

* 영향을 받는 플랫폼:
Oracle Database 서버
해결책 1. 다음과 같은 절차에 의해 listener 패스워드를 설정하여야 한다.

a) 'lsnrctl' 명령을 수행시킨다. 그리고 LISTENER 프롬프트 상태로 들어간다.
b) 'change_password'를 타이프하고 LISTENER의 패스워드를 바꾼다. 이 명령은 listener의 패스워드를 바꿀 수 있게 해 준다.
c) 'set password'를 타이프하고 b)에서 설정한 패스워드를 입력한다. 이 명령은 단지 인증 목적으로 LSNRCTL 유틸리티에서 listener 프로세스에 보내게 되는 패스워드를 설정해 준다.
d) 'save_config'를 타이프한다. 이 명령은 listener 설정파일의 백업 (LISTENER.BAK 파일)을 생성하고 실제 설정파일 (LISTERNER.ORA) 자체에 변경된 내용을 업데이트 한다.
e) 'exit'를 타이프하여 프롬프트에서 빠져 나온다.

2. Oracle의 MetaLink (http://metalink.oracle.com/)로 부터 시스템에 적절한 Patch를 설치한다 (listener 프로그램에 대한 버그 번호 1361722 참조). 또한 다음 URL에서 Oracle Technology Network에 이 문제에 대한 Security Alert을 구할 수 있다.
http://www.oracle.com/us/technologies/security/listener-alert-132737.pdf
Http://www.oracle.com/ocom/idcplg?IdcService=GET_FILE&dDocName=132737&allowInterrupt=1&Rendition=web&RevisionSelectionMethod=latestReleased
관련 URL CVE-2000-0818 (CVE)
관련 URL 1853 (SecurityFocus)
관련 URL 5380 (ISS)