私が担当している特定のVMにrootアクセスできる人が何人かいます。ルートへのログインに使用されたIPアドレスを確認したいと思います。
私が担当している特定のVMにrootアクセスできる人が何人かいます。ルートへのログインに使用されたIPアドレスを確認したいと思います。
回答:
last
コマンドを使用してこの情報を取得できます
# last|head
phemmer ssh 192.168.0.24 Wed Aug 20 21:08 - 21:08 (00:00)
phemmer pts/13 192.168.0.2 Wed Aug 20 14:00 - 18:43 (04:43)
phemmer ssh 192.168.0.2 Wed Aug 20 14:00 - 18:43 (04:43)
phemmer ssh ::1 Wed Aug 13 23:08 - 23:08 (00:00)
phemmer ssh ::1 Wed Aug 13 23:08 - 23:08 (00:00)
phemmer ssh ::1 Wed Aug 13 23:07 - 23:07 (00:00)
phemmer pts/15 192.168.0.20 Thu Aug 7 19:00 - 19:00 (00:00)
phemmer ssh 192.168.0.20 Thu Aug 7 19:00 - 19:00 (00:00)
phemmer :0 Wed Jul 30 20:06 still logged in
reboot system boot 3.13.2-gentoo Wed Jul 30 20:05 still running
間違いなく見ることができるように、SSHログインの場合、3番目の列にリモートIPアドレスが表示されます。
last
/var/log/wtmp
ファイルを使用するため、この方法はG-Manの答えに似ています(ファイルへのパスを指定する必要がないため、少し簡単です)。
これは、ディストリビューションまたはOSに依存します。sshd
各ログインをどこかに記録し、関連するIPアドレスを次のような形式でログインに含めます。
Aug 20 15:56:53 machine sshd[2728]: Accepted publickey for root from 192.168.1.2 port 49297
その部分は一貫していますが、そこに到達する方法はさまざまです。に基づくシステムではsystemd
、次を使用しますjournalctl
。
journalctl /usr/bin/sshd
sshd
実行可能ファイルからすべてのログメッセージをリストします。あなたは、rootのログインやその他の基準のためにそれをgrepする、として日付で、それを制限することができます--since
し、--until
(参照しますman journalctl
)。
または、歴史的に、メッセージは(通常)のどこかにログインします/var/log
。通常、sshd
メッセージはに送られます/var/log/auth.log
が、正確なファイルは大幅に異なる場合があります。どちらでも:
grep sshd /var/log/auth.log
journalctl
バージョンとほぼ同等の出力が得られます。
コマンド
who /var/log/wtmp
表示されるような情報を表示する必要who
がありますが、時間をさかのぼります。
last
rootとしてログインしたユーザーを監査する場合ssh
は、rootとして直接ログインして(rootパスワードまたは証明書を使用して/root/.ssh/authorized_keys
)ユーザーが使用できるようにしないでください。代わりに、ユーザーごとに1つのアカウントを使用sudo
し、それらを使用してルート権限を取得します。このようにして、適切なログで見つけることができます(ログファイルの位置は、使用しているディストリビューションによって異なりますuser john ran the command 'sudo rm -rf /'
。メッセージを別のマシンに送信するようにログデーモンを構成することもできます)。まあ、多分あなたは簡単にログでその1つのコマンドを見つけることができません。
sudo
パワー。2人でアカウントを共有する本当の理由はありませんが、必要に応じて2人のアカウントを持つことができます。
root
アカウントを共有することよりも改善されます。
sudo less /root/.bash_history
、以前に実行されたコマンドを確認できます。、私はまだこれを調査しようとしていますが、本当に良い質問のようです:)