본문 바로가기

컴퓨터/Computer Tip

[IIS] IIS 7.0 세팅가이드

[IIS] IIS 7.0 세팅가이드

★모듈 기반 구조의 웹 서버

사용자가 필요로 하는 기능 모듈들만을 조합하여 가볍고 안정적인 웹 서버를 구성하는 것이 가능해진다

웹 서버 코어와 약 40여 개의 모듈들로 구성

IIS 6.0에서는 인증 방법에 익명 접근이 가능하도록 설정된 상태에서 ASP.NET 폼 인증 구현

특별한 경우에 windows 통합 인증을 사용하거나 실제 구현 코드에 의존한 폼 인증 유형이 많음.

ISAPI 관련 기능, CGI 기능이 설치 되지만 비활성화 되었음.

  • 서버의 메모리에 로드, CPU 싸이클을 소모, 웹 서버의 요청 파이프라인상에 존재되어 성능을 감소, 악의적인 사용자로부터 공격 가능성

★메타베이스가 사라짐.

IIS의 설정 정보를 담고 있는 메타베이스 자체가 사라짐.

대신 IIS 7.0 구성 설정을 위한 디렉터리 %WinDir%\System32\inetSrv\config에 존재하는 applicationHost.config 파일과 각각의 web.config 파일(ASP.NET의 web.config파일)들이 기존에 메타베이스가 담당하던 역할을 담당.

  • 메타 베이스를 이용하도록 만들어진 기존 응용 프로그램들과 여러 가지 관리 스크립트들은 모두 정상적으로 작동하지 않음.

    Ex> 비주얼스튜디오, ADSI, WMI

  • 메타베이스에 대한 프로그램의 호출을 받아 IIS 7.0이 제공해주는 새로운 구성 설정 시스템으로 다시 전달해주는 IIS 6 Management Compatibility가 필요

★웹 서버 보안 URLScan 도구가 통합

웹 서버 보안와 관련하여 매우 강력한 기능들을 제공해주는 URLScan(관리자는 URLScan의 동작을 제어하고 서버가 처리하는 HTTP 요청의 유형을 제한)도구가 IIS 7.0일부도 통합되었다. – Request Filtering

★SMTP 관련 항목이 사라짐

IIS 7.0 설치

Windows Process Activation Service(이하 WAS)

서비스의 형태로 구현되어 있으며 과거 버전에서 World Wide Web 게시 서비스가 담당하던 응용 프로그램 풀 구성 설정과 작업자 프로세스 관리를 대신 처리

WAS 의 가장 큰 특징은 WWW 서비스와는 달리 HTTP 프로토콜 이외에도 TCP 나 명명된 파이프와 같은 비 HTTP 프로토콜까지 지원해주며, 이러한 프로토콜 모두에 대하여 같은 구성 설정 방법과 프로세스 모델을 사용할 수 있게 해준다는 점

마법사가 종료되면 다시 서버 관리자로 돌아가게 된다. 그리고 서버 관리자의 우측 패인에는 아까와는 달리 다양한 정보들이 출력되어 있을 것이다. 여기에는 각각의 역할들에 대한 서비스 상태, 그리고 실제 설치된 기능들 등의 정보들이 나타나며, 좌측 패인의 트리뷰에는 막 설치된 Web Server (IIS) 역할에 대응하는 트리 노드가 추가된다.

IIS(인터넷 정보 서비스)관리자

★ ASP.NET 영역 + IIS 영역 + 관리 영역

관리를 위한 세부 항목들이 모두 아이콘 형태

  • 각각의 기능들을 관리하기 위한 사용자 인터페이스도 분리된 형태로 제공되어야만 설치되지 않은 기능들을 위한 사용자 인터페이스를 유연하게 제거하는 것이 가능
  • IIS 7.0 이 제공하는 향상된 기능인 관리 위임 기능을 사용하는데 있어 이와 같이 기능별로 분리된 형태의 사용자 인터페이스가 더욱 유리하고 직관적이라는 점
  • IIS 7.0 에서는 각각의 기능별로 권한을 구분하여 다른 사용자에게 관리를 위임하는 것이 가능

★.NET 개발자들에게도 새로운 역량을 제공

ASP.NET 개발자들도 자신들에게 필요한 IIS 의 서버 모듈과 그에 해당하는 인터넷 정보 서비스 관리자의 관리 항목들을 직접 개발 가능

IIS 7.0 FTP 설치

먼저 Windows server 2008

  1. IIS 7.0 웹 서버 역할 추가

*** 역할추가 시에 제공하는 FTP서버 관련 모듈은 설치할 필요가 없습니다.

  1. FTP 관련 모듈 다운 및 설치

    http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1620

  • 다운로드 받은 설치 파일은 .msi 파일의 형태를 띄고 있으며, 롱혼 서버 베타 3 상에서 단순히 관리자 권한으로 실행시키기만 하면 설치가 진행
  • IIS 7.0 이상 버전에서 동작
  • IIS 7.0 에 기본적으로 포함된 IIS 6.0 기반의 FTP 서비스가 이미 설치되어 있다면 이를 먼저 제거한 뒤에 FTP7 을 설치하는 것을 권장

설치할 구성요소를 선택(여기서는 모든 구성요소 선택)

설치 완료 후에 IIS server 재시작

IIS(인터넷 정보 서비스)관리자 영역에 FTP 추가됨.

Actions 패인에서 Add FTP Publishing 링크를 클릭

Add FTP Site Publishing 마법사가 나타나면:

  1. FTP 사이트의 IP 주소를 지정하려면 일반적으로 IP Address 드롭다운 목록 상자에서 주소를 선택하거나 기본적으로 선택되어 있는 "All Unassigned." 를 그대로 사용하면 됩니다. 그러나, 이 미리보기에서는 나중에 관리자 계정을 사용하여 로그인을 해 볼 것이므로, 만약 서버에 대한 접근을 확실하게 제한하고 싶다면 IP Address 에 "127.0.0.1" 을 입력하여 로컬 루프백 IP 주소를 지정하십시오.
  2. FTP 사이트의 포트를 지정하기 위해 Port 텍스트 박스에 TCP/IP 포트를 입력합니다. 이 미리보기에서는 기본 포트인 21 번 포트를 사용합니다.
  3. 이 미리보기에서는 가상 호스트 이름을 사용하지 않으므로 Virtual Host 텍스트 박스는 공란으로 비워둡니다.
  4. Certificates 드롭다운 목록 상자의 값을 "Not Selected" 로 지정하고, Require SSL 옵션의 Allow SSL 체크합니다.
  5. 작업을 모두 마쳤으면, Next 버튼을 클릭합니다.

마법사의 다음 페이지에서는:

  1. Authentication 설정에서 Basic 을 체크합니다.
  2. Authorization 설정에서:
    1. Allow access to 드롭다운 박스의 값을 "Specified users" 로 지정하고,
    2. 사용자 이름으로 "administrator" 를 입력합니다.
    3. Permissions 옵션은 Read 와 Write 를 모두 체크합니다.
  3. 작업을 모두 마쳤으면, Finish 버튼을 클릭합니다.

FTP에서 IIS 자체 계정을 이용하여 사용자 생성 in IIS 7.0

우선 서버 관리자의 IIS(웹서버)역할 추가에서 관리 서비스 설치

  • 관리 서비스 설치를 통해서 다음 항목을 사용할 수 있음.

관리 서비스 항목에서 ID자격 증명을 Windows 자격 증명 또는 IIS 관리자 자격증명 체크

인증 확장을 위해서, Network Service 계정은 COM 프로세스를 사용합니다. 이를 위해 Network Service 계정에 대해서 몇가지 권한을 부여할 필요가 있습니다.

1. IIS Config 폴더에 Read 권한을 부여해야 합니다.
- 명령어 프롬프트에서 CACLS "%SystemDrive%\Windows\System32\Inetsrv\Config" /T /G "Network Service":R /E

2. "Temporary ASP.NET Files" 폴더에 Change 권한을 부여해야 합니다.
- 명령어프롬프트에서 CACLS"%SystemDrive%\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files" /G "Network Service":C /E /T (x86)
- 명령어 프롬프트에서 CACLS"%SystemDrive%\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files" /G "Network Service":C /E /T (x64)

3. 실제 서비스를 제공하는 FTP 폴더(해당 포스팅에서는 \Inetpub\ftproot 라고 하겠습니다.
- 명령어 프롬프트에서 CACLS "%SystemDrive%\inetpub\ftproot" /G "Network Service":C /T /E

IIS 관리 도구를 여시고, 서버 노드에서 IIS Manager Users

사용자 추가를 통한 원하는 사용자 추가

생성한 FTP 사이트 또는 21번 포트를 바인딩한 웹 사이트로 찾아감.

그리고 FTP Authentication을 클릭

Anonymous 인증과 Basic 인증은 기존에 보셨던 인증 방식입니다만, 추가적으로 IISManagerAuth와 ASPNetAuth를 사용할 수 있습니다. 이는 IIS 7에서 새롭게 생긴 인증 방식

통합 파이프라인을 사용하기 때문에 이러한 방식은 FTP뿐만 아니라, 웹에서도 사용가능

사용자에게 권한을 부여

해당 FTP 사이트에 대한 권한과, 실제 작업의 권한(Read, Write)을 연속적으로 부여