[2026 주요정보통신기반시설] WEB-13 웹서비스설정파일노출제한

데이터베이스 연결 파일은 웹 애플리케이션의 가장 민감한 정보를 담고 있습니다. 데이터베이스 주소, 계정명, 비밀번호, 암호화 키 등이 포함되어 있어 외부에 노출되면 즉시 치명적인

·

WEB-13 웹서비스설정파일노출제한

가이드라인 원문

항목내용
항목코드WEB-13
점검내용데이터베이스 연결 파일은 웹 애플리케이션의 가장 민감한 정보를 담고 있습니다. 데이터베이스 주소, 계정명, 비밀번호, 암호화 키 등이 포함되어 있어 외부에 노출되면 즉시 치명적인
점검대상Tomcat, IIS, JEUS
판단기준양호: 일반 사용자의 DB 연결 파일에 대한 접근을 제한하고, 불필요한 스크립트 매핑이 제거된 경우
판단기준취약: 일반 사용자의 DB 연결 파일에 대한 접근을 제한하지 않거나, 불필요한 스크립트 매핑이 제거되지 않은 경우
조치방법상세 조치 방법 참고


상세 설명

1. 항목 개요

데이터베이스 연결 파일은 웹 애플리케이션의 가장 민감한 정보를 담고 있습니다. 데이터베이스 주소, 계정명, 비밀번호, 암호화 키 등이 포함되어 있어 외부에 노출되면 즉시 치명적인 보안 사고로 이어질 수 있습니다. 마치 집 현관문 열쇠와 금고 열쇠를 현관문 앞에 두는 것과 같습니다. DB 연결 파일은 반드시 철저하게 보호되어야 합니다.

2. 왜 이 항목이 필요한가요?

실제 시나리오:

  • 개발자가 DB 연결 설정을 config.php, database.properties 등의 파일에 저장했습니다.
  • 웹 서버 설정 오류로 이 파일이 웹을 통해 접근 가능한 상태입니다.
  • 공격자가 http://example.com/config/database.php URL로 접근합니다.
  • 데이터베이스 연결 정보(호스트, 사용자, 비밀번호)를 확인합니다.
  • 획득한 정보로 데이터베이스에 직접 접속하여 데이터를 탈취합니다.

DB 연결 정보 노출 위험성:

  • 데이터베이스 장악: 관리자 권한으로 데이터 무단 접근
  • 데이터 유출: 고객 정보, 비밀번호, 신용카드 정보 등 탈취
  • 데이터 변조: 데이터 무결성 훼손
  • 시스템 추가 침투: DB 권한 상승 공격으로 서버 장악
  • 내부 구조 노출: 서버 IP, 네트워크 구조 정보 유출

보안 위협:

  • 데이터베이스 비밀번호 크래킹
  • SQL Injection 공격과 연계
  • 백도어 설치 및 악성코드 삽입
  • 개인정보 유출 법적 책임

3. 점검 대상

  • Tomcat: Apache Tomcat 웹 서버
  • IIS: Microsoft Internet Information Services
  • JEUS: Tmax JEUS 웹 애플리케이션 서버

4. 판단 기준

  • 양호: 일반 사용자의 DB 연결 파일에 대한 접근을 제한하고, 불필요한 스크립트 매핑이 제거된 경우
  • 취약: 일반 사용자의 DB 연결 파일에 대한 접근을 제한하지 않거나, 불필요한 스크립트 매핑이 제거되지 않은 경우

5. 점검 방법

Tomcat

1
2
3
4
5
# server.xml 파일 내 DB 연결 리소스 확인
grep -A 10 "Resource name=" /<Tomcat 설치 디렉터리>/conf/server.xml

# 파일 권한 확인
ls -la /<Tomcat 설치 디렉터리>/conf/server.xml

IIS

1
2
# 처리기 매핑 확인
# IIS 관리자 > 처리기 매핑 > *.asa, *.asax 확인

JEUS

1
2
# DB 연결 설정 확인
grep -A 10 "datasource" /<JEUS 설치 디렉터리>/conf/domain.xml

6. 조치 방법

Tomcat

Step 1) server.xml 파일 내 불필요한 DB 연결 리소스 설정 제거

1
vi /<Tomcat 설치 디렉터리>/conf/server.xml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- 변경 전 (취약) -->
<GlobalNamingResources>
    <Resource name="jdbc/MyDB"
              auth="Container"
              type="javax.sql.DataSource"
              maxTotal="100"
              maxIdle="30"
              maxWaitMillis="10000"
              username="dbuser"
              password="dbpassword"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/mydb"/>
</GlobalNamingResources>

<!-- 변경 후 (양호) - 제거 또는 주석 처리 -->
<!--
<GlobalNamingResources>
    <Resource name="jdbc/MyDB"
              auth="Container"
              type="javax.sql.DataSource"
              ... />
</GlobalNamingResources>
-->

Step 2) DB 연결 리소스가 존재하는 설정 파일 접근권한을 600으로 설정

1
2
3
4
chmod 600 /<Tomcat 설치 디렉터리>/conf/server.xml

# 권한 확인
ls -la /<Tomcat 설치 디렉터리>/conf/server.xml

참고: context.xml 파일 내 명시된 설정 파일에서도 DB 연결 확인이 필요합니다.

IIS

Step 1) 처리기 매핑에서 불필요한 DB 매핑 설정 제거

  1. 제어판 > 관리 도구 > 인터넷 정보 서비스(IIS) 관리자 실행
  2. 해당 웹사이트 선택 > IIS > 처리기 매핑 더블클릭
  3. 사용 항목에서 *.asa, *.asax 항목 선택 후 제거 클릭

Step 2) 요청 필터링에서 DB 매핑 설정 제한

  1. IIS 관리자 > 요청 필터링 더블클릭
  2. ‘파일 이름 확장명’ 탭 클릭
  3. ‘허용됨’ 값이 true인 매핑 제거
  4. ‘파일 이름 확장명 거부’ 탭에서 .asa, .asax 등록

참고: asa/asax 스크립트 매핑 또는 파일 필터링 중 하나라도 설정 시 취약합니다. 둘 다 제거해야 합니다.

JEUS

Step 1) 설정 파일 내 불필요 DB 연결 리소스 설정 제거

1
vi /<JEUS 설치 디렉터리>/conf/domain.xml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<!-- 변경 전 (취약) -->
<datasource>
    <jndi-name>jdbc/UnnecessaryDB</jndi-name>
    <driver-class>com.example.Driver</driver-class>
    <url>jdbc:example://localhost:1234/unnecessarydb</url>
    <username>user</username>
    <password>password</password>
    <max-connections>10</max-connections>
</datasource>

<!-- 변경 후 (양호) - 제거 또는 주석 처리 -->
<!--
<datasource>
    <jndi-name>jdbc/UnnecessaryDB</jndi-name>
    ...
</datasource>
-->

Step 2) 설정 파일의 접근권한을 600으로 설정

1
2
3
4
chmod 600 /<JEUS 설치 디렉터리>/conf/domain.xml

# 권한 확인
ls -la /<JEUS 설치 디렉터리>/conf/domain.xml

참고: domain.xml 뿐만 아니라 개별 웹 서비스의 설정 파일인 jeus-web-dd.xml에서도 삭제가 필요합니다.

7. 조치 시 주의사항

  • 일반적인 경우 영향이 없습니다.
  • DB 연결이 필요한 웹 애플리케이션의 경우, 해당 설정을 제거하면 서비스가 중단될 수 있습니다.
  • 설정 제거 전에 실제 사용 중인 DB 연결인지 확인해야 합니다.
  • 파일 권한 변경 후 웹 서비스가 정상 작동하는지 확인해야 합니다.
  • DB 연결 정보는 별도의 환경 변수나 암호화된 설정 파일로 관리하는 것을 권장합니다.
  • 정기적으로 DB 연결 파일의 접근 권한을 감사해야 합니다.

8. 참고 자료

요약

DB 연결 파일의 접근 권한을 제한하고 불필요한 스크립트 매핑을 제거하여 데이터베이스 연결 정보 노출을 방지해야 합니다.