포트 22에서 대량 로그인을 시도하면 SSH git 서버 액세스가 종료되지만 HTTP는 계속 작동합니다.

포트 22에서 대량 로그인을 시도하면 SSH git 서버 액세스가 종료되지만 HTTP는 계속 작동합니다.

git최근에는 IP에서 공개 서버로의 연결이 많이 발생하는 것을 확인했습니다 . 이런 일이 발생하면 서버가 매우 느리고 SSH를 통해 원격으로 로그인할 수 없으며 문제를 해결하려면 콘솔에서 로그인해야 하기 때문에 개발자는 SSH를 통해 커밋할 수 없습니다. 이런 일이 발생하더라도 HTTP는 gitlab계속 작동합니다. 시스템 리소스가 충분하므로 sshd_config키가 없는 한 모든 포트 22 액세스를 차단하도록 편집했습니다 . 또한 fail2ban여러 SSH 시도를 차단하기 위해 서버에 IPS를 설정했습니다.

이 모든 설정을 통해 이것이 어떻게 서버에 그러한 문제를 일으킬 수 있는지 잘 모르겠습니다. 서비스를 다시 시작하고 문제가 되는 서브넷을 차단하면 문제를 해결할 수 있지만 sshdSSH를 통해 서버를 사용할 수 없게 될 정도로 SSH를 심하게 망가뜨리는 이유는 무엇입니까? 이러한 모든 시도가 합법적인 액세스 시도를 차단하는 방식으로 모든 포트를 사용하고 있습니까? 다음은 secure시도 로그 파일의 복사본 입니다 . 14:30:18과 14:30:50 사이에는 큰 시간차가 있습니다.

Sep  4 14:30:17 somegitserver sshd[5924]: Connection from 11.11.11.11 port 62290
Sep  4 14:30:17 somegitserver sshd[5924]: debug1: Client protocol version 2.0; client software version libssh-0.11
Sep  4 14:30:17 somegitserver sshd[5924]: debug1: no match: libssh-0.11
Sep  4 14:30:17 somegitserver sshd[5924]: debug1: Enabling compatibility mode for protocol 2.0
Sep  4 14:30:17 somegitserver sshd[5924]: debug1: Local version string SSH-2.0-OpenSSH_5.3
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: permanently_set_uid: 74/74
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: list_hostkey_types: ssh-rsa,ssh-dss
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: SSH2_MSG_KEXINIT sent
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: SSH2_MSG_KEXINIT received
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: kex: client->server aes128-cbc hmac-sha1 none
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: kex: server->client aes128-cbc hmac-sha1 none
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: expecting SSH2_MSG_KEXDH_INIT
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: SSH2_MSG_NEWKEYS sent
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: expecting SSH2_MSG_NEWKEYS
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: SSH2_MSG_NEWKEYS received
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: KEX done
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: userauth-request for user root service ssh-connection method keyboard-interactive
Sep  4 14:30:50 somegitserver sshd[5944]: debug1: Enabling compatibility mode for protocol 2.0
Sep  4 14:30:51 somegitserver sshd[5941]: debug1: do_cleanup
Sep  4 14:30:51 somegitserver sshd[5945]: debug1: rexec start in 5 out 5 newsock 5 pipe 10 sock 11
Sep  4 14:30:51 somegitserver sshd[5944]: debug1: Local version string SSH-2.0-OpenSSH_5.3
Sep  4 14:30:51 somegitserver sshd[5924]: debug1: do_cleanup
Sep  4 14:30:51 somegitserver sshd[5945]: debug1: inetd sockets after dupping: 3, 3
Sep  4 14:30:51 somegitserver sshd[5961]: debug1: permanently_set_uid: 74/74
Sep  4 14:30:51 somegitserver sshd[5924]: debug1: PAM: cleanup

내가 무엇을 놓치고 있나요?

답변1

문제는 내 fail2ban구성이 올바른 로그 파일을 읽지 못한다는 것입니다. 파일을 업데이트 하고 대신 jail.local지정 하면 IP가 감옥에 들어가는 것을 보기 시작했습니다. 이 방법은 효과가 있었지만 여전히 일부 로그 항목을 차단하지 않습니다. 다음을 포함하는 특정 항목을 차단하고 싶지만 내 맞춤 필터가 작동하지 않습니다./var/log/secure/var/log/sshd.logfail2ban11: Bye Byefail2ban^%(__prefix_line)sReceived disconnect from <HOST>: 11: \S+: *$

내 문제를 완전히 해결하기 위해 이 버전은 기본적으로 로그 파일의 특정 항목을 캡처 0.10.5.dev1할 수 있다는 것을 알았습니다. fail2ban구성을 업그레이드하고 재구성했으며 이제 원하는 방식으로 작동합니다.

관련 정보