
sshd_config を変更して新しいグループ マッチを追加し、その新しいグループに Forcecommand internal-sftp を与えることで、SSH 接続を強制的に SFTP のみ実行するようにする多くのソリューションが説明されています。
それはとてもうまく機能しますが、もう少し機能があれば嬉しいです。
私のサーバーは、短時間に頻繁に接続しようとする IP を自動的に禁止します。そのため、高速化のために複数の接続を開く SFTP クライアントを使用すると、サーバーによって長時間にわたって即座に禁止される可能性があります。
サーバーには、管理者がユーザーをホワイトリストに登録するスクリプトがあります。このスクリプトを変更して、スクリプトを実行するユーザーをホワイトリストに登録しました。
私が今やるべきことは、誰かがログインしたときにサーバーがそのスクリプトを実行するようにすることだけです。SSH では問題ありません。.bashrc などに入れるだけですが、Forcecommand はログイン時にこれらのスクリプトを実行しません。
Forcecommand が実行される前、または同時にこのようなシェルスクリプトを実行する方法はありますか?
答え1
問題が、人々がブルートフォース攻撃を試みていることである場合、SFTP サーバーのポートを変更してみてください。通常、スパム攻撃はポート 22 に対してのみ行われます。