web-dev-qa-db-ja.com

最小限のIP、ファイル、およびコマンド権限を持つユーザーを絶対に投獄します

私は、外部からの改ざんから可能な限りカスタムアプリケーションを保護しようとしています。

ユーザーの投獄について多くのページを見てきましたが、通常は多くの例外が含まれているため、このユーザーを可能な限りロックダウンしたいと思います。

ユーザーは、次の機能を必要とするwebsocket ++クライアントおよびサーバーであるアプリケーションを実行するだけで済みます。

  • 443から別のポート(8000など)に転送された着信接続ポートを受け入れる
  • 発信接続を探す
  • ローカルのPostgreSQLサーバーと通信する
  • アプリケーションが実行されるディレクトリ内のいくつかの特定のファイルからの読み取りと書き込み
  • ntpd -c 'rv'から出力を取得します
  • キーボード入力を受け入れる

私の意図はどのように実装できますか?

2
user31705

あなたが本当に

このユーザーを可能な限りロックダウンしたい

仮想マシンを作成します。 chrootは、このプロセスを実際には分離しません。

実際の仮想マシンが重すぎる場合は、仮想マシンの軽量バージョンである linux container をご覧ください。ただし、構成は困難です。

さらに軽量なものが必要な場合は、SELinuxの構成を試みることができます。設定がさらに難しいかもしれませんが、それはあなたが望むことを正確に行うはずです

chrootはセキュリティ対策を目的としたものではなく、さまざまな方法で回避できます。

4
pqnet