web-dev-qa-db-ja.com

FreeBSDですべてのログイン(SSH)をログに記録する方法

成功したかどうかにかかわらず、すべてのSSHログイン試行をFreeBSDサーバーにファイルに記録し、このログを毎日rootにメールで送信したいと思います。

私は/var/log/auth.logを解析することでこのようなことを達成できますが、a)これにはログイン試行以上のものが含まれており、b)昨日の実行以降、これを無効にすることができます。これを行うより直接的な方法はありますか?たとえば、SSHdまたはログイン構成のフックで各ログインをログに記録しますか?

6
poplitea

デフォルトでは、AUTHファシリティにログを記録します。 sshdがログを記録するfacilityは、SyslogFacility構成オプションを使用して変更できます。

SyslogFacility LOCAL7

次に、syslogdを構成してlocal7。*を独自のファイルに追加します。

local7.*     /var/log/local7.log

syslogd構成ファイルに。 syslogdにHUPシグナルを送信して構成ファイルを再読み取りするように指示し、sshdでも同じことを実行します。sshdメッセージが独自のファイルに送信されるはずです。

6
user9517

私はこのブログ投稿に出くわしました。これは私の質問に対する複数の解決策を説明しています。とりわけ、ログ解析と、興味深いことに、PAMスクリプトからpam_exec。これにより、ログインごとに独自のスクリプトを実行できます。

Iainの以前の回答はおそらく侵襲性が低く、問題も解決しますが、これが私の問題に対する最も柔軟な解決策だと思います。

3
poplitea