Linuxでユーザーのログイン履歴を確認する方法には様々な手法があります。本記事では、具体的なコマンド例とその詳細解説、さらに高度な応用例を紹介します。Linuxのセキュリティ監視やトラブルシューティングに役立つ情報が満載ですので、ぜひ参考にしてください。
目次
基本的なログイン履歴の確認方法
Linuxでは`last`コマンドや`who`コマンドを使って簡単にログイン履歴を確認できます。
`last` コマンド
`last` コマンドは、ユーザーのログイン履歴を確認する最も一般的な方法です。
last # 最近のログイン履歴を表示
オプションとフィルタ
`last` コマンドにはいくつかのオプションがあります。例えば、特定のユーザーのログイン履歴だけを表示したい場合は以下のようにします。
last username # usernameに該当するユーザーのログイン履歴を表示
高度な確認方法
基本的なコマンドだけでは不足である場合に、より高度な確認方法もあります。
`auditd`を用いた監査
`auditd`はLinuxの監査フレームワークであり、より詳細なログイン履歴の追跡が可能です。
auditctl -a always,exit -F arch=b64 -S execve # 監査ルールを追加
応用例
ここでは、ログイン履歴の確認を応用したいくつかのケースを紹介します。
不正アクセスの検出
特定のIPアドレスからの繰り返しのログイン試行を検出するスクリプトです。
last | awk '{print $3}' | sort | uniq -c # IPアドレスごとのログイン試行回数を表示
特定ユーザーの活動時間の集計
特定ユーザーがシステムにログインしている時間を集計する方法です。
last username | awk '{print $10}' | awk -F: '{sum += $1 * 60 + $2} END {print sum " minutes"}' # ユーザーの活動時間を集計
不審なログイン時間帯の特定
通常とは異なる時間帯にログインしているユーザーを特定する方法です。
last | awk '$8 > "18:00:00" && $8 < "05:00:00" {print $1}' # 18時から翌朝5時までのログインユーザーを表示
特定期間のログイン履歴の取得
特定の期間にログインしたユーザーの一覧を取得する方法です。
last -s "2022-01-01" -t "2022-01-31" # 2022年1月1日から2022年1月31日までのログイン履歴を表示
まとめ
Linuxでのユーザーのログイン履歴の確認はセキュリティやシステム管理において非常に重要です。基本的なコマンドから高度な監査システムまで、多くの手法が提供されています。さまざまな応用例を通して、より具体的な運用方法も紹介しました。これを機に、Linuxシステムのセキュリティ対策を一層強化してみてはいかがでしょうか。
コメント