openssh-server 7.6p1-4ubuntu0.5パッケージを使用したUbuntu 18.04.1 LTSの実行
に/etc/ssh/sshd_config
設定されましたLogLevel DEBUG2
。
部分ハンドシェイクを提供するクライアントMACのdebug2ログメッセージを受信しました。
May 3 18:51:05 10.10.10.10 sshd[14300]: debug2: MACs ctos: hmac-sha1,hmac-sha1-96,hmac-md5 [preauth]
その後、同じ秒以内に同じsshd PIDを使用してIP 1.2.3.4でログインしているユーザー「abc」のログインログエントリがあるため、このログインメッセージは最初のdebug2ログエントリに属しているようです。
May 3 18:51:05 10.10.10.10 sshd[14300]: Accepted password for abc from 1.2.3.4 port 51294 ssh2
しかし、対応する(同じPID、ほぼ同じ秒数)debug2ハンドシェイクログエントリが表示されます。すべて Accepted password
ログエントリは、ログインの小さなサブセットでのみ使用できます。
たとえば、1日に2,525回ログインしているユーザーを観察しましたが、そのログインのdebug2: MACs ctos:
155回(同じPID、ほぼ同じ時間)の対応するログエントリのみを表示できました。
これはすべてのユーザーログインに対して発生するため、ユーザーごとに変わりません。
これはバグか機能ですか?ログインするたびにハンドシェイク全体が完了(または記録)されないように、いくつかのハンドシェイク情報キャッシュがありますか?私はこれをどうすることができますか?すべてログインdebug2ハンドシェイクログエントリが作成されましたか?
ベストアンサー1
これは systemd-journald メッセージ RateLimit 効果です。
sshd はログに表示されないほど多くのメッセージを記録します。
systemctl status systemd-journald
May 11 19:02:50 myserver systemd-journald[303]: Suppressed 19842 messages from sshd.service
May 11 19:03:03 myserver systemd-journald[303]: Suppressed 85 messages from ssh.service
May 11 19:03:20 myserver systemd-journald[303]: Suppressed 25865 messages from sshd.service
May 11 19:03:50 myserver systemd-journald[303]: Suppressed 15138 messages from sshd.service
May 11 19:04:03 myserver systemd-journald[303]: Suppressed 148 messages from sshd.service
May 11 19:04:20 myserver systemd-journald[303]: Suppressed 31797 messages from sshd.service
解決策:
/etc/systemd/journald.conf
ライン変更中
#RateLimitBurst=1000
到着
RateLimitBurst=50000
フィルタリングされたデバッグログメッセージは常に期待どおりにsyslog-ngに表示されます。