クライアントが自分のアカウントを介して独自のインスタンスを作成するために使用できるように、ami を共有する必要があります。ただし、そのクライアントがインスタンスに ssh できるようにしたくありません。インスタンスを維持するには、インスタンスに ssh できる必要があります。ftp と www のアクセスしかありません。ssh 構成を介して動作する ftp および www アクセス部分があります。彼らが独自の鍵ペアでインスタンスを起動しているときに、どうすれば彼らを ssh から遠ざけることができますか?
2 に答える
このプロセスを使用して、このクレイジーなタスクを最終的に達成することができました。
1) ubuntu としてログインする 2) sudo および admin グループに属するユーザーを作成する 3) すべてのソフトウェアを newuser の下にインストールする 4) 新しいユーザーが必要なすべての権限を持っていることを確認する 5) ubuntu ユーザーを chroot して ftp アクセスのみに投獄する
ami が新しいゾーン/アカウントに送信されると、ubuntu ユーザーは sudoer として存在しますが、インスタンスに ssh できません。Ftp を使用すると、システムに接続できますが、裸のディレクトリが表示され、システム内の他の場所に cd することはできません。
完全な否定ではありませんが、このクライアントの目的には役立つと思います。
彼らがインスタンスを制御しているため、彼らが侵入することを決定した場合、これを実際に防ぐことはできません.
インスタンスを停止 → ルート EBS ボリュームをアンマウント → 他の場所にマウント → コンテンツを変更 → アンマウント → 再マウント → 再起動 → pwn3d.
ただし、ドキュメンテーションによると、公開鍵をロードするように AMI を構成しないと、AMIはそこに留まり、実際には機能しません。
Amazon EC2 では、ユーザーはインスタンスの起動時に公開鍵と秘密鍵のペア名を指定できます。有効なキー ペア名が RunInstances API 呼び出しに (またはコマンド ライン API ツールを介して) 提供されると、パブリック キー (CreateKeyPair または ImportKeyPair の呼び出し後に Amazon EC2 がサーバー上に保持するキー ペアの一部) が作成されます。インスタンス メタデータに対する HTTP クエリを介してインスタンスで使用できます。
SSH 経由でログインするには、AMI が起動時にキーの値を取得し、それを /root/.ssh/authorized_keys (または AMI 上の他のユーザー アカウントの同等の値) に追加する必要があります。ユーザーは、キー ペアを使用して AMI のインスタンスを起動し、ルート パスワードを必要とせずにログインできます。
説明したように、キーをフェッチして追加しない場合、インスタンスに「割り当てられた」という理由だけで、実際にはインスタンスへのアクセス権が付与されるようには見えません。