※ 해당 가이드는 2021년 기준입니다.
주요정보통신기반시설 관리기관은 -정보통신기반 보호법- 제9조에 따라, 주요정보통신기반시설로 신규 지정된 후 6개월이내, 그리고 매년 취약점 분석/평가를 실시하여야 한다. 취약점 분석/평가는 453개의 관리적/물리적/기술적 점검항목에 대한 주요정보통신기반시설의 취약여부를 점검하여, 악성코드 유포, 해킹 등 사이버 위협 대응을 위한 종합적 개선과정이다.
주요정보통신기반시설 취약점 네트워크 장비 점검 항목
■ 취약점 개요
○ 점검개요 : 지정된 IP주소만 DB 서버에 접근 가능하도록 설정되어 있는지 점검
○ 점검목적 : 지정된 IP주소만 DB 서버에 접근 가능하도록 설정되어 있는지 점검하여 비인가자의 DB 서버 접근을 원천적으로 차단
○ 보안위협 : DB 서버 접속 시 IP주소 제한이 적용되지 않은 경우 비인가자가 내ㆍ외부망 위치에 상관없이 DB 서버에 접근할 수 있는 위험이 존재
○ 점검대상 : OS, Oracle, MySQL, ALTIBASE, TIBERO, PostgreSQL 등
○ 판단기준
- 양호 : DB서버에 지정된 IP주소에서만 접근 가능하도록 제한한 경우
- 취약 : DB서버에 지정된 IP주소에서만 접근 가능하도록 제한하지 않은 경우
■ 점검방법 및 조치방안
○ OS
Step 1 | 특정 IP주소에서만 접속 가능하도록 방화벽 등이 설정되어 있는지 확인 시작> 제어판> 보안 센터> windows 방화벽 설정 ㆍ예외 tab -> 포트추가 -> 1433 -> TCP 추가 -> 범위 변경 ㆍ예외 tab -> 포트추가 -> 135 -> TCP 추가 -> 범위 변경 ㆍ예외 tab -> 포트추가 -> 1434 -> UDP 추가 -> 범위 변경 |
○ Oracle
Step 1 | 원격 OS 인증 방식이 불필요한 경우, SYS 계정으로 접속하여 'REMDTE_OS_AUTHEOT^FALSE'로 설정 ㆍspfile 사용하는 경우 아래와 같이 설정 SQL> ALTER SYSTEM SET REMOTE_OS_AUTHENT=FALSE SCOPE=spfile; ㆍpfile 사용하는 경우 init<SID>.ora 파일 안에 아래와 같이 설정 SQL> ALTER SYSTEM SET REMOTE_OS_AUTHENT=FALSE ; |
Step 2 | OS 원격 인증 방식이 필요한 경우 ㆍ방화벽을 통한 원격 접근 IP주소 제한 ㆍNAT(Network Address Translation)를 사용하여 비공인 IP주소 부여 후 외부 접근 제한 |
○ MySQL
Step 1 | mysql.user 테이블과 mysql.db 테이블을 조회하여 host가 "%"인 필드 삭제하고 접속 IP주소를 지정하여 등록 mysql> delete from user where host=‘%’ ; mysql> delete from db where host=‘%’ ; |
○ Altibase
○ ALTIBASE HDB 프러퍼티 파일을 수정하여 접근제어를 적용
Step 1 | $ALTIBASE_HOME/conf/altibase.properties 변경 |
Step 2 | IP access control lists 에서 내부 정책에 맞게 수정 ㆍ ALTIBASE HDB 서버가 실행되지 않은 상태에서 할 수 있는 정적인 환경 설정 방법 ㆍ 프로퍼티 파일에서 해당 구성 요소를 특정 값으로 설정한 후 ALTIBASE HDB 서버를 재구동해야 수정된 값이 ALTIBASE HDB 서버에 반영 |
○ PostgreSQL
Step 1 | Data 디렉터리 안에 있는 pg_hba.conf 파일설정을 통해서 설정 가능 TYPE DATABASE USER CIDR-ADDRESS METHOD ----- ------------ -------- ------------------ ----------- host (DB명) (사용자) (접속허용IP) md5 |
Step 2 | USER에 접근허용 ‘사용자명’과 CIDR-ADDRESS에 접속을 ‘허용할 IP’ 설정 ㆍ PostgreSQL은 기본 설치 시 외부에서 접속할 수 없음 |
○ Tibero
○ 초기화 파라미터에 설정된 IP 주소에 따라 클라이언트의 네트워크 접속을 허용하거나 차단
○ $TB_SID 는 tibero 설치 시 입력한 데이터베이스 이름과 동일 / c:/tibero/tibero5/config/데이터베이스.tip
- 조치방법 1. LSNR_INVITED_IP(특정한 IP 주소를 갖는 클라이언트는 허용, 그 외 차단)
Step 1 | $TB_SID.tip 파일 안에 다음 예시 내용을 참조하여 입력 LSNR_INVITED_IP=192.168.1.1;192.168.2.0/24;192.1.0.0/16 ※ LSNRJNVITEDJP의 최대 길이는 255자이다. 256 이상의 IP 주소를 설정할 경우에는 LSNR_INVITED_IP_FILE을 사용한다. |
- 조치방법 2. LSNR_INVITED_IP_FILE(특정 파일에 접속을 허용하는 IP 주소 목록을 기재한 후 해당 파일의 절대 경로를 적어주면 그 파일을 읽어서 INVITED_IP를 설정)
Step 1 | /home/tibero/invited_jp.txt 파일에 다음 예시 내용을 참조하여 입력 192.168.1.1 192.168.2.0/24 192.1.0.0/16 |
Step 2 | $TB_SID.tip 파일에 invited_ip.txt 파일의 전체 경로를 입력 LSNR_INVITED_IP_FILE=/home/tibero/invited_ip.txt |
- 조치방법 3. LSNR_DENIED_IP(특정한 IP 주소를 갖는 클라이언트의 네트워크 접속은 차단, 그 밖의 접속은 허용)
Step 1 | $TB_SID.tip 파일 안에 다음 예시 내용을 참조하여 입력 LSNR_DENIED_IP=192.168.1.1;192.168.2.0/24;192.1.0.0/16 |
- 조치방법 4. LSNR_DENIED_IP_FILE(특정 파일에 접속을 허용하지 않는 IP 주소 목록을 기재한 후 해당 파일의 절대 경로를 적어주면 그 파일을 읽어서 DENITED_IP를 설정)
Step 1 | /home/tibero/denied_ip.txt 파일에 다음 예시 내용을 참조하여 입력 192.168.1.1 192.168.2.0/24 192.1.0.0/16 |
Step 2 | $TB_SID.tip 파일에 denied_ip.txt 파일의 전체 경로를 입력 LSNR_DENIED_IP_FILE=/home/tibero/denied_ip.txt |
※ $TB_SID.tip 파일에 LSNR_INVITED_IP와 LSNR_DENIED_IP가 모두 설정되어 있는 경우 LSNR_DENIED_IP의 설정은 무시되며 LSNR_INVITED_IP만 적용된다. 즉, LSNR_INVITED_IP에 설정된 IP 주소의 클라이언트를 제외하고는 모든 접속이 차단된다.
※ $TB_SID.tip 파일에 LSNR_INVITED_IP와 LSNR_DENIED_IP가 모두 설정되지 않은 경우 모든
클라이언트의 네트워크 접속이 허용된다.
※ 루프백 주소(loopback address, 127.0.0.1)에서 접속하는 경우 LSNR_INVITED_IP 또는 LSNR_DENED_IP의 설정과는 무관하게 항상 허용된다.
※ Tibero 서버를 운영하는 중에 서버를 다시 기동하지 않고 LSNR_INVITED_IP 또는 LSNR_DENIED_IP의 설정을 변경하려는 경우 우선 $TB_SID.tip 파일에 LSNR_INVITED_IP 또는 LSNR_DENIED_IP의 설정을 변경한 후 파일을 저장하고 다음의 명령을 실행한다.
alter system listener parameter reload;
위의 명령을 실행하면 $TB_SID.tip 파일에서 LSNR_INVITED_IP 또는 LSNR_DENIED_IP의 내용을 다시 읽어 변경된 내용을 실시간으로 적용한다.
■ 조치 시 영향
허용되지 않은 IP에서 접속 제한
'취약점 진단 가이드 > DBMS 취약점 진단 가이드' 카테고리의 다른 글
D-09(상) 리스너의 패스워드를 설정하여 사용 (0) | 2021.07.22 |
---|---|
D-08(상) DBA 이외의 인가되지 않은 사용자가 시스템 테이블에 접근할 수 없도록 설정 (0) | 2021.07.21 |
D-06(중) DB 사용자 계정의 개별적 부여 및 사용 (0) | 2021.07.20 |
D-05(중) 패스워드 재사용에 대한 제약 설정 (0) | 2021.07.20 |
D-04(상) 데이터베이스 관리자 권한을 꼭 필요한 계정 및 그룹에 허용 (0) | 2021.07.19 |