web-dev-qa-db-ja.com

sshを搭載したパーソナルサーバーをインターネットに公開するのは危険ですか。

タイトルの継続は、「インターネットセキュリティの知識が限られている間」になります。

私は最近、ローエンドコンピュータがdebianを実行する小さなサーバーをセットアップして、個人のgitリポジトリとして使用することを目的としています。私はsshを有効にしており、ブルートフォース攻撃などに苦しんでいる迅速さに驚いていました。次に、これは かなり一般的 であると読み、これらの攻撃を回避するための基本的なセキュリティ対策について学びました(serverfaultの多くの質問と重複が対処します、たとえば this one)を参照してください または これ )。

しかし、私は今、これらすべてが努力の価値があるかどうか疑問に思っています。私は主に楽しみのために自分のサーバーをセットアップすることにしました。gitbucket.org、bettercodes.orgなどによって提供されるサードパーティのソリューションに頼ることができました。楽しみの一部はインターネットセキュリティについて学ぶことですが、専門家になるために専念し、正しい予防策を講じたことをほぼ確実にする十分な時間。

私がこのおもちゃプロジェクトで遊び続けるかどうかを決定するために、私がそうすることで本当にリスクがあるかを知りたいです。たとえば、ネットワークに接続されている他のコンピュータもどの程度脅威にさらされていますか?これらのコンピューターの一部は、Windowsを実行している私のコンピューターよりも知識の少ない人によって使用されます。

強力なパスワード、sshのrootアクセスの無効化、sshの非標準ポート、パスワードログインの無効化、fail2ban、denyhosts、iptablesルールのいずれかを使用するなどの基本的なガイドラインに従っている場合、実際に問題が発生する確率はどのくらいですか?

別の言い方をすると、私が恐れるべきいくつかの大きな悪いオオカミはいますか、それともすべてスクリプトキディを追い払うことについてですか?

26
Alfred M.

IMO SSHは、オープンインターネットで聴くのに最も安全な方法の1つです。本当に心配な場合は、非標準のハイエンドポートでリッスンしてください。私はまだあなたのボックスと実際のインターネットとの間に(デバイスレベルの)ファイアウォールを持ち、SSHにポート転送を使用しますが、それは他のサービスに対する予防策です。 SSH自体はかなりしっかりしています。

持っている自宅のSSHサーバーに時々ぶつかった(Time Warner Cableを開いている)。実際の影響はありませんでした。

SSHをより安全にするために行うことができるいくつかの追加のことは、次のようなホームマシンに対して同じIPアドレスからの繰り返しの試行を防ぐことです。

MaxStartups 2:30:10

/ etc/ssh/sshd_configで、正常にログインする前に連続して作成できる接続の数を制限します。

14
TheFiddlerWins

SSHを使用した公開鍵認証システムのセットアップは、本当に 簡単で、セットアップに約5分かかります です。

すべてのSSH接続で強制的に使用すると、LOTをセキュリティインフラストラクチャに投資しなくても、システムの耐障害性が向上します。率直に言って、それは非常に単純で効果的であり(200のアカウントがない限り、混乱を招きます)、それを使用しないことは公的な違反となるはずです。

10
Stephane

私はSSHで世界中に公開されている個人のgitサーバーも実行しています。また、あなたと同じブルートフォースの問題があるので、私はあなたの状況に共感できます。

TheFiddlerWinsは、SSHを公的にアクセス可能なIPで開くことによる主要なセキュリティへの影響にすでに対処していますが、ブルートフォース攻撃に対応する最適なツールIMOは Fail2Ban -認証ログファイルを監視し、侵入を検出するソフトウェアですファイアウォールルールを試み、マシンのローカルiptablesファイアウォールに追加します。禁止するまでの試行回数と禁止期間(デフォルトは10日)の両方を設定できます。

8
Craig Watson

これを処理する別の方法は、VPNを設定することです。ホームサーバーのSSHポートに直接接続するのではなく、まずVPNに接続してから、すべてのトラフィックを暗号化された安全な接続で実行します。

これを処理する理想的な方法は、VPNエンドポイントを組み込んだファイアウォールを使用することですが、WindowsコンピューターをVPNサーバーとして機能するようにセットアップすることもできます。

次に例を示します。

http://www.howtogeek.com/135996/

properセキュリティ構成には、内部ネットワークから分離されたパブリック(またはセミパブリック)コンピュータが含まれることに注意してください。 Webサーバー、または公的に利用可能なサービスをホストするコンピューターは、自宅またはオフィスの安全なネットワークの外にある必要があります。 2つのルーターを使用して、ユーザーとインターネットの間にセーフゾーンまたはDMZを作成します。

このように、サーバーがハッキングされた場合、他のコンピューターを攻撃するためのベクトルとして使用できません。

したがって、設定は次のようになります。

DMZ Configuration

2
TomXP411

答えはとても良いです、私は2つのことだけをお勧めします:

  • 鍵認証システムのみによるアクセスを検討
  • Denyhosts を使用:無効な認証でサーバーにアクセスしようとするホストを禁止します
2
Carlos C Soto