運用
|
||
ここまでは、Windows 2000 Serverそのもののセキュリティ対策について解説してきた。これでWindows 2000 Server、IIS、Internet Explorerに関する既知のセキュリティ・ホールは、すべて対策されたことになる。だがセキュリティ対策はセキュリティ・ホールをふさぐだけでは終わらない。後半では、IISやWindowsシステムに対する各種の設定を行って、安全なIISシステムを構築する方法について解説する。
マイクロソフトでは、Windows 2000 ServerとIISのそれぞれについて、基本的な推奨セキュリティ設定に関する文書「Windows 2000 Serverベースライン・セキュリティ・チェックリスト」「IIS5ベースライン・セキュリティ・チェックリスト」を公開している。ここには、推奨されるセキュリティ設定の方法が簡潔にまとめられているので、これに基づいて各部の設定を行っていこう。ここで述べられているセキュリティ対策は、インターネット、イントラネットを問わず有効なので、必ず守るようにしていただきたい。
Windows 2000 Serverの基本セキュリティ設定
まずは、Windows 2000 Serverにおけるセキュリティ設定から見ていこう(「Windows 2000 Serverベースライン・セキュリティ・チェックリスト」)。
このドキュメントでは、いままでに実行してきた設定変更に加えて、以下のような対策が取り上げられている。
- ディスクのパーティションがすべてNTFSでフォーマットされていることを確認する
- Administratorアカウントで強力なパスワードが使用されていることを確認する
- 不要なサービスを無効にする
- 不要なアカウントを無効にするか削除する
- ファイルとディレクトリを保護する(ファイル・システムはNTFSにしておくこと)※
- Guestアカウントが無効になっていることを確認する
- レジストリを匿名アクセスから保護する
- 適切なレジストリのアクセス権を適用する※
- ローカル・セキュリティ機関(LSA)の公開された情報へのアクセスを制限する
- より強力なパスワード・ポリシーを設定する
- アカウント・ロックアウト・ポリシーを設定する
- Administratorアカウントを別の名前に変更する
- 不要なファイル共有をすべて削除する
- すべての必要なファイル共有に適切なアクセス権を設定する
- ウイルス対策ソフトウェアをインストールする
注 「※」が付いている項目は、Windows NTから上書きアップグレードした場合に問題になる項目で、Windows 2000 Serverを新規にセットアップした場合は問題ない。 |
このうち、すでに実行済みの対策と、Windows NT Serverからアップグレードした場合に必要な対策以外のものについて、その内容と対策の手順を解説する。
■Administratorアカウントで強力なパスワードが使用されていることを確認する
Administratorアカウントのパスワードが破られた場合、侵入者はあらゆる破壊行為が可能になる。そのため、パスワードが破られないように対策するのは、堅固なサーバ構築のための基本といえる。
特に、総当たり攻撃によるパスワード破りを防止するため、Administratorアカウントに対しては、アルファベット・数字・記号を混ぜた、複雑なパスワードを設定しておく必要がある。また複数のサーバでそれぞれ異なるパスワードを設定しておくと、万一パスワードが破られても、それで全部のサーバが攻撃対象になるという事態を避けられる。
■不要なサービスを無効にする
Webサーバとしての運用には必要のないサービスを停止させることも重要だ。また、停止させたサービスについては起動方法を[自動]から[手動]に変更しておく。そうしないと、次にWindows
2000 Serverを起動したときに、同じサービスが再び起動してしまう。
Webサーバとしてのみ使用することを考えると、初期状態で動作しているサービスのうち、「Print Spooler」は停止させても支障ないと考えられる。
また、管理者権限を持たないユーザーが管理者の資格でプログラムの実行を行わないように、「RunAs Service」を停止させるとよい。
■不要なアカウントを無効にするか削除する
■Guestアカウントが無効になっていることを確認する
Webサーバとしての運用に必要のないアカウントを無効化、あるいは削除する。これにより、不必要に存在するアカウントがバックドア(外部からの侵入のための裏口)となる可能性をなくすことができる。
匿名アクセスを受け付けるWebサーバの場合、匿名アクセス用のアカウント(「IUSR_<コンピュータ名>」というアカウントがIISのインストール時に作成される)と、IISプロセス・アカウントの起動に用いられる「IWAM_<コンピュータ名>」、そして「Administrator」以外は必要ないだろう。
なお、Guestアカウントについては初期値では無効にされているはずだが、念のために無効化されているかどうかを確認しておく。
Guestアカウントの無効化を確認する | |||||||||
「Guest」アカウントが無効になっている場合、アカウントのアイコンに赤い「×」がつけられている。 | |||||||||
|
■レジストリを匿名アクセスから保護する
Windows 2000のレジストリ・エディタには、ネットワークを経由してほかのコンピュータのレジストリを操作する機能がある。リモートからシステムを管理するためにこのような機能が用意されているのだが、これは外部からの攻撃を考えると極めて危険なので、管理者権限のあるユーザー以外はレジストリにネットワーク経由でアクセスできないようにする。それには、レジストリ・エディタ「REGEDT32.EXE」を使用して、以下のアクセス権を設定する。
[注意] |
レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ
エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows
Insider編集部では責任を負いかねます。ご了承ください。
キー: アクセス権: |
この設定により、Administratorsグループのメンバー以外はネットワーク経由でレジストリにアクセスできなくなる。
■匿名ユーザーが「ローカル・セキュリティ機関(LSA)」の公開情報にアクセスできないようにする
LSAコンポーネントとは、ローカルコンピュータにおけるアクセス管理などの、セキュリティ管理を行うための機能のことだ。以下のレジストリ・キーにある値「RestrictAnonymous」の値を、デフォルトの「0」から「1」に変更すると、匿名ユーザーがLSAコンポーネントに関する公開情報を取得できなくなる。
[注意] |
レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ
エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows
Insider編集部では責任を負いかねます。ご了承ください。
キー: 種類: 値: |
■より強力なパスワード・ポリシーを設定する
[コントロール パネル]の[管理ツール]−[ローカル セキュリティ ポリシー]で、以下の設定を行う。以下に、マイクロソフトの推奨値を基にして、さらに厳しい内容を追加したものを示した。パスワードのポリシーは、[セキュリティの設定]−[アカウントポリシー]−[パスワードのポリシー]で設定する。
ポリシー項目 | デフォルト | 推奨値 |
パスワードの長さ | 0文字以上 | 8文字以上(空のパスワードや短いパスワードは許可しない) |
パスワードの変更禁止期間(最小有効期間) | 0日 | 1〜7日 |
パスワードの有効期間 | 42日 | 42日未満 |
パスワードの履歴を記録する(記憶する過去のパスワードの数) | 0 | 6以上(過去6回のいずれかと同じパスワードは使わない) |
パスワードは要求する複雑さを満たす | 無効 | 有効(複雑な文字をパスワードの一部に使用すること) |
推奨されるパスワード・ポリシー |
最後の「パスワードは要求する複雑さを満たす」という設定は、パスワード変更の際に、使用する文字種としてアルファベット・数値・記号の組み合わせを必須とするものだ。単純なアルファベットや数字だけの組み合わせでは、破られる可能性が高いからである。
パスワード・ポリシーの設定を行った状態 | ||||||
ローカル・セキュリティ・ポリシーを変更して、より複雑で、破られにくいパスワードを要求するように設定する。このポリシーを変更するには、[管理ツール]−[ローカル セキュリティ ポリシー]を起動して、[セキュリティの設定]−[アカウントポリシー]−[パスワードのポリシー]で行う。 | ||||||
|
■アカウントのロックアウト・ポリシーを設定する
アカウントのロックアウトとは、パスワードの入力間違いなどでログオンが失敗した場合に、そのアカウントを一時的に無効にする機能のことである。クラッカーなどが侵入を試みようとして、さまざまなパスワードで何度もログオンしようとするのを阻止するために使われる。一度ロックアウトされると、一定時間はそのアカウントが無効になるので侵入される可能性は低くなる。このポリシーを変更するには、[セキュリティの設定]−[アカウント
ポリシー]−[アカウント ロックアウトのポリシー]で設定する。
ポリシー項目 | デフォルト | 推奨値 |
アカウントのロックアウトのしきい値(ロックアウト発動までのログオン試行回数のこと) | 0回 | 3〜5回 |
ロックアウト・カウントのリセット | 未定義 | 30分以上経過したあとにリセットする |
ロックアウト期間 | 未定義 | 0(無期限となり、管理者が解除するまでロックアウトが継続される) |
推奨されるアカウントのロックアウト・ポリシー |
設定が完了すると、次のようになっているはずである。
アカウント・ロックアウト・ポリシーの設定を行った状態 | ||||||
ローカル・セキュリティ・ポリシーを変更して、ログオン失敗時にアカウントをロックアウトするように設定する。このポリシーの変更は、[管理ツール]−[ローカル セキュリティ ポリシー]を起動して、[セキュリティの設定]−[アカウントポリシー]−[アカウント ロックアウトのポリシー]で行う。 | ||||||
|
さらに、不正なログオンが行われていないかどうかを調べるために、ログオン履歴の監査を有効にする。監査ポリシーは、[セキュリティの設定]−[ローカル ポリシー]−[監査ポリシー]で設定する。
ポリシー項目 | デフォルト | 推奨値 |
アカウント・ログオン・イベントの監査 | 監査しない | [失敗]の監査を有効にする |
アカウント管理の監査 | 監査しない | [成功]と[失敗]の監査を有効にする |
ポリシーの変更の監査 | 監査しない | [成功]と[失敗]の監査を有効にする |
推奨される監査ポリシー |
設定が完了すると、次のようになっているはずである。
監査ポリシーの設定を行った状態 | ||||||
ローカル・ポリシーを変更して、ログオン失敗などのログを記録するように設定する。このポリシーを変更するには、[管理ツール]−[ローカル セキュリティ ポリシー]を起動して、[セキュリティの設定]−[ローカル ポリシー]−[監査ポリシー]で行う。 | ||||||
|
これらの監査を有効にすることで、不正ログオンを試みた痕跡や、アカウントやポリシーの設定変更によって不正侵入を容易にするための工作を発見しやすくなる。
■Administratorアカウントを別の名前に変更する
マイクロソフトのドキュメントでは「Administrator アカウントを構成する」となっているが、実際にはこれは『Administrator
アカウントを別の名前に変更しておく』という操作を意味している。これにより、Administratorアカウントを使用した不正侵入を困難にすることができる。Windows
NT/2000/XPが動作するすべてのコンピュータには、初期状態では「Administrator」というアカウントが存在する。そのため、攻撃者は、管理者のユーザー名を捜し当てるという作業を経ることなく、「Administrator」のパスワードを割り出すだけで不正侵入が可能になってしまう。すると、不正侵入を防止するための防波堤が1つ減ることになるので、Administratorという名前ではログオンできないようにしておくのが望ましい。
しかしビルトイン・アカウントであるAdministratorは削除ができないので、代わりに別の名前に変更するという方法を取る。アカウント名の変更には、[コントロール パネル]の[管理ツール]−[コンピュータ]を起動し、[コンピュータの管理(ローカル)]−[ローカルユーザーとグループ]−[ユーザー]を使用する。ここで、ユーザー「Administrator」で右クリックし、[名前の変更]を選択すると、アカウント名の変更が可能になる。ただし「Admin」とか「Administrator1」というような、“安易な”名前に変更しても安全性は大して向上しないので、より複雑な名前にすることが望まれる。
ダミーのAdministratorアカウントを作成する アカウント・ログオン・イベントの監査でログオン失敗の記録がイベント・ビューアの[セキュリティログ]に残るようにしておけば、不正侵入者がAdministratorアカウントを使って侵入を試みた記録を残すことができる。しかも、このアカウントのパスワードを探り当てることができても、不正侵入者は何もできないという仕組みだ。 |
■不要なファイル共有をすべて削除する
■すべての必要なファイル共有に適切なアクセス権を設定する
ファイル共有は必要最低限にとどめ、不要なファイル共有はすべて停止させる。
また、どうしてもファイル共有が必要な場合、初期値のアクセス権「Everyone:フルコントロール」は削除し、アクセスが必要なユーザーあるいはグループにだけ、必要最低限のアクセス許可を設定する。また、共有資源に対するアクセス権は、ユーザーがファイルやフォルダのアクセス権設定を変更できる「フルコントロール」ではなく、「変更」に設定する。
関連リンク | |
Microsoftセキュリティ | |
Microsoft TechNet セキュリティ情報一覧 | |
マイクロソフト プロダクト・セキュリティ警告サービス | |
セキュリティ・ツールとチェックリスト | |
IIS Lockdown Tool |
INDEX | ||
[運用]IIS安全対策ガイド | ||
1.Windows 2000とIISのインストール | ||
2.最新のService PackとSRPの適用 | ||
3.必要な修正プログラムの確認と組み込み | ||
4.Windows 2000 Serverシステムの基本セキュリティ設定 | ||
5.IIS5の基本セキュリティ設定 | ||
6.IIS Lockdown ToolとURLScanの導入 | ||
運用 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|