web-dev-qa-db-ja.com

fstabのnodevとnosuidの説明

誰かがtmpfsまたはramfsをマウントする方法を説明しているとき、私はこれらの2つのオプションが常にWeb上で提案されているのを見ます。多くの場合、noexecも使用しますが、特にnodevとnosuidに興味があります。私は基本的に、誰かが提案したことを本当の意味で理解せずに盲目的に繰り返すことを嫌います。そして、これについてはネット上でのコピー/貼り付けの指示しか見ていませんので、こちらでお願いします。

これはドキュメントからです:
nodev-ファイルシステム上のブロック特殊デバイスを解釈しません。
nosuid-suidおよびsgidビットの操作をブロックします。

ただし、これら2つを省略した場合にどうなるかについて、具体的な説明をお願いします。システム上の特定の(root以外の)ユーザーがアクセスできる(読み取りと書き込み)tmpfsまたはramfs(これら2つのオプションは設定されていない)を構成したとします。そのユーザーはシステムに害を与えるために何ができますか? ramfsの場合に使用可能なすべてのシステムメモリを消費する場合を除く

48
Ivan Kovacevic

ハードルールとしてこれを盲目的に実行する必要はありません。しかし、よりセキュリティ重視の状況の理由は次のとおりです。

  • Nodevマウントオプションは、ファイルシステムに特殊なデバイスを含めることができないことを指定します。これはセキュリティ上の予防措置です。このようなユーザーが世界中からアクセスできるファイルシステムに キャラクターデバイス を作成したり、ランダムなデバイスハードウェアにアクセスしたりする可能性は必要ありません。

  • Nosuidマウントオプションは、ファイルシステムに設定されたユーザーIDファイルを含めることができないことを指定します。 rootエスカレーションまたはその他のひどいリスクがあるため、誰でも書き込み可能なファイルシステムでsetuidバイナリを防止することには意味があります。

それだけの価値があるので、私はこれらのパラメーターを頻繁に使用しません...コンプライアンスに関する他の考慮事項がある公共向けシステムでのみ使用します。

39
ewwhite