OpenSSHに認証で使用された公開鍵を記録させることは可能ですか?


27

複数の異なる人々が単一のアカウントにログインできる本番システムがあります。このアカウントはアプリケーション用であり、本番サーバーには個人アカウントがないため、個人用ではありません。

監査のために、誰がいつログインしたかを確認できるようにしたいと考えています。SSHキーを使用してログインするので、それを追跡するのは論理的です(追跡する識別子は他にありません)。

SSHはユーザーを認証するときに、ユーザー名をシステムのセキュリティログに記録しますが、ログインに使用された承認済み公開キーのいずれも記録しません。または、そのキーに関連付けられたコメントだけですか?

使用されているオペレーティングシステムはCentOS 5.6ですが、他のオペレーティングシステムで可能かどうかも聞きたいです。

回答:


33

/ etc / sshd / sshd_configでLogLevelをVERBOSEに上げると、ユーザーの認証に使用される公開キーのフィンガープリントがログに記録されます。

LogLevel VERBOSE

次に、このようなメッセージを取得します

Jul 19 11:23:13 centos sshd[13431]: Connection from 192.168.1.104 port 63529
Jul 19 11:23:13 centos sshd[13431]: Found matching RSA key: 54:a2:0a:cf:85:ef:89:96:3c:a8:93:c7:a1:30:c2:8b
Jul 19 11:23:13 centos sshd[13432]: Postponed publickey for user from 192.168.1.104 port 63529 ssh2
Jul 19 11:23:13 centos sshd[13431]: Found matching RSA key: 54:a2:0a:cf:85:ef:89:96:3c:a8:93:c7:a1:30:c2:8b
Jul 19 11:23:13 centos sshd[13431]: Accepted publickey for user from 192.168.1.104 port 63529 ssh2

使用できます

 ssh-keygen -lf /path/to/public_key_file

特定の公開鍵の指紋を取得します。


2
ありがとう!authorized_keysファイルに対してキーフィンガープリントを確認する必要があるため、許可されたキーのフィンガープリントを印刷するこの小さなスクリプトを作成し(p="$(mktemp)";cat ~/.ssh/authorized_keys|while IFS="$(printf "\n")" read key; do echo $key > $p; ssh-keygen -lf $p; done; rm -f $p)
Guss

ログインごとにSSHがキーを2回記録することに気付きました-なぜそれをどのように取得して1回記録するのですか?
ガス

なぜ、それは私が精通していない詳細のレベルです。おそらくソースコードをいじくり回すことなく、それを止められますか。
user9517はGoFundMonicaをサポートします11

2
このスレッドは関連性があります。一致するキーを2回検出します。1回目はキーが受け入れ可能かどうかを判断し、2回目はクライアントが提供する署名を確認します。
mpontillo 14年

3

人々がssh-agentを使用している場合、これを.bashrcに入れることができます。

SSH_KEY_NAME=$(ssh-add -L | cut -d' ' -f 3 || 'unknown')
if [[ ! $SSH_KEY_NAME ]]; then SSH_KEY_NAME="no agent"; fi
echo `/bin/date` $SSH_KEY_NAME >> ~/.login.log

残念ながら、これをログに記録する理由の1つは、ログに記録するユーザーに対してauthorized_keysコマンドを使用しているため、通常はbashシェルを取得しないことです。
ガス

0

LogLevelパラメータで遊んでみてくださいsshd_config。詳細については、 man sshd_config


0

3
サーバー障害へようこそ!一般に、サイト上の回答は自分で立つことができるようにしています-リンクは素晴らしいですが、そのリンクが壊れた場合でも、回答はまだ役立つように十分な情報を持っている必要があります。回答を編集して詳細を含めることを検討してください。詳細については、FAQを参照してください
slm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.