/tmp/
私は自分自身をダウンロードし、その結果をディレクトリ内の新しく作成されたディレクトリに保存しようとする脆弱性の基本を扱いたいと思います。
セキュリティ上の理由から、その中にフォルダが作成されないことを願っています/tmp/
。または、これが不可能な場合は、特定のディレクトリにフォルダが作成されないようにしたいと思います/tmp
。
ベストアンサー1
を使用すると、ls -l -d /tmp/
権限がに設定されていることがわかります。drwxrwxrwt
つまりd
、ディレクトリ、rwx
:所有者、グループ、およびその他(順番に)に対する読み取り、書き込みおよび実行権限を許可、t
固定ビット、つまり所有者のみを許可します。ファイルを削除します(権限はありますがグループではありません)。今では、粘着性のある部分は、残してアクセス可能にするにはディレクトリが実行可能でなければならないことに言及します。
他の人(所有者とグループはルートです)の書き込み権限を制限するには、chmod o-w /tmp/
rootとして使用します(つまり、use sudo
)。
ただし、/tmp/
一時データが必要になる可能性があるプロセスには非常に重要なので、このフォルダへのアクセス権をまったく制限しないことをお勧めします。
特定のフォルダに移動しようとしているので、最も簡単な方法はフォルダを手動で(ルートとして)作成し、その権限を制限することです。
sudo mkdir /tmp/badfolder
sudo chmod -R o-w /tmp/badfolder/
chmodに関する注意:-R
u、g、o:user、group、other、+ -を再帰的に実行して、r、w、x読み取り、書き込み、実行権限を追加/削除します。つまり、グループメンバーがファイルに書き込むことを許可するにはchmod g+w file
。
修正する:
プロセスがrootとして実行されている場合は、「i」属性も設定する必要があります。 ~からman chattr
「i」属性を持つファイルは変更できません。削除したり名前を変更したり、ファイルへのリンクを作成したり、ファイルにデータを書き込めません。スーパーユーザーまたはCAP_LINUX_IMMUTABLE機能を持つプロセスのみがこのプロパティを設定または消去できます。
フォルダがルートに属していない場合でも機能します。ただ使用
chattr +i /tmp/badfolder
chattr -i /tmp/badfolder
これを削除して再帰-R
的に操作を実行するために使用されます。