私のOpenSSHサーバーはユーザー名に対する辞書攻撃で攻撃されており、単に、または同様の方法を使用してユーザー名を削除するのではなく(pam_tally2
またはfail2ban
正直なところ、さまざまなフォーラムで投げ続ける醜い「ポート変更」アドバイス)、攻撃者を混乱させるやりたいです。時間を無駄にする(台本の時間であっても少なくとも一部他人を攻撃するために使用できないCPUとポート割り当ての無駄)
だから私の考えは、account
PAM段階にある種の遅延を導入することです(OpenSSHdの前であることを願っています)。できるあるいは、「このユーザーは存在しません」と答えるかもしれませんが、残念ながらモジュールの直感的な選択はこれをサポートするpam_faildelay
だけauth
です。
また、実際に私が望むかどうかはわかりません。失敗する遅延無条件遅延だと思います。今後情報の漏洩を防ぐため、ここでアカウントを確認することをおすすめします。
これはpam_just_delay_right_here
明らかで実装しやすいように聞こえます(PAMの内部についてはまったくわかりませんが)、何も見つからないことを考えると、間違ったものを探していることは間違いないと確信して助けてください。この機能を設定/実装する方法を学びます。
編集する:
pam_exec /bin/sleep
以下の@roaimaが提案したソリューションを実装し、追加のテストを行った結果、実際に「account
代わりにauth
」アイデアが間違っていることがわかりました。するauth
明らかにこのようなことが前に起こったので必要でしたaccount
。使用しようとすると何とかfaildelay
実行されません。私の考えでは、sshdが最初に「間違ったユーザー」を検出したり、「正しいユーザー+無効なパスワード」としてのみ機能するため、モジュールスタックを誤解しているようです。しかしpam_exec sleep
、スタック全体がauth
正常に機能する前に無条件に追加する(PIDの無駄な値は「OK」ですが、すべてのログイン試行は3つのsshdプロセスを生成するので気にしません)それ安全なPAMモジュールを作成するために自分自身を信頼するのと同じです)