46

私は最近、自分の認証ログを見始めましたが、驚くべきことに、中国のボットがこれをブルートフォースしようとしているのを見つけました (一生懸命努力しませんでした)。私は、ボットが決してチェックしない多くのことを変更することに全力を尽くし、ブルートフォースをより困難にしました。

私の質問は:

SSH 経由でサーバーにログインできるすべてのユーザーのリストを見つけようとしています。/etc/passwd にすべてのユーザーのリストがあることは知っていますが、そのうちの 1 人を除いてログインできるかどうかはわかりません。

私の目標は、ログインできるユーザーを 1 人だけにし、そのユーザーに強力なパスワードを持たせることです。

4

3 に答える 3

39

man sshd_config詳細についてはお読みください。ただし、ディレクティブを使用して、ログインAllowUsersできる/etc/ssh/sshd_configユーザーのセットを制限できます。

例えば

AllowUsers boris

borisユーザーのみが ssh 経由でログインできることを意味します。

于 2013-04-04T09:16:14.020 に答える
27

有効なシェルを持つすべてのユーザーが/etc/passwdログインできる可能性があります。セキュリティを向上させたい場合は、公開鍵認証を使用して SSH をセットアップし (これに関する情報はウェブ上にたくさんあります)、あるユーザーの~/.ssh/authorized_keysファイルに公開鍵をインストールし、パスワードベースの認証を無効にします。これにより、1 人のユーザー以外はログインできなくなり、ユーザーは一致する秘密鍵を所有している必要があります。秘密鍵に適切なパスフレーズがあることを確認してください。

ボットが侵入しようとするのを防ぐには、22 以外のポート (つまり 3456) で SSH を実行します。これによりセキュリティが向上するわけではありませんが、script-kiddies やボットが試行の失敗でログを乱雑にするのを防ぎます。

于 2013-04-04T04:55:48.407 に答える
7

のログイン シェル設定/etc/passwdが対話型シェルであるすべてのユーザがログインできます。プログラムが対話型シェルかどうかを判断する完全に信頼できる方法はないと思います。それが入っているかどうかを確認すること/etc/shellsは、おそらくあなたが得ることができるほど良いでしょう。

他のユーザーもログインできますが、そのユーザーが実行するプログラムでは、システムに多くのアクセスを許可するべきではありません。また、ログインがまったく許可されていないユーザーは/etc/false、シェルとして持っている必要があります。これにより、すぐにログアウトされます。

于 2013-04-04T03:54:07.077 に答える