이는 불가능할 수도 있지만 RHEL 6.6 시스템의 표준 SSH 로깅과 별도로 SSH 인증 실패를 기록하려는 상황에 직면했습니다.
SyslogFacility
with를 사용 sshd_config
하여 로그 데이터를 보낼 위치와 보낼 수 있는지 여부를 지정할 수 있다는 것을 알고 있습니다.오직이 방법을 통해 SSH 인증이 실패합니까?
편집하다: sshd
OR이 아닌 경우 sshd_config
syslog 측에서 이 작업을 어떻게 수행합니까 ?
답변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); };