最善の方法は、アプリケーションごとに別々のシステムアカウントを作成することです。これにより、セキュリティ違反が発生すると、攻撃者は特定のアカウント内で隔離され、それ以上害を及ぼすことができなくなります。
ホームディレクトリとシステムのユーザー数に関するベストプラクティスが何であるかを尋ねたい。
Node.jsアプリケーションは複数ありますが、すべて私のサーバーが所有する1つのユーザーアカウントで実行されます。
アプリケーションごとにユーザーを作成し、関連ファイルをホームディレクトリに保存する必要がありますか、またはすべてのNode.jsアプリケーションに対して1人のユーザーを作成する必要がありますか?私がしなければならないいいえホームディレクトリを作成し、各アプリケーションをシステムディレクトリに配置しますか?
どんなアドバイス*でもいただければ幸いです。
答え1
理想的には、次の場合は異なるアプリケーションを分離する必要があります。
- たとえば、サービスを実行しているユーザー
http
- データが必要な場合は、特定のホームディレクトリを入手してください。その他
httpadmin
適切なファイルシステム権限を持つユーザー(たとえば)とユーザーhttpgroup
のグループを設定すると、アプリケーションはファイルを読み取ることができますが、変更することはできません。http
httpadmin
permission user group file
-rw-r--r-- httpadmin httpgroup somefile
最も重要なのは、これらのユーザーが使用するリソース(CPU、メモリ、プロセス、ディスク領域)も制限する必要があることです。これはかなり複雑になる可能性があり、コンテナなどの技術が役立ちます。
これらはすべて基本的に最小権限の原則