새로운 파일 형식을 서버에서 정상적으로 인식하고 처리하려면, 해당 확장자에 대한 MIME(Multipurpose Internet Mail Extensions) 형식 등록이 반드시 필요합니다. 그렇지 않으면 서버는 해당 파일을 알 수 없는 형식 또는 압축 파일 등으로 잘못 인식할 수 있습니다. Windows Server, IIS, Apache 등 다양한 서버 환경에서의 등록 방법과 필수 MIME 목록을 정리합니다.
1. MIME 형식이란?
MIME(Multipurpose Internet Mail Extensions)은 서버와 클라이언트 간의 파일 형식(콘텐츠 타입)을 정의하는 표준입니다.
예시
.docx
→application/vnd.openxmlformats-officedocument.wordprocessingml.document
.xlsx
→application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
브라우저나 애플리케이션은 이 MIME 정보를 통해 해당 파일을 어떻게 처리할지 판단하게 됩니다.
2. 자동 등록되는 환경 vs 수동 등록이 필요한 환경
서버 환경 | MIME 등록 방식 |
---|---|
Windows Server 2003 SP2 이상, IIS 7.0 이상 | 기본적으로 자동 등록됨 |
Windows Server 2003, IIS 6.0 | 수동 등록 필요 (IIS 관리자에서 설정) |
Windows 이외의 서버 (예: Apache, Nginx 등) | 수동 등록 필요 (설정 파일 수정) |
Windows Server 2003 및 IIS 6.0 사용 시: Open XML 파일을 수동 등록해야 하며, IIS 6.0 MIME 형식 구성 가이드를 참고하세요.
3. 등록이 필요한 Office 2007 MIME 형식 목록
다음 표는 Office 2007 문서 관련 확장자와 그에 해당하는 MIME 형식입니다.
확장명 | 파일 형식 | MIME 형식 |
---|---|---|
.docx |
Word 문서 | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
.docm |
매크로 사용 문서 | application/vnd.ms-word.document.macroEnabled.12 |
.dotx |
Word 서식 파일 | application/vnd.openxmlformats-officedocument.wordprocessingml.template |
.dotm |
매크로 사용 서식 파일 | application/vnd.ms-word.template.macroEnabled.12 |
.xlsx |
Excel 통합 문서 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
.xlsm |
매크로 사용 통합 문서 | application/vnd.ms-excel.sheet.macroEnabled.12 |
.xltx |
Excel 서식 파일 | application/vnd.openxmlformats-officedocument.spreadsheetml.template |
.xltm |
매크로 사용 서식 파일 | application/vnd.ms-excel.template.macroEnabled.12 |
.xlsb |
바이너리 통합 문서 | application/vnd.ms-excel.sheet.binary.macroEnabled.12 |
.xlam |
Excel 추가 기능 | application/vnd.ms-excel.addin.macroEnabled.12 |
.pptx |
PowerPoint 프레젠테이션 | application/vnd.openxmlformats-officedocument.presentationml.presentation |
.pptm |
매크로 사용 프레젠테이션 | application/vnd.ms-powerpoint.presentation.macroEnabled.12 |
.ppsx |
슬라이드 쇼 | application/vnd.openxmlformats-officedocument.presentationml.slideshow |
.ppsm |
매크로 사용 슬라이드 쇼 | application/vnd.ms-powerpoint.slideshow.macroEnabled.12 |
.potx |
PowerPoint 서식 파일 | application/vnd.openxmlformats-officedocument.presentationml.template |
.potm |
매크로 사용 서식 파일 | application/vnd.ms-powerpoint.template.macroEnabled.12 |
.ppam |
PowerPoint 추가 기능 | application/vnd.ms-powerpoint.addin.macroEnabled.12 |
.sldx |
슬라이드 | application/vnd.openxmlformats-officedocument.presentationml.slide |
.sldm |
매크로 사용 슬라이드 | application/vnd.ms-powerpoint.slide.macroEnabled.12 |
.one , .onetoc2 , .onetmp , .onepkg |
OneNote 파일들 | application/onenote |
.thmx |
Office 테마 파일 | application/vnd.ms-officetheme |
4. 서버별 MIME 형식 등록 방법
IIS 6.0에서 MIME 등록 방법
- IIS 관리자 실행
- 사이트 또는 서버 노드 → 속성 → HTTP 헤더 → MIME 형식 클릭
- 새로 만들기 클릭 후 확장자 및 MIME 형식 입력
- 예시
- 확장자:
.docx
- MIME 형식:
application/vnd.openxmlformats-officedocument.wordprocessingml.document
- 확장자:
Apache 서버의 경우
Apache에서는 httpd.conf
또는 .htaccess
파일에 다음과 같이 등록합니다.
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document .docx
AddType application/vnd.ms-excel.sheet.macroEnabled.12 .xlsm
AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow .ppsx
5. 보안 관점 점검 포인트
서버에 새로운 MIME 유형을 등록하는 경우, 다음 보안 체크리스트를 고려하세요.
- 불필요한 MIME 등록 방지
→ 클라이언트 측에서 실행 가능한 파일(.exe
,.js
,.vbs
등)의 등록은 위험할 수 있음 - 정책 기반 제어
→ 문서 업로드/다운로드 서버에서는 등록된 MIME 유형만 허용하도록 제한 - X-Content-Type-Options 설정 확인
→nosniff
설정으로 브라우저가 콘텐츠 형식을 오용하지 않도록 방지 X-Content-Type-Options: nosniff
- 로그 모니터링 강화
→ 새 MIME으로 접근한 요청 로그 분석을 통해 악성 파일 업로드 탐지 가능
6. 참고 링크 및 추가 자료
- IIS 6.0 MIME 구성 문서
- Apache에서 Office 2007 MIME 설정 (Vladimir Mazek 블로그)
- MIME 등록 및 IIS 설정 관련 MS TechNet 문서
Office 2007 및 이후 형식들은 새로운 MIME 유형을 사용하므로, 서버가 해당 파일을 올바르게 인식하려면 정확한 MIME 등록이 선행되어야 합니다.
IIS, Apache, 기타 웹 서버에서의 등록 방식이 다르므로 환경에 맞게 적용하세요.
등록 시 보안 정책과 연계한 MIME 관리 전략 수립도 꼭 병행되어야 합니다.
댓글