web-dev-qa-db-ja.com

ファイアウォールだけでWebサーバーを保護できますか?

私は最初のWebサイトでオンラインにしようとしています。これは、Windows 7を実行している通常のホームPCでホストされる小さなプロジェクトです。ソフトウェアのフットプリントを最小限に抑えたいので、オペレーティングシステムとWebサーバーのみが含まれています。ウェブサイトのファイル、アンチウイルス、SQL、何もありません。ネットワークケーブルを除いて、外界から完全に隔離されています。CD/ DVD、キーボード、マウス、モニターはありません。 Windowsファイアウォールは、ポート80での着信トラフィックのみを許可するように設定されており、すべての発信トラフィックがブロックされます。

私はネットワークセキュリティの専門家ではないので、間違っている場合は修正してください。この設定では、そのコンピューター上のファイルとフォルダーにアクセスする唯一の方法は、ポート80を介してWebサーバーを経由することです。つまり、 Webサーバーが許可されていないアクセスを許可しない場合、ファイルは非公開のままであると信頼できます。私が間違っている場合は、その理由と解決方法を、最小限のソフトウェアフットプリントで説明してください。

今の私の主な関心事はプライバシーですので、他のセキュリティ問題に関するアドバイスは無視するかもしれません。

編集:

私のWebサーバーソフトウェアがほとんどの攻撃の標的になることは知っていますが、心配するのは正門ではありません。あらゆる種類の人がそれを通過しようとすることをあらかじめ知っているので、軍全体を準備してセットアップできます警官たちがいるので、私が気づかないうちに存在する可能性のあるバックドアが心配なのです...したがって、私の質問は、OSをどのように外界から完全かつ完全に分離するかという意味です。唯一可能なアクセスポイントは、私のWebサーバーのリスニングポート80を介したものです。

10
george b

これは、ハッカーが使用する魔法のポートのゲームではありません。ポート上で実行されているサービスがない場合、極端に妥協することはまずありませんが、それでもなお、特に多くのサービスがデフォルトで実行されているWindowsでは、強力なファイアウォールを使用することをお勧めします。

とはいえ、誰かがあなたのウェブサーバーを危険にさらそうとしているなら、彼らはあなたが彼らにアクセスさせているソフトウェア(あなたのhttpデーモンとあなたが使っているCGIアプリケーションの両方)を使ってそれをします。したがって、答えはnoです。

このプロジェクトの詳細についてはあまり詳しく説明していませんが、ある種のCGIアプリケーションの場合、脆弱性を回避するために慎重にコーディングすることが最も重要です。誰かがシェルコードを挿入してシェルをポップできる場合、通常は意図しないものにアクセスできます。

ディレクトリトラバーサルやインデックスなどを許可すると、ウェブサーバーの設定ミスも問題になる可能性があります。攻撃者はこれらを使用して、Webサーバーを「だまして」、計画していないものを提供することができます。

ユーザーにファイルのアップロードを許可する場合は、同様に注意してください。誤って実行するスクリプトをアップロードしたり、提供するマルウェアをアップロードしたりする可能性があります。

意図した機能が悪用される場合もあります。強制ブラウジング(wordpressトラックバックの場合と同様)と電子メール送信の両方が攻撃者に悪用され、攻撃者の活動が隠れてしまう可能性があります。

できることは次のとおりです。

  • Webアプリケーションには別のユーザーを使用してください。 IISでは、CGI設定でアプリケーションプールユーザーを設定し、認証設定で匿名認証に使用されるユーザーを設定します。このために特定のユーザーを作成し、その特権を必要最小限に制限します。
  • 意図したことだけでなく、実装して利用可能にするアプリケーションで実行できるすべてのことを考えてみてください。
8
Falcon Momot

今の私の主な関心事はプライバシーですので、他のセキュリティ問題についてのアドバイスは無視するかもしれません。

特定の場所にマッピングできる最低限のIPアドレスを公開しているので、プライバシーのためにminus pointsのように聞こえます。

ファイアウォールの目的は、サービスへのアクセスを制限することです。サーバーにマルウェアをインストールしたり、パッチされていない脆弱性を利用したりするポート80の「不正な」トラフィックを防止しません。誰かがファイルやシステム情報などのシステム情報を読み取ることができる悪意のあるスクリプトをインストールする可能性があるため、これもプライバシーの問題になる可能性があります。サーバー上のプライベートデータの価値は、特定のリスクを考慮します。

基本的なファイアウォールは、DDoS攻撃を防ぐことはできません。特定のWebアプリやWebサーバーなどへの攻撃をブロックしません。セキュリティはレイヤーで適用する必要があります。ファイアウォールはonly =使用されるセキュリティ保護。セキュリティのための適切なコーディングとパッチの数。

...そのコンピューター上のファイルとフォルダーにアクセスする唯一の可能な方法は、ポート80を介してWebサーバーを経由することです。つまり、Webサーバーが許可されていないアクセスを許可しない場合、ファイルは非公開のままです。

この部分では、未承認の特権、特権の昇格、バイパスなどを提供する可能性のあるOSの脆弱性やアプリケーションの脆弱性がないことを前提としています。SMBやFTPなどで接続できない可能性がありますが、いくつかの脆弱性を利用して得ることができますファイルへのアクセス(リモートシェルなど)

3
Eric G

あなたが検討したいと思うかもしれない他の事柄、および他の人がすでに提案したもの:

  • あなたのウェブサイトがボットの軍隊によってDDoS攻撃を受けた場合、気まぐれに誰かが決定する限り、自宅でインターネットなしで離れる準備ができていますか?
  • もし アプリケーションが危険にさらされた場合、攻撃者はホームネットワークにいるのですか?もしそうなら、彼らはあなたのホームルーターや他のコンピュータにアクセスできるでしょうか?それに関して、あなたは大丈夫?
  • 同じPCで他にどんなものがホストされていますか?
  • 緊急パッチを適用するための再起動のビジネス上の影響は何ですか?

代わりにホスティングプロバイダーの使用を検討しましたか? 「無料枠」のオファーはたくさんあります。

[更新]

特定の質問に答えるには:

あらゆる種類の人が通り抜けようとするのを前もって知っているので、すぐに警察の軍全体を準備して準備することができます。

ここでの想定は、攻撃のタイミングと方法を知っているということです。あなたはしません。そして、あなたの比喩が行くように、あなたは警察が「決して」来ないかもしれない攻撃を「どこか」で待っているままにすることはできません。

気になるのは、知らずに存在する可能性のあるバックドアです...私の質問は、OSを外界から完全かつ完全に分離し、唯一の可能なアクセスポイントが私のウェブサーバーリスニングポート80を介して。

アプリケーションとネットワークを監視することも検討する必要があります。 OSを完全に外部から隔離することができても(持続しないでしょう)、それが効果的であるかどうかをどのようにして知ることができますか?言い換えれば、何かを見逃していて、安全だと思ったらどうしますか?誤った安心感は、安心感がないことを知るよりも悪いです。

最後に、プロのペネトレーションテスターに​​依頼し、定期的に、またはクレジットカードなどの個人情報を保存する場合は特に、定期的にアプリケーションをチェックすることをお勧めします。予算の問題があることは承知しています。ソフトウェア開発の場合と同様に、セキュリティに関しては、無料の昼食はありません。

2
lorenzog

windowsマシンで virtualbox を実行し、新しい仮想マシンで debian linux のようなより安全なものを実行し、その上でApache Webサーバーを実行するのはどうですか?その後、LinuxのiptablesとLinuxに付属する一般的なセキュリティを使用できます。

または単にホストに直接Linuxをインストールします。申し訳ありませんが、安全なシステムが必要な場合は、Windows 7でWebサーバーを実行すると問題が発生する可能性があります。

また、ネットワークのエッジにゲートウェイデバイス(ファイアウォール/ルーター)があると、非常に役立ちます。

また、他の人が述べたように、ファイアウォールの数や外側の防御の穴の数は関係ありません。 Webサーバーまたは独自のスクリプトに障害がある場合、それはすべて問題ではありません。

その他のソースhttpd.Apache.org/ www.dd-wrt.com/site/index

2
Sverre