AWS EC2 Linux2 アクセスログを確認してみた


/var/log/secure を確認

$ sudo cat /var/log/secure

Accepted publickey

公開鍵でログインした形跡が見つかりました。自分のグローバルIPアドレスが表示されています。

Jun  4 10:40:10 ip-172-31-46-216 sshd[3312]: Accepted publickey for ec2-user from xxx.xxx.xxx.xxx port 60615 ssh2: RSA SHA256:xxxxxxxxxxxxxxxx

Invalid user

登録されていないユーザー名でログインしようとしてわざと失敗してみます。アクセスログは残るのでしょうか!?残りました!!

Jun  4 11:40:04 ip-172-31-46-216 sshd[32506]: Invalid user test-user from xxx.xxx.xxx.xxx port 55569

error: AuthorizedKeysCommand

インスタンス起動時に指定した公開鍵とは異なる鍵でログインを試みた結果がこちら。

Jun  4 11:53:22 ip-172-31-46-216 sshd[32599]: error: AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys ec2-user SHA256:yyyyyyyyyyyyyyyyyyyyy failed, status 22

/var/log/audit/audit.log を確認

$ sudo cat /var/log/audit/audit.log

type=USER_LOGIN

ログイン履歴が見つかりました。こちらはhostnameもしっかり記載されています。

type=USER_LOGIN msg=audit(1622803210.258:97): pid=3312 uid=0 auid=1000 ses=2 msg='op=login id=1000 exe="/usr/sbin/sshd" hostname=xxx.yyy.net addr=xxx.xxx.xxx.xxx terminal=/dev/pts/0 res=success'

登録されていないユーザー名でログインを試みました。失敗ログが残っています。

type=USER_LOGIN msg=audit(1622807835.252:451): pid=32668 uid=0 auid=4294967295 ses=4294967295 msg='op=login acct="ec2-user" exe="/usr/sbin/sshd" hostname=? addr=xxx.xxx.xxx.xxx terminal=ssh res=failed'

type=USER_AUTH

op=pubkey_authは鍵認証が成功したログが残っています。hostnameが記載されていませんが、グローバルIPが見えます。

type=USER_AUTH msg=audit(1622803210.014:85): pid=3312 uid=0 auid=4294967295 ses=4294967295 msg='op=pubkey_auth rport=60615 acct="ec2-user" exe="/usr/sbin/sshd" hostname=? addr=xxx.xxx.xxx.xxx terminal=? res=success'

こちらは間違った公開鍵でログインを試みました。失敗ログがちゃんと残っています!

type=USER_AUTH msg=audit(1622809194.934:525): pid=336 uid=0 auid=4294967295 ses=4294967295 msg='op=pubkey acct="ec2-user" exe="/usr/sbin/sshd" hostname=? addr=xxx.xxx.xxx.xxx terminal=ssh res=failed'

コマンド last を実行

$ last

現在ログインしているユーザーが見えています。XXXXXXXにはホスト名が表示されています。

$ last
ec2-user pts/1        XXXXXXX Fri Jun  4 11:22   still logged in
ec2-user pts/0        XXXXXXX Fri Jun  4 10:40   still logged in

-iでグローバルIPに変換できました。

$ last -i
ec2-user pts/1        xxx.xxx.xxx.xxx     Fri Jun  4 11:22   still logged in
ec2-user pts/0        xxx.xxx.xxx.xxx     Fri Jun  4 10:40   still logged in

ログアウトした後に再度lastコマンドを実行してみます。
ログアウト時間が表示されています。このユーザーは7分ログインしていたことがわかりました!

$ last
ec2-user pts/1        XXXXXXX Fri Jun  4 11:22 - 11:29  (00:07)

以上です!
中二心をくすぐられますね!(≧▽≦)

参考記事