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
構成をアップグレードして再構成し、今や希望の方法で動作します。