web-dev-qa-db-ja.com

誰かが私のサーバーへのSSHアクセスをブルートフォースにしようとしています

偶然、私は自分のサーバーのsshログ(/var/log/auth.log)を見て、誰かが常にアクセスを取得しようとしていることに気づきました。

Sep  7 13:03:45 virt01 sshd[14674]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.42  user=root
Sep  7 13:03:48 virt01 sshd[14674]: Failed password for root from 116.31.116.42 port 13423 ssh2
Sep  7 13:03:52 virt01 sshd[14674]: message repeated 2 times: [ Failed password for root from 116.31.116.42 port 13423 ssh2]
Sep  7 13:03:52 virt01 sshd[14674]: Received disconnect from 116.31.116.42: 11:  [preauth]

これは毎分数回発生し、私が知らないうちに長い間続いています。

質問もしそうなら、私はこれについて心配する必要があります:それについて何をすべきですか?

20
Vingtoft

残念ながら、これはまったく正常なことであり、すべてのSSHサーバーで発生します。インターネットへようこそ。

サーバーを適切に保護する限り(たとえば、サーバーを最新の状態に保ち、キーベースのログインのみを許可し、ルートSSHアクセスを無効にする)、これは問題になりませんが、fail2banのようなものでさらに制限できます。 IPのホワイトリスト、ポートの変更など、可能な場合は適切な他のアプローチ。

62
Sven
  1. ファイアウォール(iptablesまたはサービスが提供するもの)を使用してIPをブロックします。はい、彼らはIPを変更するかもしれませんが、彼らに仕事をさせます
  2. 外部ファイアウォールがある場合(つまり、AWSコンソールではWebページを介してアクセスルールを設定できます)、ポート22をIPだけに制限することを検討してください。この場合、fail2banをいじる必要はありません
  3. コメントで述べたように、 key-based authentication に切り替えて、パスワード認証をオフにします
  4. rootログインを無効にする 。これを/etc/ssh/sshd_configに追加

    PermitRootLogin no
    

    彼らが望むすべてを根で叩きましょう。そうすれば、彼らはそのようなことには決してなりません。

22
Machavity

Svenが指摘するようにサーバーを保護することに加えて、行うべき最善のことの1つ(特にsshが必要な場合は、管理者)は、デフォルトの22からsshdポートを変更するだけです。

それは単純であるだけでなく(特に~/.ssh/configに新しいポートを配置する場合、毎回入力する必要がないため)、自動スキャンの99%を停止して、それらを表示することさえありませんが、また、0日間のsshの脆弱性が発見され、より多くの時間が与えられたり、キーが漏洩したりした場合でも、多少は役立ちます。

10
Matija Nalis

これはかなり正常な動作です。私は毎日それらのいくつかの数千を取得し、それでも大企業が直面しているものと比較して非常に少ないと思います。

しかし、あなたは心配する必要がありますか?

  • fail2banをインストールしましたか?
  • Root sshログインを無効にしましたか?
  • ユーザーwww-dataをsshログインからブロックしましたか?
  • (オプション) 無効なパスワードベースのログイン 公開鍵ログインを支持していますか?
  • (オプション)SSHポートを22から別のものに変更しましたか?
  • (オプション)ログイン用に TOTP pam module を追加しましたか?

はいの場合は、心配する必要はありません。これらの攻撃は通常、一般的なUNIXユーザー名に対する辞書ベースの攻撃です。たとえば、これらの「ユーザー」がログインしようとすることがよくあります。

  • root
  • www-data
  • テスト
  • 管理者

私は本当にfail2banをインストールすることをお勧めします。これは、IPに基づいてログインしようとするすべてのユーザーをレート制限し、悪意のあるトラフィックのほとんどをフィルターで除外するためです。他の人の言うこととは逆に、私はIPベースのブロックの支持者ではありません。これは、非常に細かい問題に対する非常に大まかな解決策のようです。また、これらの攻撃者は通常複数のIPを制御するため、複数(または複数のIPブロック)をブロックしても、それらすべてをブロックする保証はありません。ただし、Fail2banは、これらのシナリオに対して非常に柔軟です。

7
RemusKaos