소개
IIS는 Internet Information Server의 약자로 Microsoft에서 주로 홍보하는 웹 서버입니다. 현재 사용자가 일반적으로 사용하는 버전은 Windows 2003 또는 이전 IIS 5에 포함된 IIS입니다. IIS는 Window NT Server와 완전히 통합되어 있습니다. Windows NT Server 및 NTFS(NT 파일 시스템, NT 파일 시스템)에 내장된 보안 기능을 사용하여 강력하고 유연하며 안전한 인터넷 및 인트라넷 사이트를 구축할 수 있습니다. IIS는 서버 기능을 확장하는 데 사용할 수 있는 ISAPI를 지원합니다. IIS는 HTTP, FTP 및 SMTP를 지원하는 통합 서버 서비스 세트를 구축하도록 설계되었으며 기존 제품과 함께 빠르고 통합적이며 확장 가능한 인터넷 서버를 제공할 수 있습니다.
새로운 IIS7은 Windows Server 2008에 더 많은 보안 설계를 추가했으며 이제 사용자는 Microsoft의 보안 설계를 사용할 수 있습니다. NET 언어를 사용하여 서버 측 애플리케이션을 실행합니다. 또한 IIS7의 새로운 기능을 통해 모듈을 생성하면 시스템에서 실행되는 코드 수가 줄어들고 해커 스크립트의 공격을 받을 가능성이 최소화됩니다. 보안 관점에서 보면 이는 IIS가 관여하는 새로운 영역입니다. 새로운 기능이 너무 많아서 Windows Server 2008의 IIS7을 열망하게 됩니다. IIS의 가장 핵심적이고 향상된 5가지 기능을 살펴보겠습니다.
완전 모듈식 IIS
널리 사용되는 Apache 웹 서버 소프트웨어에 대해 잘 알고 계시다면 가장 큰 장점은 사용자 정의에 있다는 점을 아실 것입니다. 정적 HTML만 표시하도록 구성하거나 다양한 모듈을 동적으로 로드하여 다양한 유형의 서비스 콘텐츠를 허용할 수 있습니다. . 그러나 현재 사용되는 IIS에서는 이 기능을 제대로 구현하지 못하여 두 가지 문제가 발생했습니다. 첫째, 사용자가 사용하지 않는 기능이 코드에 너무 많이 영향을 미치기 때문에 성능이 때때로 사용자를 만족시킬 수 없습니다. 기본 인터페이스가 너무 많으면 보안 위험이 있습니다.
새로운 IIS7은 이 문제를 완전히 해결합니다. IIS7은 핵심 계층부터 다양한 기능을 갖춘 40개 이상의 모듈로 구분됩니다. 유효성 검사, 캐싱, 정적 페이지 처리, 디렉터리 목록 등의 기능이 모두 모듈화되어 있습니다. 이는 웹 서버가 운영상의 필요에 따라 해당 기능 모듈을 설치할 수 있음을 의미합니다. 보안 위험이 있을 수 있고 필요하지 않은 모듈은 더 이상 메모리에 로드되지 않으며, 프로그램의 공격 표면이 줄어들고 성능도 향상됩니다.
텍스트 파일을 통해 구성된 IIS7
IIS7의 또 다른 주요 기능은 관리 도구가 새로운 분산 web.config 구성 시스템을 사용한다는 것입니다. IIS7에는 더 이상 단일 메타베이스 구성 저장소가 없지만 ASP.NET에서 지원하는 것과 동일한 web.config 파일 모델을 사용하므로 사용자는 사이트 수에 관계없이 웹 응용 프로그램의 콘텐츠와 함께 구성을 저장하고 배포할 수 있습니다. web.config 파일을 통해 직접 구성할 수 있으므로 회사에서 다수의 웹사이트를 연결해야 할 경우 관리자는 해당 사이트의 web.config 파일만 복사하면 되기 때문에 시간이 얼마 걸리지 않을 수 있습니다. 미리 준비된 후 설정을 지정하면 웹 애플리케이션과 함께 원격 서버로 전송되므로 구성을 사용자 정의하기 위해 관리 스크립트를 작성할 필요가 없습니다.
동시에 관리 도구는 "위임된 관리"를 지원합니다. 사용자는 식별 가능한 일부 web.config 파일을 기업의 다른 직원에게 위임할 수 있습니다. 물론 이 경우 관리 도구에 표시되는 내용은 고객의 설정입니다. 전체 컴퓨터의 설정이 아닌 자신의 웹 사이트를 관리하므로 IIS 관리자는 사이트의 모든 작은 변경 사항에 대해 걱정할 필요가 없습니다. 버전 관리도 마찬가지로 간단합니다. 사용자는 조직에서 서로 다른 버전의 텍스트 파일만 유지하면 됩니다. 그런 다음 필요할 때 사용하세요. 필요할 때 복원하면 됩니다.
Microsoft 제품은 항상 사용자 친화적인 인터페이스를 자랑해 왔습니다. 그러나 IT 전문가를 위해 설계된 IIS7 서버로서 이는 분명하지 않은 것 같습니다. IIS 4에서 IIS 6까지 사용자에게 제공되는 관리 콘솔은 그리 쉽지 않습니다. 조작이 편리하고 기술적 한계 및 기타 이유로 인해 사용자가 통일된 인터페이스를 통해 모든 관리 작업을 수행하기가 어렵습니다.
MMC 그래픽 모드 관리 도구
[컷 페이지]새로운 IIS 7에서는 이 문제가 크게 개선되었습니다. 이제 사용자는 관리 도구를 사용하여 Windows 클라이언트 컴퓨터에서 원하는 수의 웹 사이트를 만들고 관리할 수 있습니다. 더 이상 단일 웹 사이트로 제한되지 않습니다. 동시에 이전 버전의 IIS와 비교하여 IIS7의 관리 인터페이스는 더 친숙하고 강력합니다. 또한 IIS7의 관리 도구는 .NET 및 Windows Forms로 작성되었습니다. 확장될 수 있습니다. 이는 사용자가 자신의 UI 모듈을 관리 도구에 추가하여 자신의 HTTP 런타임 모듈 및 구성 설정에 대한 관리 지원을 제공할 수 있음을 의미합니다.
IIS 7 보안 강화
마이크로소프트가 공격을 당하면 항상 보안 문제가 최우선이다. 사실 마이크로소프트가 보안에 무관심한 것은 아니다. 마이크로소프트는 워낙 거대한 전함이기 때문에 모든 비밀은 사라질 수밖에 없다. 모든 보안 의견에 제안합니다. IIS의 보안 문제는 주로 .NET 프로그램의 효과적인 관리 및 권한 관리에 중점을 둡니다. IIS 7은 IIS 서버에서 발생한 보안 문제에 대응하여 향상된 기능을 제공합니다.
새 버전에서는 IIS 및 ASP.NET 관리 설정이 단일 관리 도구로 통합되었습니다. 이를 통해 사용자는 여러 대화 상자를 거치지 않고 한 곳에서 인증 및 권한 부여 규칙을 보고 설정할 수 있습니다. 이는 관리자에게 보다 일관되고 명확한 사용자 인터페이스는 물론 웹 플랫폼의 통합 관리 경험을 제공합니다.
IIS7에서 .NET 응용 프로그램은 인터넷 서버 API 확장으로 전송되는 대신 IIS 코드를 통해 직접 실행되므로 가능한 위험이 줄어들고 동시에 관리 도구에는 ASP.NET 3.0 구성원 및 성능이 향상됩니다. 역할 관리 시스템은 관리 인터페이스에 대한 지원을 제공합니다. 이는 사용자가 관리 도구에서 역할과 사용자를 생성 및 관리할 수 있을 뿐만 아니라 사용자에게 역할을 할당할 수도 있음을 의미합니다. 다음은 IIS 7의 전체 구성 요소 분석 다이어그램입니다.
IIS 7 전체 구성 요소 배포 다이어그램
IIS 7용 Windows PowerShell 관리 환경
스크립트 프로그래밍에 관심이 있거나 Exchange Server 2007에 익숙한 친구라면 Windows PowerShell도 잘 알고 있을 것입니다. Windows PowerShell은 시스템 관리자를 위해 특별히 설계된 Windows 명령줄 셸입니다. 이 셸에는 독립적으로 또는 조합하여 사용할 수 있는 대화형 프롬프트와 스크립팅 환경이 포함되어 있습니다. 스크립트 관리를 좋아하는 IT 전문가라면 Windows PowerShell을 사용하면 확실히 마음에 들 것입니다. IIS 서버의 경우 Windows PowerShell은 포괄적인 관리 기능도 제공할 수 있습니다.
[컷 페이지]그러나 PowerShell은 Windows Server 2003에서 실행되는 IIS6도 관리할 수 있지만 IIS7은 특별히 PowerShell 명령줄을 통해 관리됩니다. 여기에는 새로운 APPCMD 기능이 포함되어 있습니다. APPCMD는 표준 명령줄 인터페이스를 통해 사이트를 생성하고 구성합니다. 이러한 명령줄 도구의 응용 프로그램 시나리오는 사용자 환경에서 사용되는 경우 매우 일반적입니다. 큰 장점.
IS 7.0은 Windows Vista 클라이언트에 포함되어 있으며 홈 버전의 운영 체제에도 IIS 7.0이 함께 제공됩니다(XP Professional에서만 사용할 수 있는 IIS 5.1과 다름). 서버의 IIS 7.0 버전은 올해 후반에 Windows Server 2008 서버와 함께 출시될 예정이며 더욱 풍부한 호스트 지원, 보안 FTP 지원 및 내장된 웹 팜 배포 지원을 포함한 다양한 추가 배포 기능을 추가할 것입니다.
웹 팜 지원은 서버를 실행하는 데 필요한 모든 코딩, 구성, 콘텐츠 및 키가 포함된 파일 공유에 웹 응용 프로그램을 배포할 수 있으므로 특히 유용합니다. 그런 다음 구성 설정(바인딩, 가상 디렉터리, 응용 프로그램 풀 설정 등 포함)과 응용 프로그램 콘텐츠를 동적으로 로드하기 위해 해당 파일 공유를 가리키기만 하면 상태 비저장, 구성 자유 웹 서버를 웹 팜에 추가할 수 있습니다. 이를 통해 여러 컴퓨터에 걸쳐 응용 프로그램을 케이크 조각으로 확장할 수 있으므로 구성 및 응용 프로그램 배포를 위한 복제 방법이 필요하지 않습니다(파일을 파일 공유에 복사하기만 하면 웹 팜의 모든 컴퓨터가 변경 사항을 즉시 파일로 로드합니다).
Windows Server 2008의 베타 3 릴리스는 실시간 라이선스를 지원하므로 곧 이 기능을 활용할 수 있습니다. 우리는 이미 IIS 7.0 클러스터에서 Windows Server 2008을 실행하고 있으므로 여러분은 혼자가 아닙니다!
Windows PowerShell 관리 다이어그램
IIS7.0 마이그레이션
IIS7.0에서 웹사이트를 마이그레이션하는 것은 IIS6.0보다 더 편리합니다. 왜냐하면 Apache 웹 서버의 가장 큰 장점은 맞춤형 관리이기 때문입니다. IIS7.0은 이제 Apache 개념을 사용하므로 해당 사이트의 구성 파일을 다른 IIS7.0에 복사할 수 있습니다. 자세한 내용은 위의 "텍스트 파일을 통해 구성된 IIS7" 및 "IIS 7의 Windows PowerShell 관리 환경"을 참조하세요.
[컷 페이지]ASP.NET과 IIS 7.0의 통합
이전 버전의 IIS에서는 개발자가 서버 기능을 확장하기 위해 ISAPI 확장/필터를 작성해야 했습니다. ISAPI는 작성하기가 어려울 뿐 아니라 서버에 연결하는 방법도 매우 제한되어 있으며 개발자가 이를 사용자 정의할 수 있습니다. 예를 들어 ISAPI 확장에서는 URL 재작성 코드를 구현할 수 없습니다(참고: ASP.NET은 ISAPI 확장으로 구현됨). ISAPI 필터로 장기 실행 코드를 작성하면 웹 서버의 I/O 스레드가 묶이게 됩니다. 이것이 요청의 필터 실행 단계 동안 관리 코드가 실행되지 않도록 하는 이유입니다.
IIS7의 핵심 IIS 처리 엔진에 대한 아키텍처 수준의 주요 변경 사항 중 하나는 새로운 모듈식 요청 파이프라인 아키텍처를 통해 매우 풍부한 확장성을 가능하게 한다는 것입니다. 이제 웹 서버에 HTTP 확장성 모듈을 등록하여 HTTP 요청의 수명 주기 중 어디에서나 코드를 작성할 수 있습니다. 이러한 확장성 모듈은 네이티브 C++ 코드 또는 .NET 관리 코드를 사용하여 작성할 수 있습니다(기존 ASP.NET System.Web.IHttpModule 인터페이스를 사용하여 이를 달성할 수 있음).
모든 "내장" IIS7 기능(인증, 권한 부여, 정적 파일 제공, 디렉터리 목록 지원, 기본 ASP, 로깅 등)은 이제 이 공용 모듈식 파이프라인 API를 사용하여 구현됩니다. 이는 이러한 IIS7 "내장" 기능을 제거하고 이를 사용자 고유의 구현으로 대체/확장할 수 있음을 의미합니다.
[컷 페이지]IIS 7.0의 ASP.NET 자체도 ISAPI 구현에서 IIS7 파이프라인에 직접 연결된 모듈로 변경되었습니다.
IIS6.0과 IIS7.0 비교 차트
이는 다음과 같은 많은 이점을 제공합니다.
1) 이제 서버에 대한 모든 요청(예: .htm, .php, .jsp 파일)에 대해 ASP.NET 양식 인증, 구성원/역할 및 기타 기능을 사용할 수 있습니다.
2) 이제 웹 요청의 URL을 쉽게 다시 작성하거나 모든 종류의 흥미로운 방식으로 요청을 수정할 수 있습니다.
3) VB 또는 C#을 사용하여 기존 IIS 기능을 대체하거나 확장할 수 있습니다. 예를 들어 내장 디렉터리 목록 모듈을 제거하고 자체 모듈을 연결할 수 있습니다.
이는 .NET 개발자에게 무한한 확장 가능성을 열어줍니다.
IIS 7.0의 6가지 새로운 기능:
1) 모듈형 네트워크 코어를 통해 사용자는 특정 기능을 추가하고 삭제할 수 있습니다. 서비스 통계 구성 요소를 사용하려면 몇 가지 모듈(ISAPI 제외)만 필요합니다.
2) 로컬 관리 애플리케이션에 해당하는 통합 표준 HTTP 파이프라인. 사용자는 기존 ASP 웹 페이지에 양식 기반 인증 시스템을 사용할 수 있습니다.
3) 사용자는 자신의 IHttpModule 및 IHttpHandler를 생성하여 통합 파이프라인에 삽입할 수 있습니다.
4) ASP.NET 설정 시스템을 활용하는 새로운 분산 XML 설정 시스템입니다.
5) 새로운 런타임 상태 및 추적 기능을 포함하여 진단 및 문제 해결 메커니즘이 개선되었습니다.
6) 확장 가능한 새로운 작업 중심 관리자 사용자 인터페이스.
전체적으로 IIS 7은 웹 관리자와 웹 애호가에게 더욱 풍부하고 사용하기 쉬운 관리 도구를 제공할 것입니다. 새로운 IIS7에서는 관리 측면과 보안 측면 모두 완전히 새롭게 디자인되었습니다. IIS7을 사용하면 개인 사용자는 자신의 사이트를 더 빠르고 쉽게 구축할 수 있고, 기업 사용자는 자신만의 웹 환경을 유지 관리할 수 있습니다. 더욱 포괄적이고 안전하게. Windows Server 2008이 다가옴에 따라 IIS7 관리에 대한 소개가 점점 더 많아질 것이라고 믿습니다. 새 버전이 우리에게 실질적인 변화를 가져왔는지, 아니면 단순히 IIS 서버 기능이 향상되었는지 기다려 보겠습니다.
[컷 페이지]새로운 IIS 7에서는 이 문제가 크게 개선되었습니다. 이제 사용자는 관리 도구를 사용하여 Windows 클라이언트 컴퓨터에서 원하는 수의 웹 사이트를 만들고 관리할 수 있습니다. 더 이상 단일 웹 사이트로 제한되지 않습니다. 동시에 이전 버전의 IIS와 비교하여 IIS7의 관리 인터페이스는 더 친숙하고 강력합니다. 또한 IIS7의 관리 도구는 .NET 및 Windows Forms로 작성되었습니다. 확장될 수 있습니다. 이는 사용자가 자신의 UI 모듈을 관리 도구에 추가하여 자신의 HTTP 런타임 모듈 및 구성 설정에 대한 관리 지원을 제공할 수 있음을 의미합니다.
IIS 7 보안 강화
마이크로소프트가 공격을 당하면 항상 보안 문제가 최우선이다. 사실 마이크로소프트가 보안에 무관심한 것은 아니다. 마이크로소프트는 워낙 거대한 전함이기 때문에 모든 비밀은 사라질 수밖에 없다. 모든 보안 의견에 제안합니다. IIS의 보안 문제는 주로 .NET 프로그램의 효과적인 관리 및 권한 관리에 중점을 둡니다. IIS 7은 IIS 서버에서 발생한 보안 문제에 대응하여 향상된 기능을 제공합니다.
새 버전에서는 IIS 및 ASP.NET 관리 설정이 단일 관리 도구로 통합되었습니다. 이를 통해 사용자는 여러 대화 상자를 거치지 않고 한 곳에서 인증 및 권한 부여 규칙을 보고 설정할 수 있습니다. 이는 관리자에게 보다 일관되고 명확한 사용자 인터페이스는 물론 웹 플랫폼의 통합 관리 경험을 제공합니다.
IIS7에서 .NET 응용 프로그램은 인터넷 서버 API 확장으로 전송되는 대신 IIS 코드를 통해 직접 실행되므로 가능한 위험이 줄어들고 동시에 관리 도구에는 ASP.NET 3.0 구성원 및 성능이 향상됩니다. 역할 관리 시스템은 관리 인터페이스에 대한 지원을 제공합니다. 이는 사용자가 관리 도구에서 역할과 사용자를 생성 및 관리할 수 있을 뿐만 아니라 사용자에게 역할을 할당할 수도 있음을 의미합니다. 다음은 IIS 7의 전체 구성 요소 분석 다이어그램입니다.
IIS 7 전체 구성 요소 배포 다이어그램
IIS 7용 Windows PowerShell 관리 환경
스크립트 프로그래밍에 관심이 있거나 Exchange Server 2007에 익숙한 친구라면 Windows PowerShell도 잘 알고 있을 것입니다. Windows PowerShell은 시스템 관리자를 위해 특별히 설계된 Windows 명령줄 셸입니다. 이 셸에는 독립적으로 또는 조합하여 사용할 수 있는 대화형 프롬프트와 스크립팅 환경이 포함되어 있습니다. 스크립트 관리를 좋아하는 IT 전문가라면 Windows PowerShell을 사용하면 확실히 마음에 들 것입니다. IIS 서버의 경우 Windows PowerShell은 포괄적인 관리 기능도 제공할 수 있습니다.