[윈도우/서비스 관리] IIS CGI 실행제한 (W-12)
- 취약점 점검/윈도우
- 2021. 2. 28.
IIS CGI 실행제한
취약점 개요
■ 위험도
- 상
■ 점검 목적
- CGI 스크립트를 정해진 디렉토리에서만 실행되도록 하여 악의적인 파일의 업로드 및 실행을 방지하기 위함
■ 보안 위협
- 게시판이나 자료실과 같이 업로드 되는 파일이 저장되는 디렉토리에 CGI 스크립트가 실행 가능한 경우 악의적인 파일을 업로드하고 이를 실행하여 시스템의 중요 정보가 노출될 수 있으며 침해사고의 경로로 이용될 수 있음
점검 및 조치 방법
■ 판단 기준
- 양호 : 해당 디렉토리 Everyone에 모든 권한, 수정 권한, 쓰기 권한이 부여되지 않은 경우
- 취약 : 해당 디렉토리 Everyone에 모든 권한, 수정 권한, 쓰기 권한이 부여되지 있는 경우
■ 조치 방법
- 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 Everyone에 모든 권한, 수정 권한, 쓰기 권한 제거 후 Administrators, System 그룹 추가(모든 권한)
◆ Windows 2000(IIS 5.0), 2003(IIS 6.0), 2008(IIS 7.0), 2012(IIS 8.0)
Step 1) 탐색기 > 해당 디렉토리 > 속성 > 보안 (기본 CGI 디렉토리 위치 C:\inetpub\scripts)
Step 2) Everyone 의 모든 권한, 수정 권한, 쓰기 권한 제거
■ 스크립트
echo. W-24 START
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo [ W-24 "IIS CGI 실행 제한" ] >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo ■ 기본 스크립트 폴더 ■ >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
icacls C:\inetpub\*scripts* | find /v "파일을 처리했으며" >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
icacls C:\inetpub\cgi-bin | find /v "파일을 처리했으며" >> [RESULT]_%COMPUTERNAME%_WINSVR.txt 2>&1
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo ■ 해당 사이트 스크립트 폴더 ■ >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
icacls %IIS_WEB_HOME%\*scripts* | find /v "파일을 처리했으며" >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo W-24 END >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo ====================================================================================== >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
■ 용어 설명 / 팁
CGI(Common Gateway Interface) : 사용자가 서버로 보낸 데이터를 서버에서 작동중인 데이터처리프로그램에 전달하고, 여기에서 처리된 데이터를 다시 서버로 되돌려 보내는 등의 일을 하는 프로그램