RHEL 6.6でSSH認証失敗を独自のログファイルに分離する

RHEL 6.6でSSH認証失敗を独自のログファイルに分離する

これは不可能かもしれませんが、RHEL 6.6システムの標準SSHロギングとは別に、SSH認証失敗を記録する状況に直面しました。

SyslogFacilitywithを使用sshd_configして、ログデータを送信する場所と送信できるかどうかを指定できます。ただこの方法でSSH認証は失敗しますか?

編集するsshdOR以外の場合、sshd_configsyslog側でこれをどのように実行しますか?

答え1

rsyslog着信メッセージのあらゆる側面を一致させることができ、比較的簡単に作成できます。

次のスニペットが含まれています(私の場合はに*.confファイルを入れました/etc/rsyslog.d/):

if $programname == 'sshd' then {
    if $msg contains 'Invalid user' then { # adjust to your needs
        *.* -/var/log/sshd-fails.log
    }
    stop # discard all other messages from sshd
}

文書を見つけることができますここ

答え2

Syslogは間違いなくこの問題に対する解決策です。ルールの作成方法はrsyslogを使用するかsyslog-ngを使用するかによって異なりますが、syslog-ngの場合はファイルに以下を追加します/etc/syslog-ng/syslog-ng.conf

destination ssh_auth_fail { file("/path/to/file.log"); };
filter f_ssh_auth_fail { message("regex to match desired lines"); };
log { source(src); filter(f_ssh_auth_fail); destination(ssh_auth_fail); };

関連情報