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); };

관련 정보