私は現在、静的IPを介して公衆インターネットでアクセス可能な自宅からWebサーバーを実行しています。そうすることにはどのようなリスクがありますか?
私が理解していることから、このセットアップではポート80以外の接続は許可されないため、ネットワークとコンピューターは攻撃から安全ですが、それは正しいですか?
関連するリスクを最小限に抑えるために取るべきいくつかのステップは何ですか?
まあ、一般的な推奨事項は、おそらく次のようなものでしょう。
ファイアウォールをWebサーバーの前に置きます。許可する必要のあるトラフィックのみを許可し、それ以外はすべて拒否します(ドロップまたは拒否は主に好みの問題です)。すでにこれを行っていますが、ファイアウォールソフトウェアを実行するだけではありません。
細かい櫛でソフトウェア構成を確認します。特に、ファイルのアップロード、コードの実行などに関連するすべてのことを考慮してください。
インターネットに公開されている可能性のあるすべてを最新の状態に保ちます。これには、オペレーティングシステム、Webサーバー、それを介して提供されるすべてのものが含まれます(これらのPHPビューファイルは、セキュリティ関連のバグを含む可能性のある実行可能なコンピューターコードです)およびこれらのアプリケーションが依存するもの(たとえば、データベースサーバー)。
最良の場合でも、インターネットを介してアクセス可能なもののleast安全な部分と同じくらい安全なセットアップになります。すべてをブロックするのではなく、インターネットからのパケットの受け入れを開始した瞬間、オペレーティングシステムのTCP/IPスタック、パケットを処理するソフトウェア、または最終的に受信するデータが最終的に終了する場所にバグがあるというリスクが常にありますアップすると、コンピューターがユーザーの希望とは異なる動作を示す可能性があります(別名、ある種のセキュリティ違反)。
セキュリティ関連の問題の修正が利用可能になるとすぐに、多くの目が彼らに不正な目的のために修正されたものを悪用できるかどうかを調べるためにそれを調べ始めます。
インターネットに接続されているすべてのホストは、さまざまなボットからの定期的なスキャンを参照します。無害なものもあります。一部は、本質的に無害であるほど愚かです。しかし、一部は実際には危険である可能性があり、ポート80でのHTTPは十分に一般的であるため、このようなトラフィックを大量に期待する必要があります。 IPアドレスを指すホスト名がないことは、その事実を変えることにはなりません。つまり、Webサーバーとその上で実行されているものはすべて、Webサーバーソフトウェアとバージョンの現在知られているセキュリティの脆弱性に基づいて、だれでも投げることができるものに対処できなければなりません(攻撃者はあなたを正確に知らないため)実行されている可能性があります)。
リスク:
提案:
ホームサーバーから最大の利点(および最大のセキュリティ)を引き出すために、静的IPを実際に備えているコンピューターはヘッドレスミニコンピューターであることをお勧めします。
モニターやキーボードのないこのコンピューターは、ホームネットワークのプライマリファイアウォールおよびリバースプロキシとして機能できます。これは、ホームネットワークの非武装地帯(DMZ)として扱うことができ、通常のプライベートコンピューターに格納されているすべての資産を保護します。通常のコンピューターネットワークの残りの部分が24時間年中無休で維持されるかどうかは、WebサーバーがDMZ *内でホストされているかどうか(または2層Webソリューションの場合は両方)によって異なります。
このパブリックサーバーは強化されており、所有する情報と内向きの権限が非常に制限されています。通常は、独自のはるかに多くの 安全なオペレーティングシステム (Linuxなど)を実行します。
ヘッドレスミニコンピューター/ホームサーバーのコストは、非武装化されたサービスに必要なパフォーマンスとスペースに依存します。ローエンドでは、おそらく Raspberry Pi 200ドルから ビーストボックス (マイナスビデオカード)まで$ 2000以上です。ローエンドはルーティングとアクセス制御にcontent-rich Drupalサイトよりも適していますが、以下は Raspberry webserver の例です。
*技術的には、DMZ=という用語を誤用しています。DMZは、2つ以上のルーター/ファイアウォールによってボックス化された論理ネットワークです。城砦の殺し屋。ホームサーバーは、DMZの内部ファイアウォールであり、同じDMZ内の資産でもあります。
HTTPサービスを提供することは、そのサービスの脆弱性が攻撃者のエントリポイントになることを意味します。したがって、このサービスは十分な注意を払って管理するようにしてください。ベンダーが公開したセキュリティ修正をできるだけ早く適用してください。これは、HTTPサーバーソフトウェア自体(たとえば Apache )と "サイトコード"(PHPコードの穴はまだ穴です)の両方です。それから、このサーバーはあなたの(イン)セキュリティに多くを追加しませんものの技術的な側面。
ただし、公開されているHTTPサーバーはより高い露出を意味します。ほとんどの人は、完全にパッチされたソフトウェアを実行するのではなく、commonersになることで問題を回避します。普通の人と同じように自宅からWebサーフィンをしている人。面白くないシュマック。それらの数は非常に多く、おそらく数十億もあるため、マシンにハッキングしようとする動機は誰にもありません。もちろん、多くの自動ハッキングが行われています。それら botnets は自分自身を養うことはありません!しかし、やる気のあるインテリジェントな攻撃者からの本当の脅威はありません。 Webサーバーを実行すると、珍しくなります。あなたは興味を引くかもしれません。自宅でWebサーバーを実行している人々は、興味深いデータを提供しているかもしれません。少なくとも彼らは他の人々にサービスを提供するために努力した。
基本的に、このようなサービスを提供すると、非常に強力な保護レイヤー、つまり匿名性が排除される傾向があります(「大衆の中でレーダーに表示されない」など)。単に「正常」に見えるだけで攻撃を回避することは、概念的には情報資産を保護するための非常に不満足な方法ですが、非常にうまく機能します。そしてあなたのHTTPサーバーはあなたをそれから取り除きます。
さらに心配になるのは、ケーブル/ ADSLモデム(ISPが提供)と、場合によってはある種のホーム(WiFi)ルーターの力の組み合わせによって、ホームネットワークが侵入から「保護」されていることです。これらのデバイスは、めったに更新されないソフトウェアを使用するため、多くのセキュリティホールを持つ傾向があります。 thatに注目を集めたくありません。