このアイデアは愚かで実行できないかもしれませんが、それに関する参考資料を見つけることができません。
ご存知のように(SEは確かにそうです!)SSHセキュリティを強化する一般的なステップの1つは、ファイルアクセス権が十分であればchrootでユーザーをロックすることです。 OpenSSHは長年このようなchrootベースの刑務所を提供してきました。
しかし、このアプローチは柔軟性が不足しており(全部または専務、SFTPのみなど)、システムコールの誤用によって発生します(セキュリティに影響を与えるため、「刑務所はルートが所有する必要があります」などの提案はほとんど理解されていません) 。
これでOpenSSHがsshd.socket
利用できるようになり、[email protected]
Linuxネームスペース(当時無料で利用可能)を使用してユーザーを制限したいと思います。
驚くべきことに、この代替案ではほとんど何も見つかりませんでした。だから私の質問は、この目的のためにchrootの代わりに名前空間を使用しない理由があるかどうかということです。
答え1
あなたはそれを試して、それがどのように機能するかを報告する必要があります。すべてのことは、常に誰かが最初です!
しかし、私の心配はこれがうまくいかないということです。 OpenSSHはchroot
すべての鍵交換、認証、およびすべての操作が完了した後に呼び出されますが、Systemdはsshdプロセスを開始する前にネームスペースを強制的に適用し(動作を正しく理解した場合)、ユーザー認証を処理できません。また、サービスファイルではリンクされたユーザーを区別できないため、すべての名前空間を指定できますか?このシステムを維持するには、通常の管理者としてどのように接続しますか?私はこれが確かに良いアイデアであり、他のサービスに役立つと思いますが、OpenSSHの要件のために(無料で)これを「乱用」することはできないと思います。