私はカスタムアプリケーションを外部変調から最大限に保護しようとしています。
ユーザーを刑務所に閉じ込めることに関する多くのページを見ましたが、一般的には多くの例外が含まれているので、そのユーザーをできるだけロックしたいと思います。
ユーザーは、次のことができる必要があるwebsocket ++クライアントおよびサーバーアプリケーションのみを実行できます。
- 443から別のポート(たとえば8000)に転送される着信接続ポートを許可します。
- 発信接続を探す
- ローカルPostgreSQLサーバーとの通信
- アプリケーション実行ディレクトリの特定のファイルを読み書きします。
- 出力を受け取る
ntpd -c 'rv'
- キーボード入力を受け入れる
私の意図をどのように達成しますか?
答え1
もしあなたが本当に
このユーザーをできるだけブロックしたいです。
仮想マシンを作成します。 chrootは実際にこのプロセスを分離しません。
実際の仮想マシンが重すぎる場合は、以下を見てください。Linuxコンテナ、仮想マシンの軽量バージョンです。しかし、設定するのは難しいです。
もっと軽いものが欲しいなら、SELinuxの設定を試してみてください。設定は難しいかもしれませんが、必要に応じて正確に実行する必要があります。
chrootはセキュリティ手段ではなく、これを解決する方法はいくつかあります。