인터넷 정보 서비스
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
인터넷 정보 서비스(IIS)는 마이크로소프트 윈도우 운영 체제에서 사용되는 웹 서버 소프트웨어이다. 초기에는 윈도우 NT의 부가 기능으로 시작하여, 액티브 서버 페이지(ASP) 지원, IPv6 지원, 모듈식 아키텍처, 보안 기능 강화 등을 거치며 발전을 거듭했다. IIS는 다양한 인증 메커니즘, .NET 프레임워크 지원, 확장 기능을 제공하며, IIS Express라는 경량 버전도 존재한다. 넷크래프트와 W3Techs의 조사에 따르면, IIS는 아파치 HTTP 서버와 Nginx에 이어 세계에서 두 번째 또는 세 번째로 널리 사용되는 웹 서버이다. 보안 측면에서 IIS는 코드 레드 웜과 같은 공격에 취약했던 과거를 극복하고, IIS 6.0 이후 보안 기능을 강화했다.
더 읽어볼만한 페이지
- FTP 서버 소프트웨어 - Vsftpd
Vsftpd는 보안 취약점으로 인해 문제가 발생했던 FTP 서버 소프트웨어로, 과거 백도어 배포 및 명령 셸 획득 취약점 등으로 보안 문제가 있었으나, 이후 보안이 강화되었다. - FTP 서버 소프트웨어 - 파일질라
파일질라는 2001년 시작된 오픈 소스 FTP 클라이언트 및 서버로, 다양한 프로토콜과 운영 체제를 지원하며, 탭 형식의 사용자 인터페이스를 제공한다. - 메시지 전송 에이전트 - Exim
Exim은 Sendmail과 유사하게 설계된 메일 전송 에이전트(MTA)로, 단일 바이너리로 MTA의 모든 기능을 제어하며, 보안 취약점 업데이트가 중요하고, 다양한 설정 방식과 상세한 문서를 제공하며, 2017년에는 널리 사용되었다. - 메시지 전송 에이전트 - Qmail
Qmail은 Sendmail의 대안으로 개발된 메일 전송 에이전트로서, Maildir 형식, QMTP/QMQP 프로토콜 등 혁신적인 기능을 제공했으나, 업데이트 중단으로 인한 보안 문제와 IETF 표준 미준수, 스팸 악용 가능성 등의 논란이 있었다. - 웹 서버 소프트웨어 - 임베디드 HTTP 서버
임베디드 HTTP 서버는 임베디드 애플리케이션 내에서 사용되는 HTTP 서버로, 씬 클라이언트 인터페이스 제공, 정보 배포, 웹 애플리케이션 개발 등에 활용되며, 제한된 자원 환경에서 다양한 요구 사항을 충족해야 한다. - 웹 서버 소프트웨어 - 아파치 스트럿츠
아파치 스트럿츠는 자바 EE 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크로, MVC 아키텍처를 적용하여 웹 폼, 국제화, 현지화를 지원하며 서블릿 컨테이너 위에서 실행되지만 보안 취약성이 존재하고, 대한민국 및 일본에서도 사용된다.
인터넷 정보 서비스 - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
이름 | 인터넷 정보 서비스 |
영어 이름 | Internet Information Services |
![]() | |
종류 | 웹 서버 |
개발자 | 마이크로소프트 |
첫 출시일 | 1995년 5월 30일 |
최신 안정화 버전 | 인터넷 정보 서비스 10.0 |
최신 안정화 버전 출시일 | 2016년 8월 2일 |
최신 미리보기 버전 | 인터넷 정보 서비스 10.0 버전 19041 |
최신 미리보기 버전 출시일 | 2020년 5월 28일 |
프로그래밍 언어 | C++ |
지원 언어 | 윈도우 NT 지원 언어와 동일 |
라이선스 | 윈도우 NT에 포함 (동일 라이선스) |
웹사이트 | 인터넷 정보 서비스 공식 웹사이트 |
서비스 정보 | |
서비스 이름 | IISADMIN, W3SVC, MSFTPSVC |
서비스 설명 | IIS 관리 서비스, 월드 와이드 웹 게시 서비스, FTP 게시 서비스 |
포함 운영 체제 | 윈도우 NT 4.0 윈도우 2000 윈도우 XP Professional 윈도우 서버 2003 윈도우 비스타 윈도우 서버 2008 윈도우 7 윈도우 서버 2008 R2 일부 에디션을 제외한 이후의 윈도우 |
사용 가능 운영 체제 | 윈도우 NT 3.51 |
관련 구성 요소 | ISAPI |
추가 정보 | |
대체 대상 | (정보 없음) |
대체된 대상 | (정보 없음) |
2. 역사
인터넷 정보 서비스(IIS)는 마이크로소프트가 마이크로소프트 윈도우 운영체제 제품군을 위해 개발한 확장 가능한 웹 서버 소프트웨어이다. 초기 웹 서버는 스코틀랜드 에든버러 대학교의 유럽 마이크로소프트 윈도우 NT 학술 센터(EMWAC)에서 개발한 무료 소프트웨어였으나, 증가하는 Microsoft.com의 트래픽을 감당하기 어려워지자 마이크로소프트는 자체 웹 서버인 IIS를 개발하게 되었다.[4][5]
IIS는 윈도우 NT 3.51용 추가 기능으로 처음 등장한 이후, 마이크로소프트 윈도우의 새로운 버전 출시와 함께 꾸준히 발전해왔다. IIS 3.0에서는 액티브 서버 페이지(ASP) 동적 스크립팅 환경이 도입되었고,[6] IIS 4.0에서는 마이크로소프트 관리 콘솔(MMC) 기반의 관리 도구가 도입되고 여러 웹사이트 인스턴스 운영이 가능해졌다. IIS 5.0은 윈도우 2000과 함께 출시되어 WebDAV 프로토콜 지원 등 기능이 향상되었으나,[7] 고퍼 프로토콜 지원은 중단되었다.[8]
윈도우 서버 2003에 포함된 IIS 6.0은 보안과 안정성 향상에 중점을 두어 아키텍처가 크게 변경되었고 IPv6를 지원하기 시작했다.[9] 윈도우 비스타 및 윈도우 서버 2008에 포함된 IIS 7.0은 모듈식 설계를 도입하여 필요한 기능만 선택적으로 설치할 수 있게 하여 공격 표면을 줄이고 성능을 개선했다.[11] 이후 버전들(IIS 7.5, 8.0, 8.5, 10.0)은 PowerShell 관리 강화, 전송 계층 보안(TLS) 최신 버전 지원, 서버 이름 표시(SNI), HTTP/2, HTTP/3 등 새로운 웹 기술과 프로토콜 지원, 보안 기능 강화 등을 통해 지속적으로 발전해왔다.[12][13][16]
초기 윈도우 NT 라이선스 정책과 관련하여 IIS는 논란의 대상이 되기도 했다. 넷스케이프를 비롯한 경쟁 웹 서버 업체들은 마이크로소프트가 운영체제의 워크스테이션 에디션에서는 동시 접속 수를 제한하면서 서버 에디션에만 IIS를 번들로 제공하고 제한을 두지 않는 방식으로 불공정 경쟁을 한다고 비판했다.[17] 넷스케이프는 이러한 라이선스 차별에 기술적 근거가 없다며 미국 법무부에 문제를 제기하기도 했다.[18]
2. 1. 초기 버전 (1.0 ~ 5.1)
마이크로소프트의 첫 웹 서버는 스코틀랜드 에든버러 대학교의 유럽 마이크로소프트 윈도우 NT 학술 센터(EMWAC) 연구 프로젝트였으며, 무료 소프트웨어로 배포되었다.[4] 그러나 EMWAC 서버는 Microsoft.com으로 향하는 대량의 트래픽을 감당하기 어려웠고, 이에 마이크로소프트는 자체 웹 서버인 IIS를 개발하게 되었다.[5]IIS의 거의 모든 버전은 마이크로소프트 윈도우 버전과 함께 출시되었다. 초기 버전들은 다음과 같다.
- '''IIS 1.0''': 윈도우 NT 3.51용 무료 애드온으로 처음 출시되었다.[66]
- '''IIS 2.0''': 윈도우 NT 4.0에 포함되었다.
- '''IIS 3.0''': 윈도우 NT 4.0 서비스 팩 3에 포함되었으며,[66] 액티브 서버 페이지(ASP) 동적 스크립팅 환경을 도입했다.[6]
- '''IIS 4.0''': 윈도우 NT 4.0용 "옵션 팩"의 일부로 출시되었다. 이 버전부터 고퍼 프로토콜 지원이 중단되었고, 새로운 마이크로소프트 관리 콘솔(MMC) 기반 관리 애플리케이션이 도입되었다. 또한 포트 번호나 호스트 이름으로 구분하여 웹 및 FTP 서버의 여러 인스턴스를 실행할 수 있게 되었으며, 애플리케이션 풀을 실행하는 첫 번째 버전이기도 했다.
- '''IIS 5.0''': 윈도우 2000과 함께 제공되었다. 추가 인증 방법, WebDAV 프로토콜 지원, 향상된 액티브 서버 페이지(ASP) 기능을 도입했다.[7] 이 버전에는 HTTP 요청 처리를 위한 HTTP.SYS가 추가되었다.
- '''IIS 5.1''': 윈도우 XP Professional과 함께 제공되었으며, 기능적으로는 IIS 5.0과 거의 동일했다.[75] 윈도우 XP와 같은 클라이언트 운영 체제에 포함된 IIS는 초기 버전(7.0 이전)에서 동시 연결 수가 10개로 제한되고 단일 웹사이트만 지원하는 제약이 있었다.[71]
초기 윈도우 NT 라이선스 정책은 넷스케이프 등 다른 웹 서버 소프트웨어 공급업체로부터 비판을 받았다. 운영 체제의 "워크스테이션" 에디션은 동시 TCP/IP 연결을 10개로 제한한 반면, 기능상 큰 차이가 없으면서도 가격이 더 비싼 "서버" 에디션은 연결 제한이 없고 IIS를 기본 포함했다. 이는 사용자들이 저렴한 워크스테이션 에디션에서 경쟁사의 웹 서버 소프트웨어를 사용하는 것을 어렵게 만들려는 의도라는 비판이 제기되었다.[17] 넷스케이프는 이러한 라이선스 차이가 기술적 근거가 없다며 미국 법무부에 공개 서한을 보내기도 했다.[18]
2. 2. 보안 및 아키텍처 개선 (6.0 ~ 7.5)
윈도우 서버 2003 및 윈도우 XP Professional x64 에디션에 포함된 IIS 6.0은 보안과 안정성 향상에 중점을 두었다. 이전 버전과 달리, 보안 강화를 위해 기본적으로 비활성화 상태로 제공되며 사용자가 명시적으로 설치해야 필요한 기능만 활성화된다.[9] 이는 과거 사용하지 않는 구성 요소의 보안 취약점을 악용하는 공격 사례를 방지하기 위한 조치였다. 또한, 소스 코드가 전면적으로 재작성되었고, 각 웹 애플리케이션을 독립된 프로세스에서 실행하는 새로운 작업자 프로세스 모델을 도입하여 안정성과 가용성을 높였다. IPv6 지원이 추가되었고,[9] HTTP 요청 처리를 위한 커널 모드 드라이버인 HTTP.sys가 도입되어 성능이 향상되었다.[10] 서버 구성 정보는 기존의 바이너리 형식 대신 XML 형식으로 저장되어 관리 편의성을 높였다.윈도우 비스타와 윈도우 서버 2008에 포함된 IIS 7.0은 이전 버전과 비교해 완전히 새롭게 설계되고 재작성되었다. 핵심적인 변화는 모듈식 아키텍처의 도입이다. 이를 통해 사용자는 필요한 기능 모듈만 선택적으로 설치하여 서버의 공격 표면을 줄이고 성능을 최적화할 수 있게 되었다.[11] 또한, 배포를 단순화하는 계층적 구성 시스템, 새로운 윈도우 폼 기반의 관리 도구, 향상된 명령줄 관리 기능이 추가되었으며, .NET 프레임워크와의 통합 및 지원이 강화되었다.[11] 윈도우 비스타 환경에서는 동시 연결 수 제한은 없지만, 에디션에 따라 동시에 처리할 수 있는 요청 수가 3개 또는 10개로 제한된다. 이 제한을 초과하는 요청은 거부되지 않고 대기열에서 처리된다. FastCGI 모듈도 지원된다.[73]
윈도우 7과 윈도우 서버 2008 R2에 포함된 IIS 7.5는 IIS 7.0을 기반으로 여러 기능 개선과 강화가 이루어졌다. PowerShell을 이용한 관리 기능이 향상되어 FTP 및 WebDAV 모듈 관리가 더 편리해졌다. 보안 측면에서는 TLS 1.1 및 1.2 프로토콜 지원이 추가되었고, 각 애플리케이션 풀을 더욱 격리하여 실행할 수 있는 기능이 도입되어 안정성을 높였다.[12] 또한, 서버 구성을 최적화하는 데 도움을 주는 모범 사례 분석기 도구가 추가되었으며, 서버 코어(Server Core) 설치 환경에서도 .NET Framework를 지원하여 ASP.NET 애플리케이션 실행이 가능해졌다. 기존에 별도로 제공되던 FTP 7.5와 WebDAV 7.5 모듈이 IIS 7.5에 통합되었다.
2. 3. 최신 버전 (8.0 ~ 10.0)
IIS 8.0윈도우 8 및 윈도우 서버 2012에 포함된 버전이다. 이 버전에서는 서버 이름 표시(SNI, Server Name Indication) 기능이 추가되어 IP 주소 대신 호스트 이름을 기반으로 SSL 인증서를 바인딩할 수 있게 되었다. 또한 애플리케이션 초기화, 중앙 집중식 SSL 인증서 지원, 비균일 기억 장치 접근(NUMA, Non-Uniform Memory Access) 하드웨어에서의 멀티코어 확장 기능 등이 도입되었다. 보안 측면에서는 지정된 요청 수를 초과하는 IP 주소를 차단하거나, 일정 기간 동안 반복적으로 FTP 로그인에 실패한 경우 접근을 제한하는 기능이 추가되었다. 웹소켓 프로토콜과 NUMA 하드웨어를 지원하여 서버 자원 효율성을 높였으며, 애플리케이션 풀의 자원 사용 조정 기능이 강화되어 여러 웹사이트를 단일 애플리케이션 풀에서 운영할 때 발생할 수 있는 성능 저하를 방지했다. 워커 프로세스의 샌드박스화 등 안전성 향상도 이루어졌다.IIS 8.5윈도우 8.1 및 윈도우 서버 2012 R2에 포함된 버전이다. 주요 개선 사항으로는 유휴 상태의 워커 프로세스를 종료하는 대신 메모리에서 디스크로 내리는(페이지 아웃) 기능, 동적 사이트 활성화, 향상된 로깅 기능(사용자 정의 W3C 로그 형식, ETW 로깅 지원), 자동 인증서 재바인딩 등이 있다. 이러한 변경을 통해 특히 웹사이트 초기 접속 시 성능이 향상되었다.
IIS 10.0윈도우 10 및 윈도우 서버 2016 이후 버전에 포함된 버전이다. 여러 업데이트를 통해 기능이 지속적으로 추가되었다.
- 버전 1607 (윈도우 서버 2016, 윈도우 10 1주년 업데이트): HTTP/2 프로토콜을 지원하기 시작했으며,[13] Nano Server 환경의 Windows 컨테이너에서 IIS를 실행할 수 있게 되었다. 새로운 REST 기반 관리 API와 웹 기반 관리 도구, 와일드카드 호스트 헤더 지원도 추가되었다.[14]
- 버전 1709 (윈도우 서버, 버전 1709, 윈도우 10 가을 크리에이터 업데이트): HTTP 스트릭트 트랜스포트 시큐리티(HSTS) 지원, 컨테이너 환경 개선, 새로운 사이트 바인딩 관련 파워셸 cmdlet, 그리고 "CRYPT_"로 시작하는 4개의 새로운 서버 변수가 추가되었다.[15]
- 버전 1809 (윈도우 서버 2019, 윈도우 10 2018년 10월 업데이트): 사이트별로 HTTP/2 및 OCSP 스테이플링 설정을 제어할 수 있는 기능, Gzip과 Brotli 압축 방식을 모두 지원하는 압축 API 및 모듈, HTTP 스트릭트 트랜스포트 시큐리티(HSTS) 구성을 위한 사용자 인터페이스(UI)가 추가되었다.[16]
- 윈도우 11 및 윈도우 서버 2022에 포함된 IIS 10.0은 HTTP/3 프로토콜을 기본적으로 지원한다.
3. 특징
IIS는 설치 시 기본적으로 작동하며, 지정된 폴더에 HTML 파일을 저장하고 설정을 통해 웹 페이지를 공개할 수 있다. 서버 버전에서는 Windows Server Update Services나 Microsoft Exchange Server 같은 응용 프로그램과 연동하여 서버 관리를 웹 브라우저 기반으로 편리하게 수행할 수 있도록 지원한다.
IIS는 버전이 발전하면서 다양한 인증 메커니즘을 지원하고 개선해왔으며[19][20], 특히 IIS 7.0부터는 모듈식 아키텍처를 도입하여 필요한 기능만 선택적으로 설치하고 확장할 수 있게 되었다.[21][74] 이후 버전들(IIS 7.5, 8.0, 8.5 등)에서는 보안 기능 강화[22], 성능 향상(NUMA 지원, 웹소켓, SNI 등)[26][27][28], 관리 편의성 증대(중앙 집중식 SSL 인증서, CPU 조절, 향상된 로깅 등)[25][30][33]를 위한 기능들이 지속적으로 추가되었다.
과거 버전(IIS 6.0 이전)에는 SMTP 서버 기능이 내장되어 간단한 메일 서버 구성이 가능했으나, 이 기능은 IIS 7.0부터 제거되었다. 또한 가상 도메인 설정 등 다양한 기능을 제공하지만, 다른 웹 서버 소프트웨어에 비해 권한 설정이 다소 복잡하다는 평가도 있다.[65]
3. 1. 기능
IIS는 설치 시 기본적으로 작동하며, 지정된 폴더에 HTML 파일을 저장하고 설정을 통해 웹 페이지를 공개할 수 있다. 또한 서버 버전의 경우, Windows Server Update Services나 Microsoft Exchange Server 같은 응용 프로그램과 연동하여 서버 응용 프로그램을 웹 브라우저를 통해 시각적으로 설정할 수 있게 해준다. 이런 점에서 IIS는 마이크로소프트를 상징하는 구성 요소 중 하나로 볼 수 있다.IIS 6.0 이상 버전은 다음 인증 메커니즘을 지원한다:[19]
- 익명 인증
- 기본 접근 인증
- 다이제스트 인증
- 통합 윈도우 인증
- UNC 인증
- .NET 패스포트 인증 (윈도우 서버 2008 및 IIS 7.0에서 제거됨)[20]
- 인증서 인증
IIS 6.0과 IIS 7 사이에는 인증 방식에 약간의 변화가 있었다. 특히, "IUSR_{컴퓨터이름}" 형식의 익명 사용자는 윈도우 비스타 및 이후 운영 체제에서 "IUSR"이라는 기본 제공 계정으로 변경되었다. IIS 7에서는 각 인증 메커니즘이 자체 모듈로 분리되어 필요에 따라 설치하거나 제거할 수 있다.[20]
IIS 7.0은 윈도우 비스타와 윈도우 서버 2008에 포함되어 있으며, 모듈(modular) 방식의 소프트웨어 아키텍처를 특징으로 한다. 이는 모든 서비스를 한 번에 실행하는 기존의 모놀리딕 방식과 달리, 핵심 웹 서버 엔진에 필요한 기능을 모듈 형태로 추가하는 방식이다. 이를 통해 사용자는 필요한 기능만 활성화하고, 직접 만든 모듈을 추가하여 기능을 확장할 수 있다. IIS 7.0에 기본 포함된 모듈들은 다음과 같다.[74][21]
IIS 7.5는 다음과 같은 보안 기능이 추가되거나 향상되었다:[22]
- 클라이언트 인증서 매핑
- IP 보안
- 요청 필터링
- URL 권한 부여
IIS 8.0은 성능 향상과 관리 편의성을 목표로 하는 새로운 기능들을 제공한다.
기능 | 설명 |
---|---|
응용 프로그램 초기화 | 서버 시작 시 특정 응용 프로그램 자동 시작 설정, 초기 접속 대기 시간 감소[23] |
스플래시 페이지 | 응용 프로그램 초기화 중 표시할 화면 설정[23] |
ASP.NET 4.5 지원 | ASP.NET 4.5 기본 지원 및 3.5 호환 설정 제공[24] |
중앙 집중식 SSL 인증서 지원 | 파일 공유를 통한 인증서 저장 및 접근으로 관리 편의성 향상[25] |
NUMA 하드웨어 멀티 코어 확장 | NUMA 시스템 성능 최적화를 위한 설정 옵션 제공[26] |
웹소켓 프로토콜 지원 | 웹소켓 통신 지원[27] |
서버 이름 표시(SNI) | 단일 IP 주소로 다수 SSL 웹사이트 호스팅 가능[28] |
동적 IP 주소 제한 | 과도한 요청을 보내는 IP 주소 자동 차단[29] |
CPU 조절 | 응용 프로그램 풀별 CPU 사용량 제어[30] |
IIS 8.5는 대규모 호스팅 환경과 마이크로소프트의 클라우드 서비스에 맞춰 성능을 개선하고, 로깅 및 문제 해결 기능을 강화했다.
과거 IIS 버전에는 SMTP 서버 기능이 포함되어 있어, 윈도우 서버 2003의 POP3 서버 기능과 함께 간단한 메일 서버를 구성할 수 있었다. 이는 주로 IIS 오류 정보를 관리자에게 알리기 위한 용도였으며, Exchange Server처럼 완전한 메일 서버 기능은 제공하지 않았다. SMTP 서버 기능은 IIS 7.0부터 제거되었다.
이 외에도 가상 도메인 등의 기능을 제공하지만, 다른 웹 서버 소프트웨어에 비해 권한 설정이 다소 복잡하다는 평가가 있다.[65]
3. 2. 인증 구조
IIS 5.0 이후 버전에서는 다음과 같은 인증 구조를 지원한다:- 기본 접근 인증
- 다이제스트 인증
- 통합 윈도우 인증
- .NET 패스포트 인증
IIS 6.0 버전부터는 다음과 같은 인증 메커니즘을 추가로 지원하거나 변경하였다:[19]
- 익명 인증
- 기본 접근 인증
- 다이제스트 인증
- 통합 윈도우 인증
- UNC 인증
- .NET 패스포트 인증 (Windows Server 2008 및 IIS 7.0 버전부터 제거됨)[20]
- 인증서 인증
IIS 7.0 버전은 모듈식 아키텍처를 채택하여, 확장 기능이라고도 불리는 모듈을 개별적으로 추가하거나 제거할 수 있다. 이를 통해 특정 기능에 필요한 모듈만 설치하여 사용할 수 있다. IIS 7은 기본 설치 시 서버가 요청을 처리하는 데 사용하는 개별 기능인 기본 모듈들을 포함한다.[21] IIS 6.0과 IIS 7 사이에는 인증 방식에 약간의 변경이 있었다. 특히, 이전 버전에서 "IUSR_{machinename}" 형태였던 익명 사용자 계정 이름이 Vista 및 이후 운영 체제에서는 "IUSR"이라는 기본 제공 계정으로 변경되었다. 또한 IIS 7에서는 각 인증 메커니즘이 자체 모듈로 분리되어 필요에 따라 설치하거나 제거할 수 있게 되었다.[20]
IIS 7.5 버전에서는 다음과 같은 보안 기능이 추가되거나 향상되었다:[22]
- 클라이언트 인증서 매핑
- IP 보안
- 요청 필터링
- URL 권한 부여
3. 3. 모듈식 아키텍처 (IIS 7.0 이후)
윈도우 비스타 및 윈도우 서버 2008에 포함된 IIS 7.0부터 모듈식 소프트웨어 아키텍처가 도입되었다. 이는 기존의 모든 서비스를 한 번에 가동시키는 모놀리딕 방식과 달리, 핵심 웹 서버 엔진을 중심으로 필요한 기능을 제공하는 모듈을 선택적으로 추가하는 방식이다. 이 구조는 필요한 기능만 선택적으로 활성화하여 서버 자원을 효율적으로 사용하게 하고, 사용자가 직접 개발한 모듈(custom module)을 추가하여 기능을 확장할 수도 있게 한다.[21]마이크로소프트는 IIS 7.0 배포 시 기본적인 모듈들을 포함하며, 추가적인 모듈은 온라인을 통해 제공한다.[74] IIS 7.0과 함께 제공되는 기본 모듈의 종류는 다음과 같다.
IIS 7.0에서는 인증 처리 방식에도 변화가 있었다. IIS 6.0에서 지원하던 다양한 인증 메커니즘(익명, 기본 액세스 인증, 다이제스트 액세스 인증, 통합 Windows 인증, UNC 인증, 인증서 인증 등[19])이 IIS 7.0에서는 각각 별도의 모듈로 분리되어, 필요에 따라 설치하거나 제거할 수 있게 되었다.[20] 또한, 익명 인증에 사용되던 "IUSR_{machinename}" 사용자 계정은 윈도우 비스타 및 이후 운영체제에서 기본 제공 계정인 "IUSR"로 변경되었다.[20] .NET Passport 인증은 윈도우 서버 2008 및 IIS 7.0부터 지원되지 않는다.[20]
IIS 7.5 버전에서는 다음과 같은 보안 관련 기능들이 추가되거나 향상되었다.[22]
- 클라이언트 인증서 매핑
- IP 보안
- 요청 필터링
- URL 권한 부여
IIS 8.0은 성능 향상과 관리 편의성에 중점을 둔 새로운 기능들을 선보였다. 주요 기능은 다음과 같다.
- 응용 프로그램 초기화: 서버 시작 시 특정 웹 애플리케이션을 미리 실행시켜 사용자의 첫 응답 시간을 단축하는 기능.[23] 초기화 과정 중에는 설정된 스플래시 페이지를 사용자에게 보여줄 수도 있다.[23]
- ASP.NET 4.5 지원: ASP.NET 4.5를 기본적으로 지원하며, ASP.NET 3.5 버전과의 호환성을 위한 설정 옵션도 제공한다.[24]
- 중앙 집중식 SSL 인증서 지원: SSL 인증서를 파일 공유 폴더에 저장하고 관리하여 인증서 관리 편의성을 높인 기능.[25]
- NUMA 하드웨어 지원: NUMA 시스템 환경에서 성능을 최적화하기 위한 설정 옵션 제공.[26]
- WebSocket 프로토콜 지원[27]
- 서버 이름 표시(SNI): TLS의 확장 기능인 SNI를 지원하여, 하나의 IP 주소에 여러 도메인 이름을 가진 SSL 웹사이트를 호스팅할 수 있게 되었다.[28]
- 동적 IP 주소 제한: 비정상적으로 많은 요청을 보내는 IP 주소나 대역을 자동으로 차단하는 기능.[29]
- CPU 조절: 각 응용 프로그램 풀별로 CPU 사용량을 제한하여 다중 테넌트 환경에서의 성능을 관리하는 기능.[30]
IIS 8.5는 특히 대규모 호스팅 환경 및 마이크로소프트의 클라우드 서비스 운영에 맞춰 성능을 개선하고, 로깅 및 문제 해결 기능을 강화했다. 주요 기능은 다음과 같다.
- 유휴 작업자 프로세스 페이지 아웃: 오랫동안 사용되지 않은 사이트의 프로세스를 디스크로 이동시켜(페이지 아웃) 서버 메모리 사용량을 줄이는 기능.[31]
- 동적 사이트 활성화: 요청을 받은 사이트만 수신 대기 큐를 등록하여 자원 사용 효율성을 높이는 기능.[32]
- 향상된 로깅: IIS 로그에 서버 변수, 요청 헤더, 응답 헤더 등 더 상세한 정보를 기록하는 기능.[33]
- ETW 로깅: 윈도우용 이벤트 추적(ETW) 공급자를 통해 실시간으로 로그 데이터를 수집하고 분석하는 기능.[34]
- 자동 인증서 재바인딩: SSL 인증서 갱신 시 자동으로 감지하여 사이트에 다시 적용하는 기능.
3. 4. 확장 기능
IIS 7.0은 윈도우 비스타와 윈도우 서버 2008에 포함되어 있으며, 모듈(modular) 방식의 소프트웨어 아키텍처를 특징으로 한다. 기존의 모든 서비스를 한 번에 가동하는 방식과 달리, IIS 7.0은 핵심 웹 서버 엔진에 필요한 기능을 제공하는 모듈을 추가하는 구조이다. 이를 통해 사용자는 필요한 기능만 선택적으로 활성화하고, 직접 만든 모듈을 추가하여 기능을 확장할 수 있다.마이크로소프트는 IIS 7.0과 함께 기본적인 모듈들을 제공하며[74], 온라인을 통해 추가 모듈을 다운로드할 수도 있다. 기본 제공 모듈에는 다음과 같은 종류가 있다:
IIS는 주요 버전 출시 사이에도 새로운 기능 모듈을 출시하여 기능을 확장한다. IIS 7.5에서 사용할 수 있는 대표적인 확장 기능은 다음과 같다.
- '''FTP 게시 서비스''': 웹 콘텐츠 제작자가 SSL 기반 인증 및 데이터 전송을 통해 IIS 7 웹 서버에 안전하게 콘텐츠를 게시할 수 있게 한다.[42]
- '''관리 팩''': ASP.NET 권한 부여, 사용자 지정 오류, FastCGI 구성, 요청 필터링 등 IIS 7 관리 기능에 대한 사용자 인터페이스(UI) 지원을 추가한다.[43]
- '''애플리케이션 요청 라우팅''': HTTP 헤더, 서버 변수, 부하 분산 알고리즘을 기반으로 HTTP 요청을 콘텐츠 서버로 전달하는 프록시 기반 라우팅 모듈을 제공한다.[44]
- '''데이터베이스 관리자''': IIS 관리자 내에서 로컬 및 원격 데이터베이스를 쉽게 관리할 수 있도록 지원한다.[45]
- '''미디어 서비스''': 미디어 제공 플랫폼을 IIS와 통합하여 풍부한 미디어 및 기타 웹 콘텐츠의 제공과 관리를 지원한다.[46]
- '''URL 재작성 모듈''': 웹 서버가 요청 URL을 처리하기 전에 규칙 기반으로 URL을 변경하는 메커니즘을 제공한다.[47]
- '''WebDAV''': 웹 제작자가 IIS 7 웹 서버에 안전하게 콘텐츠를 게시하고, 웹 관리자가 IIS 7 관리 도구를 사용하여 WebDAV 설정을 관리할 수 있게 한다.[48]
- '''웹 배포 도구''': IIS 6.0 및 IIS 7 서버 동기화, IIS 6.0에서 IIS 7로의 마이그레이션, 웹 애플리케이션의 IIS 7 서버 배포 기능을 제공한다.[49]
3. 5. IIS Express
'''IIS 익스프레스'''는 IIS의 경량(4.5MB–6.6MB) 버전으로, 독립 실행형 프리웨어 서버로 제공된다. Windows XP 서비스 팩 3 이상 및 이후 버전의 Microsoft Windows에 설치할 수 있다.[36] IIS 7.5 익스프레스는 HTTP 및 HTTPS 프로토콜만 지원한다. 이식성이 뛰어나며, 사용자별로 구성을 저장하고, 관리자 권한이 필요하지 않으며, 동일한 시스템에 있는 기존 웹 서버와의 충돌을 피하도록 설계되었다.[36]IIS 익스프레스는 별도로 다운로드하거나,[37] WebMatrix 또는 Visual Studio 2012 이상 버전에 포함되어 제공된다.[41] (Visual Studio 2010 및 이전 버전에서는 ASP.NET 앱을 개발하는 웹 개발자가 "카시니"(Cassini)라는 코드명의 ASP.NET 개발 서버를 사용했다.)[39] 기본적으로 IIS 익스프레스는 로컬 트래픽만 처리한다.[40][41]
IIS 익스프레스는 IIS에 비해 지원 기능이 적은 기존 "ASP.NET 개발 서버"(카시니) 대신, IIS의 모든 기능을 개발 환경에서 사용하기 위해 공개되었다. ASP.NET 개발 서버와 마찬가지로 IIS 설치가 필요 없으며, 기본적으로 localhost 연결 요청만 수락한다. 다만, 설정을 변경하면 localhost 이외의 연결 요청도 수락할 수 있다. 또한, 구 버전의 OS에서도 새로운 IIS의 기능을 사용할 수 있다는 장점이 있다.
IIS 7.5 버전에 대응하는 IIS Express 7.5, IIS 8.0 버전에 대응하는 IIS Express 8.0이 각각 공개되었다. Visual Studio 2010 서비스 팩 1부터 지원하기 시작했으며,[67] Visual Studio 2012부터는 기존의 ASP.NET 개발 서버를 대체했다.[68]
4. 사용 현황
넷크래프트에 따르면, 2014년 2월에 IIS는 "전체 사이트 시장 점유율" 32.80%를 기록하여 아파치 HTTP 서버 38.22%에 이어 세계에서 두 번째로 인기 있는 웹 서버였다. 넷크래프트는 IIS의 시장 점유율이 2012년부터 증가하는 추세를 보였다고 분석했다.[50] 그러나 2014년 2월 14일에 W3Techs는 다른 결과를 보여주었다. W3Techs에 따르면 IIS는 아파치 HTTP 서버(1위)와 Nginx 다음으로 세 번째로 많이 사용되는 웹 서버이다. 또한 W3Techs는 IIS 사용량이 2013년 2월부터 꾸준히 감소하는 추세를 보였다고 밝혔다.[51]
2017년 2월 넷크래프트 데이터에 따르면, IIS는 "상위 100만 개의 가장 많이 접속하는 사이트" 기준으로 시장 점유율 10.19%를 기록하여, 아파치 HTTP 서버(41.41%)와 Nginx(28.34%)에 이어 세계에서 세 번째로 인기 있는 웹 서버로 조사되었다.[52]
5. 보안
IIS 초기 버전인 4.0과 5.0은 코드 레드와 같은 웜의 공격을 유발한 심각한 보안 취약점을 가지고 있었다.[53][54] 특히 Windows 2000에서는 기본적으로 탑재되어 있어 님다 웜과 함께 큰 피해를 일으켰다. 이러한 초기 버전의 IIS는 다수의 보안 구멍이 빈번하게 발견되었다. 그러나 버전 6.0 및 7.0에서는 코드 레드 관련 취약점 문제는 보고되지 않았다.[59]
이에 마이크로소프트는 IIS 6.0에서 아키텍처를 대폭 변경하여 보안을 강화했다. 사전 설치된 ISAPI 핸들러의 동작을 변경하여 이전 버전(4.0 및 5.0)의 주요 취약점 원인을 제거하고 공격 표면을 줄였다.[55][54] 또한, 관리자의 명시적인 허가 없이는 IIS가 프로그램을 실행할 수 없도록 하는 "웹 서비스 확장" 기능을 추가했다. IIS 6.0부터는 모든 요청 처리 프로세스가 이전 버전의 관리자 권한이 있는 시스템 계정이 아닌,[56] 권한이 낮은 네트워크 서비스 계정으로 실행되어, 샌드박스 환경을 통해 시스템 전체의 보안을 높였다.[57] 더불어 정적 및 동적 콘텐츠 처리를 위한 더 엄격한 커널 HTTP 스택(http.sys
)을 도입했다.[58] 이러한 노력 덕분에 IIS 6.0은 발표 후 2007년 1월까지 단 3개의 취약점만 발견될 정도로 보안 수준이 향상되었으며, 안전성 확보를 위해 초기 상태에서는 설치되지 않도록 변경되었다.
보안 연구 기관 Secunia에 따르면, 2011년 6월 기준으로 IIS 7.0은 총 6개의 해결된 취약점을 가졌고,[59] IIS 6.0은 총 11개의 취약점 중 하나가 여전히 패치되지 않은 상태였다. 이 미해결 취약점의 심각도는 5점 만점에 2점으로 평가되었다.[59]
한편, 2007년 구글이 8천만 개 도메인을 대상으로 한 연구에서는 당시 시장 점유율이 23%였던 IIS 서버가 전 세계 멀웨어의 49%를 호스팅하고 있다고 발표했다. 이는 시장 점유율 66%인 아파치 HTTP 서버와 비슷한 수치였다. 연구는 이러한 문제의 원인 중 하나로 Windows 정품 인증을 받지 않아 보안 업데이트를 받지 못하는 경우를 지적했다.[60] 이에 대해 마이크로소프트는 2009년 4월 28일 블로그 게시물을 통해 정품 인증 여부와 관계없이 모든 사용자에게 보안 업데이트를 제공한다고 밝혔다.[61][62]
2013년 대량 감시 폭로를 통해 IIS가 완전 순방향 비밀 유지 (PFS) 지원에 취약하다는 점이 알려졌다. 특히 인터넷 익스플로러와 함께 사용할 경우, HTTPS 세션 설정에 사용된 장기 비대칭 비밀 키가 노출되면 과거 및 미래의 세션 키까지 알아내기 쉬워지는 문제가 있었다. 당시 PFS를 지원하는 주요 기술인 디피-헬만 키 교환 (DHE) 및 타원 곡선 디피-헬만 (ECDHE)은 파이어폭스, 오페라, 크로미움 등 다른 브라우저에서는 일부 사용되었으나(약 30%), 애플의 사파리 및 마이크로소프트 인터넷 익스플로러에서는 거의 사용되지 않았다(약 0%).[63]
마이크로소프트는 구 버전인 IIS 4.0, 5.0, 5.1 사용자를 위해 보안 강화 도구인 "IIS 록다운 위자드 툴"을 배포하여 보안 개선을 지원하고 있다.
참조
[1]
웹사이트
The Programming Languages Beacon, v10.0
http://www.lextrait.[...]
2010-02
[2]
웹사이트
Running IIS 6.1 as an Application Server (IIS 6.0)
https://www.microsof[...]
Microsoft
null
[3]
웹사이트
Getting started with the SEO Toolkit
https://learn.micros[...]
Microsoft
2024-04-11
[4]
웹사이트
Windows NT Internet Servers
http://support.micro[...]
Microsoft
2002-07-10
[5]
웹사이트
A Brief History of Microsoft on the Web
https://www.microsof[...]
Microsoft
1999-12-24
[6]
웹사이트
Chapter 1 - Overview of Internet Information Services 5.0
https://technet.micr[...]
2009-12-09
[7]
웹사이트
Chapter 2 - Managing the Migration Process
https://technet.micr[...]
2009-12-09
[8]
웹사이트
What's New In IIS 6.0?
http://www.devx.com/[...]
[9]
웹사이트
Introduction to IIS Architectures
https://docs.microso[...]
2019-08-29
[10]
웹사이트
IIS 7.0: Explore The Web Server For Windows Vista and Beyond
http://msdn.microsof[...]
[11]
웹사이트
What's New in Web Server (IIS) Role in Windows 2008 R2
https://technet.micr[...]
[12]
웹사이트
HTTP/2 on IIS
https://blogs.iis.ne[...]
Microsoft
2015-09-11
[13]
웹사이트
New Features Introduced in IIS 10.0
https://docs.microso[...]
Microsoft
2022-06-14
[14]
웹사이트
New Features Introduced in IIS 10.0 Version 1709
https://docs.microso[...]
Microsoft
2022-05-19
[15]
웹사이트
New Features Introduced in IIS 10.0, version 1809
https://github.com/M[...]
Microsoft
[16]
웹사이트
Netscape goes to jail, does not collect $200
http://www.infoworld[...]
InfoWorld
null
[17]
웹사이트
Differences Between NT Server and Workstation Are Minimal
http://oreilly.com/n[...]
O'Reilly Media
null
[18]
웹사이트
Authentication Methods Supported in IIS 6.0 (IIS 6.0)
https://www.microsof[...]
Microsoft
null
[19]
웹사이트
Changes Between IIS 6.0 and IIS 7 Security
http://learn.iis.net[...]
Microsoft
2010-02-07
[20]
웹사이트
Introduction to IIS 7 Architecture
http://learn.iis.net[...]
Microsoft
2010-08-11
[21]
웹사이트
Available Web Server (IIS) Role Services in IIS 7.5
https://technet.micr[...]
Microsoft
2010-01-27
[22]
웹사이트
IIS 8.0 Application Initialization
http://www.iis.net/l[...]
Microsoft
2012-02-29
[23]
웹사이트
IIS 8.0 ASP.NET configuration management
http://www.iis.net/l[...]
Microsoft
2012-02-29
[24]
웹사이트
IIS 8.0 Centralized SSL certificate support
http://www.iis.net/l[...]
Microsoft
2012-02-29
[25]
웹사이트
IIS 8.0 Multicore Scaling on NUMA Hardware
http://www.iis.net/l[...]
Microsoft
2012-02-29
[26]
웹사이트
IIS 8.0 WebSocket protocol support
http://www.iis.net/l[...]
Microsoft
2012-11-28
[27]
웹사이트
IIS 8.0 Server Name Indication
http://www.iis.net/l[...]
Microsoft
2012-02-29
[28]
웹사이트
IIS 8.0 Dynamic IP Address Restrictions
http://www.iis.net/l[...]
Microsoft
2012-02-29
[29]
웹사이트
IIS 8.0 CPU Throttling
http://www.iis.net/l[...]
Microsoft
2012-02-29
[30]
웹사이트
Idle Worker-process Page Out
http://blogs.technet[...]
Microsoft
2013-06-26
[31]
웹사이트
Dynamic Site Activation
http://blogs.technet[...]
Microsoft
2013-07-03
[32]
웹사이트
Enhanced Logging
http://blogs.technet[...]
Microsoft
2013-07-10
[33]
웹사이트
ETW Logging
http://blogs.technet[...]
Microsoft
2013-07-15
[34]
웹사이트
Automatic Certificate rebind
http://blogs.technet[...]
Microsoft
2013-09-03
[36]
웹사이트
IIS Express FAQ
http://www.iis.net/l[...]
Microsoft
2011-01-14
[37]
웹사이트
Internet Information Services (IIS) 7.5 Express
https://www.microsof[...]
Microsoft
2011-01-10
[38]
웹사이트
IIS Express Overview
http://learn.iis.net[...]
Microsoft
2011-01-14
[39]
웹사이트
Introducing IIS Express
http://weblogs.asp.n[...]
Microsoft
2010-06-29
[40]
웹사이트
Handling URL Binding Failures in IIS Express
http://www.iis.net/l[...]
Microsoft
2011-01-12
[41]
웹사이트
3 Introducing Model View Controller (MVC)
https://mva.microsof[...]
Microsoft
2015-09-15
[42]
웹사이트
FTP Publishing Service
http://www.iis.net/d[...]
Microsoft
2011-07-17
[43]
웹사이트
Administration Pack
http://www.iis.net/d[...]
Microsoft
2011-07-17
[44]
웹사이트
Application Request Routing
http://www.iis.net/d[...]
Microsoft
2011-07-17
[45]
웹사이트
Database Manager
http://www.iis.net/d[...]
Microsoft
2011-07-17
[46]
웹사이트
IIS Media Services
https://azure.micros[...]
Microsoft
2011-07-30
[47]
웹사이트
URL Rewrite
http://www.iis.net/d[...]
Microsoft
2011-07-17
[48]
웹사이트
WebDAV Extension
http://www.iis.net/d[...]
Microsoft
2011-07-17
[49]
웹사이트
Web Deploy 2.0
http://www.iis.net/d[...]
Microsoft
2011-07-17
[50]
웹사이트
February 2014 Web Server Survey
http://news.netcraft[...]
Netcraft
2014-02-03
[51]
웹사이트
Usage statistics and market share of Microsoft-IIS for websites
http://w3techs.com/t[...]
Q-Success
[52]
웹사이트
February 2017 Web Server Survey
https://news.netcraf[...]
Netcraft
2017-02-27
[53]
웹사이트
CA-2001-13 Buffer Overflow In IIS Indexing Service DLL
http://www.cert.org/[...]
Computer emergency response team
2002-01-17
[54]
서적
Web commerce security: design and development
Wiley Pub
2011
[55]
웹사이트
IIS Installs in a Locked-Down Mode (IIS 6.0)
http://www.microsoft[...]
Microsoft
2011-07-01
[56]
웹사이트
How To: Run Applications Not in the Context of the System Account in IIS (Revision 5.1) Microsoft Corporation
https://support.micr[...]
2008-07-07
[57]
서적
IIS 6: the complete reference
McGraw-Hill Professional
2011-07-12
[58]
서적
IIS 6: the complete reference
McGraw-Hill Professional
2011-07-12
[59]
웹사이트
Vulnerability Report: Microsoft Internet Information Services (IIS) 6
http://secunia.com/a[...]
Secunia ApS
2011-07-01
[60]
뉴스
Web Server Software and Malware
http://googleonlines[...]
[61]
뉴스
Windows Pirates Encouraged to Install Security Updates
http://content.usato[...]
2010-02
[62]
웹사이트
Who Gets Windows Security Updates?
http://windowsteambl[...]
Microsoft
2009-04-27
[63]
뉴스
SSL: Intercepted today, decrypted tomorrow
http://news.netcraft[...]
Netcraft
2013-06-25
[64]
웹사이트
クライアント版Windowsに付属するIISの制限
https://atmarkit.itm[...]
"@IT"
2014-04-13
[65]
문서
NTFS의 ACL 등, Windows NT계 시스템에서의 퍼미션 관리에 대해 일정한 지식을 필요로 한다.
[66]
웹사이트
マイクロソフトがWWWサーバーソフト「IIS」の日本語版を無償公開
https://pc.watch.imp[...]
PC Watch
1996-05-03
[67]
웹사이트
Visual Studio 2010 Service Pack 1 について
http://support.micro[...]
마이크로소프트
2014-04-13
[68]
웹사이트
Visual Studio 2012 の新機能
http://msdn.microsof[...]
마이크로소프트
2014-04-13
[69]
웹사이트
https://news.netcraf[...]
[70]
웹인용
보관된 사본
https://www.netcraft[...]
2017-11-15
[71]
웹인용
Internet Information Services 5.1
http://www.microsoft[...]
2007-07-20
[72]
웹인용
FastCGI Extension for IIS6.0 and IIS5.1 - Go Live
http://www.iis.net/d[...]
2007-09-27
[73]
웹인용
FastCGI for IIS7
http://www.iis.net/d[...]
2007-09-27
[74]
웹인용
IIS DownloadCenter
http://www.iis.net/d[...]
2007-09-27
[75]
문서
일부 Windows Whistler Server 빌드 2***(베타 버전)에도 들어있다.
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com