2012年10月25日木曜日
Windows 2003上でIIS 6.0 Webサーバーをセキュリティ保護する
Webサーバーをハッキング
Windows 2003およびIIS 6.0の出現により、ホスティングサービスは数年前、Windowsプラットフォーム上で提供されていましたように、急カーブがありました。 。Webアプリケーションを設計するためのNETおよびAJAX革命のおかげで - 今日、インターネットインフォメーションサービス(IIS)6.0上で実行されているWebサーバーでは、人気の高い世界的に販売されている。残念ながら、これはまた、IIS Webサーバーのハッキンググループの間で人気のターゲットになり、毎日のように我々が出トレースとパッチが適用される新しい攻撃についてお読みください。それは、WindowsがのようなLinuxとして保護されていないことを意味するものではありません。実際に、それは明らかに脆弱性が特定され、ブロックされていることを示しているように我々は、Windowsプラットフォーム用にリリースされているので、多くのパッチを参照することを良いことだ。
多くのサーバー管理者は、したがって、それは簡単にハッカーがインターネット上で脆弱なWebサーバーを見つけることができるようにすること、複数のサーバー上のパッチ管理とまで対処に苦労しています。私は、サーバーにパッチが適用されるように発見した一つの良い方法は、パッチが適用された後にサーバがパッチと再起動を必要とする大画面で警告を順番に、リモートホスト上で外部スクリプトを実行するためにNagiosを使用することです。ウェブサーバーがセキュリティで保護し、管理者のために残されたオプションが存在しない程度にさらにそれを妥協なく新鮮なOSを行うためにされていない場合、言い換えれば、それは脆弱なサーバーにアクセスするために侵入者のために困難な作業ではありませんインストールとバックアップから復元します。
多くのツールは、経験や初心者ハッカーが脆弱性を識別し、Webサーバーへのアクセスを得ることができますインターネット上で利用可能です。それらの最も一般的なは、次のとおりです。
IPP(インターネットプリンティングプロトコル) - IPPバッファオーバーフローを利用しています。ハッキングアプリケーションがスタックをオーバーフローし、カスタムシェルコードを実行するウィンドウを開き、実際の文字列を送信します。それは攻撃者の側で指定されたポートにCMD.EXEファイルを接続し、ハッカーは、コマンドシェルとシステムのアクセスが提供されています。
UNICODEとCGI-デコード - ハッカーがターゲットサーバ上で悪意のあるスクリプトを実行するには、彼または彼女のコンピュータのブラウザを使用しています。スクリプトは、IISの "匿名口座"と呼ばれるIUSR_アカウントを使用して実行されます。ディレクトリ横断攻撃がシステムへのさらなるアクセスを得るために実行することができますスクリプトのこのタイプを使用。
これら長年にわたって、私はほとんどの時間、貧しい人々のサーバー管理、パッチ管理の欠如に起因するIIS Webサーバーの結果に対する攻撃は、セキュリティの悪い構成などこれは、OSまたは非難するアプリケーションではありませんが、見てきたサーバの基本的な構成は、主な原因です。私は各項目の説明とチェックリストの下に概説した。これらは正しく続く場合は、IIS Webサーバー上のWeb攻撃の多くを防ぐことに役立つだろう。
オペレーティングシステムを保護
最初のステップは、Webサーバを実行するオペレーティングシステムを保護することです。 Windows 2003 Serverで、キーのセキュリティ強化が多数含まれて最新のサービスパックを実行していることを確認してください。
常にNTFSファイルシステムを使用する
NTFSファイルシステムは、ユーザーの権限をきめ細かく制御を提供し、彼らは絶対にファイルまたはフォルダ内の必要なものへのアクセスをユーザーにのみ与えることができます。
不要なアプリケーションとサービスを削除します。
サーバー上で実行することをより多くのアプリケーションやサービスは、潜在的な侵入者のために大規模な攻撃面。あなたが共有ホスティングプラットフォーム上でファイルとプリンタの共有機能を必要としない場合たとえば、そのサービスを無効にします。
サービスの最小特権アカウントを使用します。
常にサービスを開始するためにローカルシステムアカウントを使用しています。既定ではWindows Server 2003は、多くのインスタンスでサービスアカウントの必要性を削減しましたが、彼らはまだいくつかのサードパーティ製のアプリケーションのために必要です。むしろドメインアカウントを使用するよりもこのケースでは、ローカルシステムアカウントを使用します。ローカルシステムアカウントを使用すると、単一のサーバーへの違反を含んでいることを意味します。
管理者の名前を変更して、ゲストを無効にします。
これは権限の低いアカウントであっても、ゲストと呼ばれる既定のアカウントが無効になっていることを確認します。また、Administratorアカウントは、ハッカーのためのお気に入りのターゲットであり、そこに悪意のあるスクリプトのほとんどは、サーバを悪用して脆弱なために、これを使用しています。何か他の人に管理者アカウントの名前を変更するよう、これらのアカウントのチェック、ハードコーディングされたが失敗しているスクリプトまたはプログラム。
のNetBIOS over TCP / IPおよびSMBを無効にします。
NetBIOSは、ブロードキャストベースのルーティング不能と安全でないプロトコルであり、それはフラットな名前空間を使用して設計された不十分な主な理由は、それは比例します。 Webサーバーとドメインネームシステム(DNS)サーバーは、NetBIOSとサーバーメッセージブロック(SMB)を必要としません。このプロトコルは、ユーザー列挙の脅威を減らすために無効にする必要があります。
NetBIOS over TCP / IPを無効にするには、右のインターネットが直面しているネットワーク接続をクリックし、[プロパティ]を選択します。高度なTCP / IP設定を開き、[WINS]タブに移動します。 NetBIOSのTCP / IPを無効にするためのオプションが表示されるようになるはず。
SMBは、MicrosoftネットワークとMicrosoftネットワーク用クライアントのチェックを外して簡単にファイルとプリンタの共有を無効にします。しかし注意の言葉 - あなたがコンテンツを格納するネットワーク共有を使用している場合は、このをスキップします。あなたのWebサーバーがスタンドアロンサーバーであることが確実な場合にのみこれを行います。
スケジュールのパッチ管理
パッチ管理のための計画を立て、それに固執する。 Microsoftからのパッチとアップデートの最新リリースに更新滞在するには、Microsoftのセキュリティ通知サービス(http://www.microsoft.com/technet/security/bulletin/notify.asp)にサブスクライブします。インストールする前にそれらを確認したい場合は、新しいパッチの可用性に通知するようにサーバの自動アップデートを設定します。
MBSAスキャンを実行します。
これは、サーバー上でセキュリティ上の問題を識別するための最良の方法の一つです。マイクロソフトベースラインセキュリティツールをダウンロードし、サーバー上で実行します。それはあなたのユーザアカウント、権限、不足しているパッチやアップデートなど多くのセキュリティ問題の詳細を提供します。
それは、オペレーティングシステムを確保する基本的にです。さらに、サーバーを保護するために実行したが、彼らは、この資料の範囲を超えていることができるより多くの修正があります。現在のIIS Webサーバーをセキュリティ保護するに移りましょう。
セットアップはデフォルトで固定されているIIS 6.0。我々はこれを言うとき、それはIISの新規インストールが完了したら、それは指定しない限り、Webサーバー上で実行されているからスクリプトを防止することを意味します。 IISを最初にインストールされている場合、HTMLページのみを提供しており、すべての動的コンテンツは、デフォルトでブロックされています。これは、WebサーバーがそのWebサーバーが行うために意味するものではありませんので、ASP、ASP.NET、等のような動的ページを提供するか、解析できないことを意味し、デフォルトの設定はこれらの拡張を可能にするために変更されています。さらに、Webサーバーをセキュリティ保護するに導くいくつかの基本的なポイントは以下に記載されている。
最新のパッチとアップデート
最新のパッチ、アップデート、およびService Packが。NET Frameworkのインストールされていることを確認してください。これらのパッチおよびアップデートは、Webサーバーのセキュリティを強化する多くの問題を修正します。
オペレーティングシステムを分離する
既定のInetPubフォルダからWebサーバを実行しないでください。パーティションのオプションを使用している場合、ハードディスクをCを使用します。オペレーティングシステムのファイルのドライブを、別のパーティション上のすべてのクライアントのWebサイトを格納します。ディレクトリトラバーサル攻撃から保護するために非システムパーティションに、Webのルートディレクトリおよび仮想ディレクトリを再配置します。
IISLockdownツール
このツールへのいくつかの利点がありますといくつかの欠点があります、しかし、ので、それを慎重に使用します。 Webサーバーが他のサーバーと対話する場合は、バックエンドサービスへの接続が失われないように、それが設定されていることを確認するためにロックダウンツールをテストします。
Webコンテンツのアクセス許可
スクリプトソースアクセスは、Webサイトのプロパティで有効にされないことを確認してください。このオプションが有効になっている場合、ユーザーはソースファイルにアクセスできます。 [読み取り]チェックボックスがオンにされている場合は、ソースを読み取ることができます。書き込みが選択されている場合、ソースに書き込むことができます。それが無効になっていることを確認するには、開いているIISは、右のWebサイト]フォルダをクリックし、[プロパティ]を選択します。それが有効になっている場合は、チェックボックスをオフにして、すべての子サイトに伝播されます。
のみ必要なWeb Server Extensionsを有効にする
デフォルトではIIS 6.0では、任意の動的コンテンツを解析することはできません。動的ページを実行できるようにするには、Webサービス拡張のプロパティ·ページから該当する拡張子を有効にする必要があります。常に "すべての不明なCGI拡張"と "すべての不明なISAPI拡張は、"すべての時間を無効にしていることを確認します。 WebDAVとインターネットデータコネクタが不要な場合は、それも無効にします。
親パスを無効にします。
これは、すべて、およびMicrosoftのおかげで最悪ですが、それはデフォルトではIIS 6.0で無効になっています。親パスのオプションは、プログラマが使用を許可する ".." ..表記法を使用して、カレントディレクトリからの相対パスを許可することで、関数の呼び出しインチインクルードパスは、アプリケーションのルートディレクトリの外部にある重要なファイルや機密ファイルにアクセスできるため、このプロパティをTrueに設定すると、セキュリティリスクになる可能性があります。プログラマやサードパーティ製の既製のアプリケーションのほとんどは、この表記法を使用しているので、私は、このニーズが有効または無効にするかどうかを決定するあなたまでそれを残す。親パスへの対応策は、動的なスクリプトでServer.MapPathをオプションを使用することです。
既定のWebサイトを無効にする
必要でない場合には、IIS 6.0がインストールされているときに作成された既定のWebサイトを停止したり、ホストヘッダーと共に、特定のIPアドレス上で実行するように既定のWebサイトのプロパティを変更します。それはすべて既製ハッキングパッケージのほとんどはIPアドレスではなく、ドメイン名から脆弱なWebサーバを識別するように割り当てられていないで走り続けることはありません。既定のWebサイトがすべて割り当てられていない上で実行されている場合、それはURLのIPアドレスではなく、ドメイン名の上にコンテンツを提供できることを意味します。
アプリケーション分離を使用します。
私はあなたのアプリケーションプール内のアプリケーションを分離することができますIIS 6.0でこの機能が好きです。それは他のアプリケーションやサイトがそのプールで実行されている欠陥のあるアプリケーションに起因する影響が及ぼされることがなくなりますように、新しいアプリケーションプールを作成し、それらにWebサイトやアプリケーションを割り当てることによって、あなたのサーバがより効率的で信頼性を高めることができます。
要約
前述のIISのヒントやツールのすべては、Windowsでネイティブに用意されています。あなたがWebアクセシビリティをテストする前に、一度に1つをしようとすることを忘れないでください。これらのすべてがあなたが問題を抱え始める場合の問題を引き起こしているのだろうか作ると同時に実装されている場合、それは悲惨である可能性があります。
最後のヒント:Webサーバーに移動し、コマンドラインで "netstat-aを-"(引用符なし)を実行します。主にポート80を経由して、あなたのマシンへの接続性を得るためにしようとしているどのように多くの異なるIPアドレスを確認します。あなたは、より高いポートの数でIPアドレスを確立していることを確認した場合、あなたはすでに実行し調査のビットを持っている。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿