サーバーに接続しようとする悪意のある試みを効率的に処理する方法があるかどうかを知りたいです。前述のように、/var/log/auth.log
ログインしているように見えるようにしてくださいConnection closed by IPaddress port XXX [preauth]
。
追加情報sshd_config
:
- パスワードログインが無効
MaxAuthTries 3
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
DenyUsers pi admin ubuntu
質問の最初の部分は次のとおりです。これらの試みをブロックする必要がありますか?
およそ数秒ごとに一度試してみます。これらの試みは他のIPで起こります。 (成功せずに複数回ログインしようとするIPを処理できます。)私の考えでは)、接続試行回数が多く、多少面倒な病気のようです。
1つの条件は、SSHを介してサーバーに接続するために特定のIPだけをホワイトリストに追加したくないことです。
今もし私ブロックする必要がありますこれらの試みにどのように対処するかについていくつかの提案を聞きたいです(Fail2banを除外してください)。
とても感謝しています!
答え1
公開鍵認証のみに制限しても大丈夫でしょう。 (これはまたオンにする必要があることを意味しますChallengeResponseAuthentication
。)追加のセキュリティのためにオフにno
することもできます。PermitRootLogin
私が運営しているサーバーは常に検査をしていますが、私の鍵もなく、パスワード認証もオンになっておらず、物理的に接続が不可能なので心配しません。
必要に応じてFail2banのようなものを使用できますが、必須ではありません。少しのログノイズを取ることができる場合は無視してください。明らかに興味のない問題当事者またはネットワーク(例えば、行ったことのない国の通信)が大きな問題である場合は、手動でファイアウォールに追加することもできます。
答え2
VPNは最高のアドバイスです。 VPNサーバーの配置(オープンVPNたとえば)SSHサーバーとインターネットの間。サーバーが家にいてもクラウドにあるかにかかわらず、これは非常に簡単です。 SSHサーバーは、SSH接続のためにプライベートIPでのみリッスンします。 VPNサーバーはインターネット(1194 / UDP、943 / TCP、または443 / TCP)に公開されています。 OpenVPNは非常に柔軟で、認証に証明書を使用できます(パスワード保護)。
これは、ターゲットSSHサーバーにアクセスする前にVPNに接続する必要があることを意味します。さらに、セキュリティ上の理由から、VPNサーバーのSSHはプライベートIP経由でアクセスできる必要があります。つまり、管理のためにVPNサーバーにSSHで接続する前に、VPNに接続する必要があります。ただし、問題が発生した場合は自分自身を閉じる危険があります。
計画Bは、sshd_config
ファイルのユーザーをホワイトリストに追加し、SSHキーのみを使用して認証することです。パラメータの使用ユーザーを許可またはグループを許可。神聖なリストにない人はSSHアクセスを拒否されます。
プランCが有効二重認証(2FA)ホワイトリストに登録されているユーザーは、アクセス権を取得するには2FAコードを入力する必要があります。