[윈도우/서비스 관리] IIS DB 연결 취약점 점검 (W-18)

IIS DB 연결 취약점 점검

 

취약점 개요

■ 위험도
- 상

■ 점검 목적
- DB 커넥션 파일(global.asa)에 대한 접근을 제한하여 SQL 서버의 사용자명과 패스워드와 같은 중요 정보의 노출을 차단하기 위함

■ 보안 위협
- global.asa 파일에는 데이터베이스 관련 정보(IP 주소, DB명, 패스워드), 내부 IP 주소, 웹 어플리케이션 환경설정 정보 및 기타 정보 등 보안상 민감한 내용이 포함되어 있으므로 해당 파일이 악의적인 사용자에게 노출될 경우 침해사고로 이어질 수 있음

점검 및 조치 방법

■ 판단 기준
- 양호 : .asa 매핑 시 특정 동작만 가능하도록 제한하여 설정한 경우 또는 매핑이 없을 경우
- 취약 : .asa 매핑 시 모든 동작이 가능하도록 설정한 경우

■ 조치 방법
- 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 .asa 매핑을 아래 그림과 같이 특정 동작만 가능하도록 추가(IIS 6.0) / asa 설정을 false 함(7.0, 8.0)



● Windows 2000(IIS 5.0), 2003(IIS 6.0)
Step 1) asa 매핑 등록 확인
인터넷 정보 서비스(IIS) 관리자 > 웹 사이트 > 해당 웹 사이트 > 속성 > 홈 디렉토리 탭에서 구성 > 매핑 탭 선택 후 .asa 매핑이 등록되어 있는지 확인


Step 2) asa 매핑 등록되어 있다면 특정 동작만 가능하도록 설정되어 있는지 확인
매핑 탭에서 편집 내용이 다음과 동일하게 설정되어 있는지 확인
- 동사 > 다음으로 제한 > GET, HEAD, POST, TRACE 입력
- 스크립트 엔진 체크
- 파일이 있는지 확인 체크


● Windows 2008(IIS 7.0), 2012(IIS 8.0)
총 2가지 항목에서 확인 필요
2가지 항목이 모두 아래의 방법과 같이 설정되어 있다면 취약하다고 볼 수 있으며, 한 가지 경우라도 설정 되어 있지 않거나 해당 설정이 없을 시 양호하다고 판단함

1. asa / asax 스크립트 매핑 확인
Step 1) 매핑이 없을 경우 양호
인터넷 정보 서비스(IIS) 관리자 > 해당 웹 사이트 > IIS > 처리기 매핑 선택, 사용 항목에 .asa, .asax 가 등록되지 않을 경우 양호
※ 아래 이미지처럼 등록되어 있을 경우 삭제 시 양호


2. asa / asax 파일 필터링 확인
Step 1) false 일 경우 양호
인터넷 정보 서비스(IIS) 관리자 > 해당 웹 사이트 > IIS > 요청 필터링 선택, .asa / asax 확장자가 false로 설정되어 있는지 확인
※ true 일 경우 제거하고 "파일 이름 확장명 거부" 에 등록


■ 스크립트

echo. W-30 START
echo.                                                                                           >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo [ W-30 "IIS DB 연결 취약점 점검" ]                                                      			>>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo.                                                                                           >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo.                                                                                           >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo ■ webconfig내 .asa, .asax 매핑 ■                                             					>>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
type [RESULT]_%COMPUTERNAME%_webconfig.txt | find ".asa" 										>>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo.                                                                                           >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo ■ .asa, .asax 확장자 허용 여부 ■                                             					>>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
type [RESULT]_applicationHost.config | find ".asa" 												>>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo.                                                                                           >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo.                                                                                           >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo.                                                                                           >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo W-30 END                                                                                   >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo ======================================================================================     >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo.                                                                                           >>	[RESULT]_%COMPUTERNAME%_WINSVR.txt
echo.  


■ 용어 설명 / 팁
global.asa 파일 : 각각의 ASP(Active Server Pages) 프로그램을 위해 IIS 서버상에서 관리되는 파일. IIS 프로그램이 시작하고 정지할 때, 혹은 웹 클라이언트가 ASP 프로그램의 웹 페이지들을 엑세스하는 브라우저 세션들을 시작하고 정지할 때 자동적으로 global.asa 파일을 처리함

댓글

Designed by JB FACTORY