git
최근에는 IP에서 공개 서버로의 연결이 많이 발생하는 것을 확인했습니다 . 이런 일이 발생하면 서버가 매우 느리고 SSH를 통해 원격으로 로그인할 수 없으며 문제를 해결하려면 콘솔에서 로그인해야 하기 때문에 개발자는 SSH를 통해 커밋할 수 없습니다. 이런 일이 발생하더라도 HTTP는 gitlab
계속 작동합니다. 시스템 리소스가 충분하므로 sshd_config
키가 없는 한 모든 포트 22 액세스를 차단하도록 편집했습니다 . 또한 fail2ban
여러 SSH 시도를 차단하기 위해 서버에 IPS를 설정했습니다.
이 모든 설정을 통해 이것이 어떻게 서버에 그러한 문제를 일으킬 수 있는지 잘 모르겠습니다. 서비스를 다시 시작하고 문제가 되는 서브넷을 차단하면 문제를 해결할 수 있지만 sshd
SSH를 통해 서버를 사용할 수 없게 될 정도로 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.log
fail2ban
11: Bye Bye
fail2ban
^%(__prefix_line)sReceived disconnect from <HOST>: 11: \S+: *$
내 문제를 완전히 해결하기 위해 이 버전은 기본적으로 로그 파일의 특정 항목을 캡처 0.10.5.dev1
할 수 있다는 것을 알았습니다. fail2ban
구성을 업그레이드하고 재구성했으며 이제 원하는 방식으로 작동합니다.