openssh-server 7.6p1-4ubuntu0.5 패키지를 사용하여 Ubuntu 18.04.1 LTS 실행
에 /etc/ssh/sshd_config
설정되었습니다 LogLevel DEBUG2
.
부분 핸드셰이크를 제공하는 클라이언트 MAC에 대한 debug2 로그 메시지를 받았습니다.
May 3 18:51:05 10.10.10.10 sshd[14300]: debug2: MACs ctos: hmac-sha1,hmac-sha1-96,hmac-md5 [preauth]
그런 다음 동일한 초 내에 동일한 sshd PID를 사용하여 IP 1.2.3.4에서 로그인하는 사용자 "abc"에 대한 로그인 로그 항목이 있으므로 이 로그인 메시지는 첫 번째 debug2 로그 항목에 속하는 것 같습니다.
May 3 18:51:05 10.10.10.10 sshd[14300]: Accepted password for abc from 1.2.3.4 port 51294 ssh2
하지만해당(동일한 PID, 대략 동일한 초 수) debug2 핸드셰이크 로그 항목이 표시됩니다.모든 Accepted password
로그 항목은 로그인의 작은 하위 집합에만 사용할 수 있습니다.
예를 들어, 하루에 2,525번 로그인하는 사용자를 관찰했지만 debug2: MACs ctos:
해당 로그인 중 155번(동일한 PID, 대략 동일한 시간)에 대한 해당 로그 항목만 볼 수 있었습니다.
이는 모든 사용자 로그인에 대해 발생하므로 사용자별로 다르지 않습니다.
이것은 버그입니까 아니면 기능입니까? 로그인할 때마다 전체 핸드셰이크가 완료(또는 기록)되지 않도록 일부 핸드셰이크 정보 캐시가 있습니까? 내가 이걸 어떻게 할 수 있지?모든로그인 debug2 핸드셰이크 로그 항목이 생성되었습니까?
답변1
이것은 systemd-journald 메시지 RateLimit 효과입니다.
sshd는 로그에 표시되지 않을 정도로 많은 메시지를 기록합니다.
systemctl status systemd-journald
May 11 19:02:50 myserver systemd-journald[303]: Suppressed 19842 messages from sshd.service
May 11 19:03:03 myserver systemd-journald[303]: Suppressed 85 messages from ssh.service
May 11 19:03:20 myserver systemd-journald[303]: Suppressed 25865 messages from sshd.service
May 11 19:03:50 myserver systemd-journald[303]: Suppressed 15138 messages from sshd.service
May 11 19:04:03 myserver systemd-journald[303]: Suppressed 148 messages from sshd.service
May 11 19:04:20 myserver systemd-journald[303]: Suppressed 31797 messages from sshd.service
해결책:
/etc/systemd/journald.conf
라인 변경 중
#RateLimitBurst=1000
도착하다
RateLimitBurst=50000
이제 필터링된 디버그 로그 메시지가 항상 예상대로 syslog-ng에 나타납니다.