web-dev-qa-db-ja.com

これは「ポートスキャン」ですか?

一般的なアカウント名のリストを使用してSSHで接続しようとしたり、「root」または「mail」(または同様のもの)に対して複数のパスワードを試行したりするスクリプトがあることは、依然として「ポートスキャン」と見なされますか?これらをブロックする方法を見つけたいと思っていますが、何を検索すればよいか途方に暮れています。

port scanという用語を想像すると、NMAP(または同等のもの)を使用してiptablesで開いているものを見つけることを考えます。これが同じカテゴリに該当するかどうかだけ興味があります。

私のシステムのいくつかは、1日に数千をログに記録しています。気に障る。

システムはすべてCentOS/RHELです。

編集:iptablesの「制限」はv有望に見えます。最終的には、すべての有効なトラフィックに対してVPNをセットアップし、パブリックサーバーで「fail2ban」のようなものを使用する必要があるかもしれません。

2
ethrbunny

ここで必要な検索用語は、おそらく「失敗したsshログイン試行をブロックする」または「ブルートフォースsshをブロックする」または「悪意のあるsshログインを停止する」などです。

これらを停止するための非常に人気のあるツールは fail2ban です。 SSHログインの失敗をログで監視し、一定時間失敗した後、問題のあるIPをブロックできます。


SSHセキュリティを強化するためのその他のヒント:

  1. まだ行っていない場合は、直接ルートログインを無効にします。これは、サーバーを完全に安全であると見なしたい場合に実際に行う必要のある重要事項の1つです。
  2. パスワード認証を無効にし、代わりに公開鍵認証を使用してください。もう一つの必需品。パスワードでどこにも行けない場合は、有効なパスワードをどれだけ推測してもかまいません。また、クライアント側でキーマネージャを使用する場合は、ログインにキーペアを使用すると非常に便利です。
  3. 非標準のポートを使用してください。 2222のようなもの、またはできればもっとわかりにくいものを使用できます。これにより、失敗したログインの数が私の経験では劇的に減少します。他の人がコメントで指摘しているように、開いているポートはポートスキャンで簡単に明らかになり、正当なユーザーがログインするのは不便になる可能性があることに注意してください。
  4. Fail2banを使用して失敗した試行をブロックします。誤って自分をブロックした場合に備えて、何らかのプランBを用意することをお勧めします。別のIPから再試行できる場合は、自分でブロックを解除できます。
  5. 実装 ポートノッキング 。これはおそらくやり過ぎですが、実装すると、失敗したログイン試行が実質的にゼロになる可能性があります。これは、ログインを希望する正当なユーザーにとっては非常に不便です。ログインするたびに、秘密のノックを実行する歌と踊りを体験する必要があります。スマートフォンでのログインは忘れてください。
10

それはブルートフォース攻撃のカテゴリに分類されます。

--secondsフラグと--hitcountフラグを使用して、iptablesでこれらを防止し、1秒あたりの試行回数を効果的にレート制限することができます。これの唯一の欠点は、攻撃者が攻撃の速度を調整してルールをトリガーしない可能性があることですが、通常、攻撃はそれほど適切に監視されていません。

また、rootログインを無効にし、SSHキーを使用していない場合は、SSHキーを使用する必要があります。それは基本的に攻撃を無意味にします。

2
Jake Stubbs

検索用語の候補として考えられるのは、「sshブルートフォース攻撃」です。

SSHポートを変更してもネットワークのセキュリティは強化されませんが、怠惰な「ポート22でroot:rootを試す」スクリプトよりも少し焦点を絞ってマシンを標的にしている悪意のあるユーザーに警告します。私は個人的にサーバーでこのアプローチを使用して、ログを比較的静かに保ちます。

いいえ、アカウントに接続しようとすること、さらにランダムなパスワードを積極的に試みることは、特定のポートで誰かが聞いているかどうかを確認するだけではありません。たとえばのバナーを取得するために接続することさえ。 Webサーバーは、「ポートスキャン」以上のものと見なされる場合があります。

0
vonbrand