IIS 6.0 による Web ホスティング - 実践偏 -

Download Report

Transcript IIS 6.0 による Web ホスティング - 実践偏 -

IIS 6.0 による
Web ホスティング
- 実践偏 マイクロソフト株式会社
システムエンジニアリング本部
テクノロジー スペシャリスト
望月 淳
アジェンダ
•
•
•
•
•
•
•
IIS 6.0 ホスティングの概要
Windows Server 2003 のセキュア設定
Active Directory のセキュア設定
IIS 6.0 のセキュア設定
IIS 6.0 マルチテナント設定
FTP のセキュア設定
関連情報
IIS 6.0 ホスティングの 概要
インターネット
IIS 6.0 Web ホスティング
• 専有型サービス
• 共有型サービス
構成例
– 仮想ホスト(IP アドレス)
フロントエンド
– 仮想ホスト(ポート番号)
Web サーバー
– 仮想ホスト(ホストヘッダー名)
• コンテンツの構成要素
– 静的テキスト、動的アプリ…
– お客様のコード…
•
アドオン サービス
– メンバーシップサイト
– アクセスカウンター…
• セルフ管理
– オートサインナップ
– サービス変更
Web
クライアント
認証
www.site1.com
(ユーザー :
Site1_user)
www.site2.com
(ユーザー :
Site2_user)
www.site3.com
(ユーザー :
Site3_user)
..
.
認証
負荷分散
委譲
www.site1.com
(ユーザー :
Site1_user)
www.site2.com
(ユーザー :
Site2_user)
www.site3.com
(ユーザー :
Site3_user)
..
.
サイトのコンテンツを、ローカル ディスク
または NAS サーバーに格納
mydomain
Site1_user
Site2_user
Site3_user
NAS
サーバー
\\SitesDirs1
\site1
\site2
\site3
..
.
認可
Web ホスティングの展開
OS(Windows Server 2003) のセキュア設定
Active Directory のセキュア設定
IIS 6.0 のセキュア設定
IIS 6.0 マルチテナント設定
FTP のセキュア設定
OS のセキュア設定
サーバーの機能にかかわらず必要なセキュリティ構成
•
•
•
•
•
セキュリティ 監査ポリシーの実装
アカウント ロックアウトポリシーの設定
管理者アカウントに対する強力なパスワードの使用
Administrator アカウント名の変更
Guest アカウントの無効化(既定で無効)
参考資料 : Windows Server 2003 セキュリティ ガイド
http://www.microsoft.com/japan/technet/security/prodtech/win2003/w2003hg/sgch00.asp
参考資料 : Windows 2000 Server セキュリティ運用ガイド
http://www.microsoft.com/japan/technet/security/prodtech/windows/windows2000/staysecure/
AD のセキュア設定
集中管理、ローカル管理の選択
• Active Directory を利用した集中管理
– サーバー、ユーザーの効率的な管理
– 役割毎に対応した柔軟な管理権限の委譲
• 利点: セキュリティ、管理性、拡張性の向上
• 欠点: 複数のドメインコントローラが必要
アーキテクチャ概要(集中管理)
参考資料 : Microsoft Solution for Windows-based Hosting 2.0
http://www.microsoft.com/japan/serviceproviders/solutions/wh20/management.asp
AD のセキュア設定
共有ホスティングでの Active Directory 設計
• シンプルなモデルを採用
– 単一フォレスト、単一ドメイン、単一サイト
– OU によるユーザー、サーバーの分離と階層化
– グループポリシーによるセキュリティ強化
• より安全な設計
– グローバルカタログ(複数台)
[Active Directory サイトとサービス] - [Sites] –
[Default-First-Site-Name] - [Servers] –
[NTDS Settings] - [グローバル カタログ] をオン
– List OBJECT モード(有効)
[ADSI Edit] - [Configuration] - [CN=Services]、
[CN=Windows NT]、[CN=Directory Service] [dsHeuristics] [Value] を「001」にセット
– 下位互換アクセス(制限)
[Active Directory ユーザーとコンピュータ] –
[Builtin] - [Pre-Windows 2000 Compatible Access] –
[メンバ] - [Authenticated Users] を削除
IIS 6.0 のセキュア設定
IIS 6.0 のインストール
• 必須の IIS コンポーネントのみインストール
– 参考資料 : インストールが必要な IIS コンポーネント
http://www.microsoft.com/japan/technet/security/prodtech/win2003/w2003hg/sgch08.asp
• Web コンテンツ専用のディスク ボリュームの配置
• 複数のIIS Web サイトの作成
• URLScan のインストールと実行
– 参考資料: IIS への URLScan ツールに関する詳細
http://www.microsoft.com/japan/technet/security/tools/urlscan.mspx
IIS 6.0 のセキュア設定
強力なアクセス制御の適用
•
•
•
•
NTFS (NT File System) でフォーマット
Web コンテンツに対するアクセス許可の設定
各 Web サイト毎の匿名アカウントの使用
匿名ユーザーに書き込みアクセス許可を付与しない
IIS 6.0 のセキュア設定
IIS 6.0 の構成
•
•
•
•
•
•
•
必要な Web サービス拡張機能のみを有効にする
個別のアプリケーション プールでのサイトの実行
アプリケーション プールの既定の ID の変更
親パスを有効にしない
スクリプト ソース アクセスを有効にしない
スクリプトおよび実行可能ファイルを有効にしない
使用しないスクリプト拡張子の削除
次のものを使用しない場合
削除する拡張子
Web ベースのパスワードのリセット
.htr
インターネット データベース コネクタ
.idc
サーバー側インクルード
.stm、.shtm、および .shtml
インターネット印刷
.printer
インデックス サーバー
.htw、.ida、および .idq
IIS 6.0 マルチテナント設定
複数の Web サイトのホスティング
• 仮想ホスト(IP アドレス)
• 仮想ホスト(ポート番号)
• 仮想ホスト(ホスト ヘッダー名)
設定の自動化
仮想サイトとホームディレクトリの作成
• ビルトイン コマンド ライン スクリプト (iisweb.vbs)
– 例. iisweb /create C:\websites\customer1.com\web\content
customer1.com /d www.customer1.com /b 80 /dontstart
–
参考資料 : Web サイトを管理する
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/cl_as_websites.asp
設定の自動化
IIS 6.0 認証方法の設定
strADSIPath = "IIS://localhost/W3SVC/1"
Set tObject = GetObject(strADSIPath)
tObject.AnonymousUserName = "IUSR_CustomeXcom"
tObject.AuthFlags = 3
tObject.DefaultLogonDomain = "\"
tObject.SetInfo
IIS Software Developer Kit (SDK) IIS Administration
http://msdn.microsoft.com/library/en-us/iissdk/iis/iis_programmatic_administration_start_page.asp
設定の自動化
• Active Directory ユーザーアカウントの作成
– Net.exe コマンド
例. NET USER /DOMAIN /ADD Mochizuki secretpass123!
– ADSI スクリプト
Set ou = GetObject("LDAP://OU=Hosting,DC=cs,DC=com")
Set usr = ou.Create("user", "CN=Atsushi Mochizuki")
usr.Put "samAccountName", “mochizuki"
‘ オプション属性
usr.Put "sn", “Mochizuki"
usr.Put "givenName", “Atsushi"
usr.Put "userPrincipalName", “[email protected]"
usr.Put "telephoneNumber", "(123) 456 789"
usr.Put "title", “Tech Specialist"
usr.SetInfo
usr.SetPassword "secretpass123!"
usr.AccountDisabled = False
usr.SetInfo
設定の自動化
• アプリケーション プールの作成
例. adsutil.vbs create w3svc/AppPools/TestPool IIsApplicationPool
• セキュリティ アカウントの割り当て
• 仮想サイトのアプリケーションプール指定
‘ アプリケーション プールの作成
Set AppPoolsObj = GetObject ("IIS://localhost/w3svc/apppools")
Set TestPoolObj = AppPoolsObj.Create("IIsApplicationPool", "TestAppPool")
‘ セキュリティアカウントの割り当て
TestPoolObj.AppPoolIdentityType = 3
TestPoolObj.WAMUserName = “Domain\UserName"
TestPoolObj.WAMUserPass = "Password"
Call TestPoolObj.SetInfo
‘ 仮想サイトのアプリケーションプール指定
Set SiteObj = GetObject ("IIS://localhost/w3svc/1")
SiteObj.AppPoolId = "TestAppPool"
Call SiteObj.SetInfo
FTP のセキュア設定
FTP ユーザーの分離
• Active Directory を使用したユーザーの分離
– ユーザー独自のディレクトリに制限
別のユーザーの Web コンテンツの表示や上書きを防止
– トップレベル ディレクトリは FTP サービスのルートとして表示
ディレクトリ ツリーをそれ以上にナビゲートさせない
参考資料 : FTP ユーザーを分離する
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/wsa_ftp_isolate.asp
FTP のセキュア設定
1. ユーザー分離 FTP サイトの作成
2. Active Directory ユーザーに
ホーム ディレクトリ を設定
(FTProot 属性と FTPdir 属性)
FTP属性設定の自動化
•
IISFTP.vbs スクリプトによる
FTProot 属性と FTPdir 属性の設定
– iisftp.vbs /setadprop ftpuser1 ftpdir FTP1
– iisftp.vbs /setadprop ftpuser1 ftproot c:\ftproot\users
ftpuser1 の c:\ftproot\users\FTP1 のホーム ディレクトリ指定
参考資料 : Active Directory のユーザー分離を設定する
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/cl_as_isoftp.asp
ホスティング事例(ご参考)
• グローバルメディアオンライン株式会社
– http://www.microsoft.com/japan/showcase/gmojp.mspx
• Interland
– http://www.microsoft.com/japan/serviceproviders/ServiceDirectory/interland.asp
• 1&1
– http://www.microsoft.com/japan/serviceproviders/ServiceDirectory/1and1Interne
tAG.asp
• Rackspace
– http://www.microsoft.com/japan/serviceproviders/ServiceDirectory/rackspace_a
ds.asp
• Digex
– http://www.microsoft.com/japan/serviceproviders/ServiceDirectory/digexrej.asp
• 導入事例集
– http://www.microsoft.com/japan/serviceproviders/ServiceDirectory/
まとめ
IIS 6.0 による Web ホスティング
• セキュアな IIS 6.0 Web、FTP サービスを実現
• 信頼性の高い共有型サービスの実現
• 設定の自動化による運用負荷、コスト低減の実現
お問い合わせ:[email protected]
関連情報
• Microsoft サービス プロバイダ サイト
– http://www.microsoft.com/japan/serviceproviders
• Microsoft サービス プロバイダ ニュースレター
– http://www.microsoft.com/japan/serviceproviders/nl/subscribe.asp
• Microsoft サービス プロバイダ サイト - IIS 6.0 特集
– http://www.microsoft.com/japan/serviceproviders/resource/iis/iis_t
ech.asp
• Windows Hosting Community (英語)
– http://www.microsoft.com/serviceproviders/hostingcommunity
参考資料
• Microsoft IIS ポータル
– http://www.microsoft.com/japan/windowsserver2003/iis/
• IIS 6.0 の新機能概要と構成(ステップ バイ ステップ)
– http://www.microsoft.com/japan/windowsserver2003/techinfo/planni
ng/walkthroughs/f_iis6.mspx
• プログラム管理ガイド
– http://www.microsoft.com/resources/documentation/WindowsServ/2
003/standard/proddocs/ja-jp/prog_prog.asp
参考資料
• Microsoft MSTEP トレーニング
–
–
–
–
http://www.mstep.net/
IIS 6.0によるセキュアWebサーバーの構築
IIS 6.0によるWeb ホスティング の運用(仮)
その他、様々なコース
• IIS Online Webcasts (英語)
– http://www.microsoft.com/windowsserver2003/iis/support/webcasts.
mspx
• サポート技術情報
– http://support.microsoft.com/default.aspx?scid=fh;JA;KBHOWTO
IIS コミュニティ
• Microsoft Technical Communities(英語)
– http://communities2.microsoft.com/
• Microsoft Discussion Groups(英語)
– http://communities2.microsoft.com/communities/newsgroups/en-us/
• Internet Information Services Newsgroups(英語)
– http://www.microsoft.com/windowsserver2003/community/newsgrou
ps/iis/
• IIS Community Website(英語)
– http://www.microsoft.com/windowsserver2003/community/centers/iis/
• IIS MVP’s Websites and Resources(英語)
– http://www.iisanswers.com
– http://www.iisfaq.com
© 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.