これは別の質問へのコメントで出てきたので、誰かが私にこの理由を説明できればそれが大好きです。
特定のVHostのエラーをユーザーのホームディレクトリに記録するようApacheに提案しました。これは安全ではなかったため撃ち落とされました。どうして?
返信のコメントで説明を求めましたが、ルートが所有していないフォルダーにルートを書き込むことは安全ではないということしか得られませんでした。繰り返しますが、誰か説明できますか?
おかげで、
バート。
これは別の質問へのコメントで出てきたので、誰かが私にこの理由を説明できればそれが大好きです。
特定のVHostのエラーをユーザーのホームディレクトリに記録するようApacheに提案しました。これは安全ではなかったため撃ち落とされました。どうして?
返信のコメントで説明を求めましたが、ルートが所有していないフォルダーにルートを書き込むことは安全ではないということしか得られませんでした。繰り返しますが、誰か説明できますか?
おかげで、
バート。
回答:
ので悪のユーザーが悪意を持ったファイルを指すように試みることができる別の場所に書き込んでいます。これはそれほど単純ではありませんが、本当に可能です。root
例として、想定されるApacheログから、たとえば/ etc / shadowへのシンボリックリンクを作成する方法をユーザーが見つけた場合、突然システムが使用できなくなります。Apache()はユーザーの資格情報を上書きし、システムに障害を起こします。root
ln -s /etc/shadow /home/eviluser/access.log
access.logファイルがユーザーによって書き込み可能でない場合、それをハイジャックするのは難しい場合がありますが、可能性を避ける方が良いです!
logrotateを使用してジョブを実行し、まだ存在しないファイルへのリンクを作成することもできますが、ログが大きくなるとすぐにそのlogrotateが上書きされます。
ln -s /etc/shadow /home/eviluser/access.log.1
注:
シンボリックリンクの方法は、概念実証として与えられ、攻撃の可能性のうちの1つにすぎません。
セキュリティは、問題であることがわかっているものをブラックリストに載せるのではなく、ホワイトリストの考え方で作成する必要があります。
+t
ビットが設定されていない場合)。たとえファイル自体への書き込み権限がない場合でも(unlink()はディレクトリへの書き込みであり、ファイル)。rootが事前にファイルを作成した場合でも、ディレクトリ所有者はそれを削除して、他のシンボリックリンクに置き換えることができます。