このページdebootstrap
このユーティリティを使用して、既存のLinuxシステムにデフォルトのDebian stable / sidシステムをインストールする方法について説明します。を使用して新しいインストールにアクセスできますchroot
。
このタスクを実行するときにどのような安全上の問題を知っておくべきですか?たとえば、バックグラウンド/起動プロセスが新しいchrootで起動したり、メインシステムを妨げたりするのを防ぐためにどのような措置を講じる必要がありますか?
答え1
Chrootだけではセキュリティは提供されません。つまり、chrootプロセスがシステム内のすべてにアクセスできるようにchrootを処理します。なぜならしばしばそうするからです。また、見ることができますchroot "jail" - これは何で、どのように使用しますか?-- 注意を払うMichael Mrozekの口コミ
「chroot刑務所」は間違った名前なので消えなければなりません。
Chrootは単にセキュリティ機能よりも便利なファイルアーカイブ方法です。信頼できないユーザーがファイル名(FTPサーバーなど)を指定できるようにするプロセスがある場合、chrootはユーザーがchroot以外のファイルを直接参照できないようにする方法です。特に、エスケープにつながる可能性があるファイルがchrootに含まれていないことを確認する必要があります。
- 最小限のデバイスファイル(
/dev/*
)のみをchrootに入れます。/dev
たとえば、ブロックデバイスが不要な場合はバインドマウントしないでください。 ttyデバイスと他のデータデバイス(/dev/null
、、、、...)のみを配置します/dev/zero
。/dev/urandom
- マウントしないでください
/proc
。これは大きな制限ですが、/proc
設計上多くの情報が公開されます。たとえば、chroot以外の一部のユーザーとして実行されているプロセス1234がある場合、chrootかどうかにかかわらず、すべてのプロセスが/proc/1234/root
。
chrootプロセスはまだchroot以外のプロセスにシグナルを送信したり、ネットワークソケットを開いたり、共有メモリにアクセスする/dev/shm
などの操作を実行できます(現在のLinuxでは利用可能な場合のみ)。インクルードに chroot を使用する場合は、chroot 内部プロセスを実行するユーザーとして chroot 外部プロセスを実行しないでください。
Chrootはまだ良い方法です同じオペレーティングシステムの異なるバージョンを実行する(同じコアを使用)1.セキュリティ上の問題がある場合、特に優れたツールがあります。FreeBSD刑務所そしてLinux cグループそしてLXC。完全な仮想化(VirtualBox、KVMなど)は、商用ハードウェアでも過去よりも実行可能なオプションになりました。
ところで、私の答えでは、私はDebian chrootでサービスを開始しない方法を説明しました。これはセキュリティ上の問題ではなく、サービスが協力的で正しく作成されたと仮定します。