維持・保守・運用
リナックス 分類

CentOSでログイン履歴をセキュリティログで確認

投稿者情報

  • 運営局 投稿
  • 投稿日

コンテンツ情報

本文内容

CentOSでログイン履歴をセキュリティログで確認

 

Linux OS で記録されるセキュリティログ・セキュアログについて解説します。

サーバーへの SSH 接続、ログイン操作が記録されるファイルです。
過去に遡って履歴を調べることで、不正ログインの有無などが調査できます。

 

 

Linux のセキュリティログ・セキュアログ

/var/log/secure に格納されているテキストファイルです。
ログローテーションが設定されていると、複数ファイルに分かれている場合もあります。

認証に関するログが記録されており、初期状態では root ユーザーでしか開けません。
以下の操作が行われると、時刻と合わせてファイルに書き込まれます。

 

 

secure ログに記録される操作

  • サーバーにログインしたとき
  • su コマンドで root に昇格したとき
  • sudo コマンドを使用したとき
  • SSH デーモンが起動・停止したとき
  • パスワード入力を間違えたとき
  • SSH 接続を切断したとき

基本的にはシステムが書き込むためのファイルです。
自分の操作で編集してしまわないように、注意しましょう。

 

secure ログで不正アクセスを確認

前述の通り、SSH やログインに関する捜査が記録されているため、
不正アクセスの有無を確認する用途でも活用できます。

secure ログに対して grep 検索を掛けることで、SSH ログイン履歴を抽出します。
以下の例では、2時間ほどサーバーにログインしていたことが分かります。

$ cat /var/log/secure | grep "sshd" | grep "from"
Mar 16 11:04:26 centos sshd[2544]: Accepted password for hoge from 10.0.0.20 port 56661 ssh2
Mar 16 14:02:33 centos sshd[2545]: Received disconnect from 10.0.0.20 port 56661:11: disconnected by server request
Mar 16 14:04:13 centos sshd[2545]: Disconnected from 10.0.0.20 port 56661

ログローテートされた過去ファイルも一括で検索できます。

$ cat /var/log/secure* | grep "sshd" | grep "from"

ローテート時に gzip で圧縮している場合は、zcat コマンドで展開できます。

$ zcat /var/log/secure-* | grep "sshd" | grep "from"

 

サーバーへの不正ログインを防ぐための SSH 対策

サーバーへの不正ログインを防ぐためには様々な方法があります。

①  公開鍵認証を使う

効果が高い方法の一つは、SSH ログイン時に公開鍵暗号を使って認証することです。
パスワード認証よりも安全性が高く、破られる可能性が低くなります。

②  SSH ポート番号を変える

安全面での効果は薄いものの、「SSH のポート番号を22番以外にする」対策があります。
ポートスキャンをされると意味がありませんが、22番を狙い撃ちしてくる攻撃を避けられます。

③  踏み台サーバーを利用する

サーバーが多数存在する場合は、SSH を中継する踏み台サーバーを用意しましょう。
各サーバーでは、踏み台経由のログインのみを許可するように設定します。

SSH の入口を踏み台サーバーに限定することで、ログイン経路の絞り込みが可能です。
インターネットから各サーバーに直接入れないため、各種アタックも防ぎやすくなります。

 

/var/log/アプリケーション名(apache,samba..など)/ログファイル :

個別のアプリケーションに問題があった場合、/var/log/アプリケーション名/配下のファイルを確認します。

 

/var/log/messages (CentOSの場合)
/var/log/syslog (Ubuntuの場合)
  システム全体のログが出力されます。何のエラーか分からない場合はまずこのファイルを確認します。
/var/log/dmesg : kernel のメッセージが出力されます。ディスク障害などハードウェアの異常があった場合にこのファイルを確認します。
/var/log/boot.log : 起動時のログが出力されます。起動しないサービス、認識しないハードウェアなどがある場合このファイルを確認します。
/var/log/kern.log : kernel のログが出力されっます。システムが起動しない時にこのファイルを確認します。
/var/log/lastlog (CentOSの場合)
/var/log/wtmp (Ubuntuの場合)
  全てのユーザーのログイン履歴が暗号かされて保存されています。直接は参照出来ないのでlastコマンドを使って参照します。
/var/log/secure (CentOSの場合)
/var/log/auth.log (Ubuntuの場合)
  認証履歴が出力されます。リモートログインの接続元や、sudoを実行した人、時刻などが確認出来ます。
/var/log/maillog : mail のログが出力されます。mailサーバを運用している場合、メールの送受信の履歴を確認できます。
/var/log/Xorg.0.log : X Window System のログが出力されます。GUIが起動しない時などに参照します。

 

Linux OS で記録されるセキュリティログ(セキュアログ)を解説しました。
サーバーへのログインや root に関する操作が記録されています。

ログイン履歴の調査にも使えるため、トラブル発生時などに重要な情報となります。

関連資料

NEWS/講座

新着投稿


  • 投稿がありません。

新着書込み


  • 書込みがありません。
アラート 0