Linuxサーバーを使用している場合は、複数のユーザーがシステムにアクセスしている可能性があります。特定のユーザーがLinuxシステムにログインしたときに、誰がシステムにログオンしているかを知りたい場合があります。また、システムがどのIPアドレスからアクセスされたかを知りたい場合もあります。
複数のユーザーがいない場合でも、誰かがLinuxサーバーにアクセスしようとした可能性があります。信じてください。これは奇妙に聞こえるかもしれませんが、最近ではボットがLinuxサーバーにアクセスしようとするのが一般的です。信じられない?サーバーでの不正なログイン試行をチェックして、誰かがシステムにログインしようとしたかどうかを確認してください。
Linuxのログイン履歴を表示して、誰がどこからシステムにアクセスしているかを把握する方法を紹介します。
Linuxログイン履歴の表示
Linuxは、システムで発生するすべてのログを保持するのに非常に優れています。当然のことながら、ログインとログイン試行に関するログも保存されます。ログイン情報は3つの場所に保存されます:
- / var / log / wtmp –最後のログインセッションのログ
- / var / run / utmp –現在のログインセッションのログ
- / var / log / btmp –不正なログイン試行のログ
これらのことをもう少し詳しく見てみましょう。
1。ログに記録されたすべてのユーザーの履歴を表示する
システムで成功したすべてのログインの履歴を表示するには、コマンドlastを使用するだけです。
last
出力は次のようになります。ご覧のとおり、ユーザー、ユーザーがシステムにアクセスした場所からのIPアドレス、ログインの日付と時間枠が一覧表示されます。 pts / 0は、サーバーがSSH経由でアクセスされたことを意味します。
abhi pts/0 202.91.87.115 Wed Mar 13 13:31 still logged in
root pts/0 202.91.87.115 Wed Mar 13 13:30 - 13:31 (00:00)
servesha pts/0 125.20.97.117 Tue Mar 12 12:07 - 14:25 (02:17)
servesha pts/0 209.20.189.152 Tue Mar 5 12:32 - 12:38 (00:06)
root pts/0 202.91.87.114 Mon Mar 4 13:35 - 13:47 (00:11)
wtmp begins Mon Mar 4 13:35:54 2019
出力の最後の行は、wtmpログファイルがいつ作成されたかを示しています。 wtmpファイルが最近削除された場合、最後のコマンドはその日付より前のログインの履歴を表示できないため、これは重要です。
ログインセッションの履歴が膨大な場合があるため、より少ないコマンドで出力をパイプ処理することをお勧めします。
2。特定のユーザーのログイン履歴を表示する
特定のユーザーのログイン履歴だけを表示したい場合は、最後のコマンドでユーザー名を指定できます。
last <username>
選択したユーザーのログイン情報のみが表示されます:
last servesha
servesha pts/0 125.20.97.117 Tue Mar 12 12:07 - 14:25 (02:17)
servesha pts/0 209.20.189.152 Tue Mar 5 12:32 - 12:38 (00:06)
wtmp begins Mon Mar 4 13:35:54 2019
3。ホスト名の代わりにログイン履歴にIPアドレスを表示する
前の出力では表示されませんでしたが、デフォルトでは、最後のコマンドでユーザーのIPアドレスではなくホスト名が表示されます。サブネットワークを使用している場合は、おそらくホスト名のみが表示されます。
-iオプションを使用すると、以前にログに記録されたユーザーのIPアドレスを強制的に表示できます。
last -i
4。最後のN回のログインのみを表示する
システムの稼働時間が良好な場合、ログイン履歴は膨大になる可能性があります。前述したように、lessコマンドまたはheadやtailなどの他のファイル表示コマンドを使用できます。
最後のコマンドには、特定の数のログイン履歴のみを表示するオプションがあります。
last -N
Nを必要な数に置き換えるだけです。ユーザー名と組み合わせることもできます。
5。 Linuxサーバーでの不正なログイン試行をすべて表示する
ここで重要なのは、サーバーでの不正なログイン試行のチェックです。
あなたは2つの方法でそれを行うことができます。 btmpログファイルで最後のコマンドを使用できます:
last -f /var/log/btmp
または、lastbコマンドを使用できます:
lastb
これらのコマンドはどちらも同じ結果になります。 lastbは、実際には、指定されたファイルを含む最後のコマンドへのリンクです。
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
sindesi ssh:notty 59.164.69.10 Wed Mar 13 14:34 - 14:34 (00:00)
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
sindesi ssh:notty 59.164.69.10 Wed Mar 13 14:34 - 14:34 (00:00)
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
不正なログインは、正当なユーザーによって入力された誤ったパスワードである可能性があります。また、ボットがパスワードをブルートフォースしようとしている可能性もあります。
ここで分析し、ログでIPを認識しているかどうかを確認する必要があります。ユーザーrootを使用して特定のIPからのログイン試行が多すぎる場合は、誰かがブルートフォーシングによってシステムを攻撃しようとしている可能性があります。
このような場合にサーバーを保護するには、Fail2Banをデプロイする必要があります。 Fail2Banは、そのようなIPをサーバーから禁止し、サーバーに追加の保護レイヤーを提供します。
結論
このチュートリアルでLinuxでのログイン履歴を表示する方法を学び、この知識を使用してLinuxシステムをより適切に管理および保護できるようになることを願っています。
この記事が気に入った場合は、ソーシャルメディアで共有し、ニュースレターを購読して、Linux関連のチュートリアルをさらに入手してください。