GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで失敗したSSHログインを一覧表示する方法

「白も黒もありません。灰色の色合いしかありません。それが良いか悪いかはわかりません。」

また、灰色の色合いを掘り下げて、問題が発生する前に探す必要がある場合もあります。これらのチェックの1つは、失敗したSSHログイン試行の検索である可能性があります。幸い、Ubuntuには、誰かが弱いパスワードやブルートフォース攻撃を起こさせたほとんどのケースを検出するのに十分シンプルで強力なソリューションが1つ付属しています。

SSHサーバーにログインしようとするたびに、rsyslogデーモンによって/var/log/auth.logにあるauth.logという名前のファイルに記録されます。

管理者はログを調べて、奇妙な着信トラフィックがあるかどうかを確認できます。ログファイルにはプレーンテキストで多くの情報が含まれていますが、すべての出力を読み取るのは簡単ではありません。 grepを使用してログファイルを検索する方法を学ぶ必要があります。この例では、失敗した試行に焦点を当てます。

OpenSSHのインストール

OpenSSHは、アプリケーション層プロトコルの形式でシステムへの安全なリモートアクセスを提供するサービスであり、scpコマンドラインプログラムも含まれています。 rootユーザーとしてログインするか、sudo権限を持つユーザーに切り替えてから、以下のコマンドを使用してOpenSSHをインストールします。

sudo apt-get update
sudo apt-get install openssh-server -y

このコマンドは、OpenSSHとその依存関係をインストールする必要があります。 OpenSSHが正しく動作するにはかなりの数が必要なため、追加のパッケージもインストールされていることがわかります。

インストール後、ターミナルウィンドウで次のコマンドを入力してsshを有効にできます。

sudo systemctl enable ssh

コマンドが成功した場合、ターミナルウィンドウに以下の画像のような出力が表示されます。

次のコマンドを使用して、UbuntuマシンでSSHを無効にしたい場合に、SSHを停止できます。

sudo systemctl stop ssh

次のコマンドを実行すると、再開できます:

sudo systemctl start ssh

SSHサーバーが実行されているかどうかを確認するには、次のコマンドを使用できます。

sudo systemctl status ssh

端末に同様の出力が表示されるはずです:

上のスクリーンショットでは、SSHサーバーがすでに実行されて有効になっていることがわかります。つまり、起動時に実行されます。

失敗したSSHログイン試行をすべて見つける方法

ログイン試行の失敗は、自動ログインの悪用だけでなく、さまざまな理由で発生する可能性があります。ログイン試行の失敗は、次の場合に発生する可能性があります。

  • ユーザーが自分のパスワードを誤って入力する可能性があります。
  • 間違ったパスワードを使用してログインしようとしています。
  • サーバーはブルートフォース攻撃を受けており、ハッカーは自動化されたスクリプトを使用してパスワードを推測しようとしています。

失敗したSSHログイン試行をすべて一覧表示する最も簡単な方法は、次のコマンドを使用することです。

grep "Failed password" /var/log/auth.log

端末に同様の出力が表示されるはずです:

次のコマンドを使用して、上記のコマンドのわずかに変更されたバージョンで、CentOSまたはRHELで失敗したSSHログインを表示できます。

grep "Failed" /var/log/secure
grep "authentication failure" /var/log/secure

または、journalctlコマンドでSystemdデーモンを使用してログを表示することもできます。

journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"

失敗したSSHログイン試行の原因となっているすべてのIPアドレスのリストを、その横に試行回数とともに表示するには、次のコマンドを使用できます。

grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

ログイン試行の失敗が時々発生することは避けられません。ただし、サーバーへの失敗したログインを特定することは依然として重要です。 SSHサーバーに頻繁にアクセスするIPアドレスを特定し、必要なアクションを実行することが重要です。

結論

このガイドでは、Linuxマシンで失敗したSSHログイン試行を見つける方法について説明しました。また、journalctlコマンドの使用を含む別のアプローチも学びました。この記事がお役に立てば幸いです。コメントセクションでフィードバックや質問をお気軽に提供してください。


Linux
  1. Linuxでサービスを管理および一覧表示する方法

  2. LinuxでSSHポートを変更する方法

  3. 数百回の ssh ログインの失敗

  1. LinuxSSコマンドの使用方法

  2. Linuxで実行中のプロセスを一覧表示する方法

  3. Linuxでユーザーを一覧表示する方法

  1. Linuxでグループを一覧表示する方法

  2. Linuxでcronジョブを一覧表示する方法

  3. Lfsを使用してLinuxでファイルシステムを一覧表示する方法