
Linux マシンで Web アプリ用のユーザー アカウントを設定するための主なガイドラインは何ですか?
私の場合は、ファイル管理を行う Rails アプリケーションです。
最初に思いつくのは、必要なディレクトリのみにアクセス権を制限することです。しかし、具体的にどのようにすればよいのでしょうか? ユーザー グループを通じて、またはそれらのディレクトリのユーザーの所有権を通じて権限を設定します。ユーザー権限管理の経験はほとんどありません。
他に何を考慮する必要がありますか? ACL と SELinux について聞いたことがありますが、シンプルな Web アプリの適切なセキュリティを保証するために、これらのいずれかを検討する必要がありますか?
これに関するアドバイスや、言及されていないことがあれば何でも歓迎します。ありがとう、マックス。
Ubuntu を使用します。
答え1
あまり夢中になる必要はありません。既存のグループに属していない一意のユーザーとして Web アプリケーションを実行したいだけです。システムがさまざまなユーザー レベルのアカウントに不適切な書き込みアクセス (または読み取りアクセス) を与えない限り、問題ありません。よりハードコアな方法が必要な場合は、chroot jail を試すことができます。「rails chroot」または「apache chroot jail」を Google で検索すると、さまざまなドキュメントが見つかります (Apache を前面に出しているかどうかはわかりません)。
ただし、ファイル管理を行う場合は、入力内容をサニタイズする必要があります(http://guides.rubyonrails.org/security.html方法については、こちらをご覧ください。そうしないと、入力が不正になり、予期しない場所にあるファイルにアクセスされる可能性があります。(chroot はシステム ディレクトリではないことを保証するのに役立ちますが、これを行わない限り、アプリのユーザーが他のユーザーとやり取りできるようになります)。