web-dev-qa-db-ja.com

ホームサーバーをインターネットに接続するときに注意することはありますか?

FTPサーバーやMinecraftサーバーとして使用したいホームサーバー(かなり大きなHDDが2つある基本的なPC)を構築しました。どちらも私のゲームコミュニティのメンバー向けです。また、在宅中(SSH)にもホームサーバーのターミナルにアクセスしたいと思います。

FTPサーバーへのアクセスをどのように許可するか現在はわかりませんが、コミュニティの誰もがアクセスを希望するユーザーがアクセスできるようにしたいので、誰かが敵意を持っている可能性がありますが、ランダムではありません攻撃ボット。おそらく、共有の「ゲスト」アカウントのログイン詳細を送信するか、個々のメンバーに個別のアカウントを提供します。

重要なデータや個人的なデータをサーバーでホストする予定はありませんが、ユーザーが使用するのに苦労せずに、できる限りそれを保護したいと考えています。それは私のホームネットワークのノードとして接続されており、それについて特別なことは何もありません(現在、Minecraftサーバーのルーターでポート転送されている場合を除きます)。

Ubuntuサーバー15.10を実行しており、5ポートの非管理スイッチ(私のデスクトップPCも接続されています)を介してSky Hubルーターに接続されています。静的内部IPがあります。

私はひどい考えを計画していますか、そして潜在的な攻撃をどのように軽減しますか?

7
BenAdamson

まず最初に、サーバーをオンラインにするとすぐにサーバーが攻撃を受けると想定します。その仮定の下で操作すれば、人々が通常犯す多くの間違いを避けることができます。

まず、サーバーを [〜#〜] dmz [〜#〜] に配置することで、サーバーが危険にさらされた場合に、攻撃対象が可能な範囲で制限されるようにします行きます。これが不可能な場合、それは世界の終わりではありませんが、物事を分離しておくのに役立ちます。

次に、そしておそらくもっと重要なこととして、実行する必要のないものはすべて実行する必要があります。すべての不要な機能をオフにし(本当にGUI環境が必要ですか?)、機能するために特に必要でないポートをブロックします。私は iptables が好きですが、重要なのはsomethingが使用されていることです。

スキャン、ブルートフォース、エクスプロイトの試みなど、悪意のあるアクティビティを検出するために使用できるツールがいくつかあります。それぞれについて詳しく説明することはしませんが、ここでは、長年使用してきたいくつかのツールを示します。

  • tripwireは多少古くなっていますが、ひどくはそうではありません
  • ossecは同様の役割を果たしますが、より反応的です
  • snortは非常に人気があり、多くのルールがあります

特定のツールよりも重要なのは、ツールを正しく構成して使用することです。すべてのツールがカバーするもの、カバーしないもの、失敗した場合に何が起こるかを理解してください。

ホームサーバーを実行することは間違いなく可能であり、実行することは良い学習経験になる可能性がありますが、システムが更新され、監視されていることを確認する必要があります。正常に動作しているように見える場合があるため、時々チェックインすることを忘れないでください。

5
TactiFail

あなたへの私の第一のアドバイスは、あなたがそれを可能な限りロックダウンすることを確実にすることです。

トランスポートレベルから開始します。これを実行するためのLinuxルートはたくさんありますが、個人的にはufwはかなり使いやすいものだと思います。開く必要がないポートがある場合(つまり、インターネットに開かれる特定の理由がない場合)、開いてはなりません。ローカルアクセスが必要な場合は、ローカルネットワーク上のアドレスに対してのみ開いてください。開く必要がある3つのサービス(FTP、SSH、Minecraft)をリストしているので、構成を制限して、ネットワーク外のサービスのみを許可します。

次に、認証を確認します。 SSHの場合、実行が可能であるため、一般的なアクセスのためにこれを開かないことをお勧めします。自分のユーザーアカウントを選択し、SSHのアクセス許可を付与して、他のすべてをブロックします。個人的には、認証にキーを使用し、パスワードをまったく許可しないことをお勧めしますが、それは私だけです。

FTPを開いておきたいので、解決策はFTPのアクセスを制限することです。一般的なアカウントを与え、重要ではない特定のディレクトリにのみアクセスできるようにします。ここからは何も実行せず、保存ディレクトリとして何も指定していません。

私は、Minecraftを比較的オープンにしてほしいと思いますが、それは問題ありませんが、悲嘆に取り組むにはより多くの管理が必要です(世界のバックアップなど)。

サーバーを攻撃しようとする人の影響を緩和するのに役立ついくつかのHIDS(ホストベースの侵入検知システム)があります。

2
Jozef Woods

サーバーのロックダウンに関する@Jozef Woodsと@TactiFailの回答に同意します。

また、パッチを定期的に適用するようにしてください。これはOSだけでなく適用されます。 Minecraftサーバーにしたい場合は、次のように実行しますJavaだと思いますか?これはパッチを適用する重要なコンポーネントです。たとえば、Java重大度が重大であると評価された8つの脆弱性と、その他のそれほど深刻ではない項目の修正:

https://www.cvedetails.com/vulnerability-list/vendor_id-93/product_id-19117/version_id-168994/Oracle-JRE-1.7.0.html

サーバーにも業界標準の強化を適用します。 Linuxのさまざまなフレーバーの優れたガイドをCISから無料でダウンロードできます。

https://benchmarks.cisecurity.org/downloads/browse/?category=benchmarks.os.linux

これらのガイドは以下をカバーします:

  • ファイルシステムのロックダウン
  • プロセス実行コンテキストの強化
  • 不要なサービスの削除
  • ネットワーク設定
  • ロギングと監査
  • ユーザーアカウント管理
1
Mike Goodwin