web-dev-qa-db-ja.com

これはブルートフォースSSH攻撃のようですか?

Ubuntuサーバーのauth.logファイルを確認して、次のことを確認しました。

 [preauth] 
 Feb 22 17:39:18 code-storage sshd [17271]:Disconnected from 147.135.192.203 port 49408 [preauth] 
 Feb 22 17:40:15 code-storage sshd [17273]:無効なユーザーellen(147.135.192.203 
 2月22日)17:40:15 code-storage sshd [17273]:input_userauth_request:invalid user ellen [preauth] 
 Feb 22 17:40:15 code-storage sshd [17273]:147.135.192.203ポート50193:11から切断を受信しました:通常のシャットダウン、[preauth] 
をご利用いただきありがとうございます2月22日17:40:15 code-storage sshd [17273]:147.135.192.203ポート50193 [preauth] 
から切断されました。2月22日17:40:34 code-storage sshd [17275]:103.237.147.107ポート17583 [preauth] 
によって接続が閉じられました2月22日17:41:12 code-storage sshd [17277]:147.135.192.203からの無効なユーザーemil 
 2月22日17:41:12 code-storage sshd [17277]:input_userauth_request:無効なユーザーemil [preauth] 
 2月22日17:41:12 code-storage sshd [17277]:147.135.192.203ポート50841:11から切断を受け取りました:通常のシャットダウン、ありがとうございますfまたは、[preauth] 
 Feb 22 17:41:12 code-storage sshd [17277]を再生:147.135.192.203ポート50841から切断[preauth] 
 Feb 22 17:42:05 code-storage sshd [17280]:無効なユーザーエンツォ147.135.192.203 
から2月22日17:42:05 code-storage sshd [17280]:input_userauth_request:invalid user enzo [preauth] 
 2月22日17:42 :05 code-storage sshd [17280]:切断された147.135.192.203ポート51356から切断を受信:51356:11:通常のシャットダウン、[preauth] 
をご利用いただきありがとうございます2月22日17:42:05 code-storage sshd [17280] :147.135.192.203ポート51356 [preauth] 
から切断されました2月22 17:42:14 code-storage sshd [17282]:103.237.147.107ポート64695 [preauth] 
 2月22 17によって接続が閉じられました:43:00 code-storage sshd [17285]:無効なユーザーfelix from 147.135.192.203 
 Feb 22 17:43:00 code-storage sshd [17285]:input_userauth_request:invalid user felix [preauth] 
 2月22日17:43:00コードストレージsshd [17285]:147.135.192.203ポート52145:11から切断を受信しました:通常のシャットダウン、よろしくお願いしますu for [preauth] 
 Feb 22 17:43:00 code-storage sshd [17285]:Disconnected from 147.135.192.203 port 52145 [preauth] 
 Feb 22 17:43:52 code- storage sshd [17287]:103.237.147.107ポート55122 [preauth] 
によって接続が閉じられました。2月22日17:43:56 code-storage sshd [17289]:147.135.192.203 
からの無効なユーザーfred 22 17:43:56 code-storage sshd [17289]:input_userauth_request:invalid user fred [preauth] 
 Feb 22 17:43:56 code-storage sshd [17289]:Received disconnect from 147.135.192.203 port 52664 :11:通常シャットダウン、[preauth] 
をプレイしていただきありがとうございます

これ以外にもたくさんありますが、これはログファイルをコピーする前の最後の数分間のものです。

これはブルートフォースのSSH攻撃ですか、それとも心配する必要がありますか?サーバーIPを変更する以外の最善の緩和策や解決策は何ですか?

26
David Kamer

これはブルートフォース攻撃ですか

これは、インターネット上のすべてのサーバーで発生するバックグラウンドスキャンに似ています。

心配する必要がありますか

確かに、バックグラウンドスキャンは完全に正常です。ただし、パスワードが安全なバックグラウンドスキャンであれば、リスクはありません。

最善の緩和策は何ですか

以下を使用して、サーバーをより安全にすることができます。

  • キー認証を使用したログインのみを許可
  • ルートsshアクセスを無効にする
  • Fail2Ban のようなシステムを使用して、総当たり攻撃をブロックします

IPを変更する必要がありますか

IPを変更しても、自動化されたバックグラウンドスキャンにはあまり影響しません。

44
jrtapsell

以前のコメントですでに指摘したように、IPを変更しても、悪意のあるスキャナーによるスキャンを防ぐことはできません[〜#〜] [〜#〜]

SSHサービスを本当に保護するために必要な手順をまとめます。

  • 人々が前に述べたように:ポートを非標準(ハイポート)値に変更します。 13322のような値です。これはrealのセキュリティ上の利点ではありませんが、アクティブなSSHポートをボットが見つけにくくなります。
  • 認証には安全な鍵のみを使用し、可能であれば、パスワードによるキーボード認証を完全に無効にしてください!!
  • fail2banを使用-このサービスは、任意のunixライクなシステム/ linux-derivateで使用できます。このサービスは、n回の認証試行が定義された時間失敗すると、特定のIPを自動的に禁止します。禁止はiptablesルールによって実現されるため、 iptablesは必須です。
5
Oliver

Fail2banの代わりに、1時間ごとのcronジョブを設定して、以下のような単純なスクリプトを実行できます。必要に応じて、最初の4つのパラメータを調整します。 pfで動作します。

pfを使用していない場合は、pfctl ...行をファイアウォールで機能するものに置き換える必要があります。

また、pfテーブルをフラッシュするように毎日のcronジョブを設定します:pfctl -t bruteforce -vT expire 86400

#!/bin/sh -f
#
# Check 'Invalid user' attempts on sshd in auth.log (LOGFILE).
# If there are more than (MAX_TRY) attempts within
# the last hour (EARLIEST), source ip is added to PF_TABLE table in pf
#
MAX_TRY=5
LOGFILE=/var/log/auth.log
# last 48 hour
EARLIEST=`date -v-48H +%s`
PF_TABLE=bruteforce

grep "Invalid user" $LOGFILE | while read d0 d1 d2 rest; do
    timestamp=`date -j -f "%b %d %H:%M:%S" "$d0 $d1 $d2" +%s`
    test $timestamp -lt $EARLIEST && continue
    echo $rest | cut -d ":" -f2- | cut -d " " -f6
done | sort | uniq -c | while read count ip; do
    test $count -lt $MAX_TRY && continue
    pfctl -v -t $PF_TABLE -T add $ip
done
1
ping mai