成功したかどうかにかかわらず、すべてのSSHログイン試行をFreeBSDサーバーにファイルに記録し、このログを毎日rootにメールで送信したいと思います。
私は/var/log/auth.log
を解析することでこのようなことを達成できますが、a)これにはログイン試行以上のものが含まれており、b)昨日の実行以降、これを無効にすることができます。これを行うより直接的な方法はありますか?たとえば、SSHdまたはログイン構成のフックで各ログインをログに記録しますか?
デフォルトでは、AUTH
ファシリティにログを記録します。 sshdがログを記録するfacility
は、SyslogFacility
構成オプションを使用して変更できます。
SyslogFacility LOCAL7
次に、syslogdを構成してlocal7。*を独自のファイルに追加します。
local7.* /var/log/local7.log
syslogd構成ファイルに。 syslogdにHUP
シグナルを送信して構成ファイルを再読み取りするように指示し、sshdでも同じことを実行します。sshdメッセージが独自のファイルに送信されるはずです。
私はこのブログ投稿に出くわしました。これは私の質問に対する複数の解決策を説明しています。とりわけ、ログ解析と、興味深いことに、PAMスクリプトからpam_exec
。これにより、ログインごとに独自のスクリプトを実行できます。
Iain
の以前の回答はおそらく侵襲性が低く、問題も解決しますが、これが私の問題に対する最も柔軟な解決策だと思います。