Magentoは、シンボリックリンク経由でテンプレートを使用しないことをお勧めします。
Advanced > Developer > Template Settings > Allow Symlinks
警告!この機能を有効にすることは、潜在的なセキュリティリスクを表すため、実稼働環境では推奨されません。
今日まで、私はここでリスクを見ることはできません。
- リスクは何ですか?
Magentoは、シンボリックリンク経由でテンプレートを使用しないことをお勧めします。
Advanced > Developer > Template Settings > Allow Symlinks
警告!この機能を有効にすることは、潜在的なセキュリティリスクを表すため、実稼働環境では推奨されません。
今日まで、私はここでリスクを見ることはできません。
回答:
シンボリックリンクは必ずしも悪いわけではありません。
まず第一に:symlinkターゲットを開こうとすると、ターゲットのファイル許可が有効になります。symlinkターゲットの読み取り/書き込み/実行が許可されていない場合、何も起こりません。
ただし、ドキュメントルートの外部でファイルを実行できる場合があります(実際にファイルを使用してやりたいこともありますよね?)。この問題は、suEXEC環境ではなく、共有ホスティング上のユーザーapache
またはwww-data
ユーザーが異なるアカウントからのファイルの提供を担当している場合に発生する可能性があります。システムユーザーは別の顧客のファイルにアクセスすることはできませんが、apache/www-data
ほとんどの場合、ユーザーはすべての共有アカウントに対する読み取り権限を持ちます。これは、あるユーザーが共有ホスト上の別のユーザーのファイルにアクセスできるシナリオです。自分のユーザーではなく、apache/www-data
ユーザーを使用してブラウザ経由でファイルにアクセスします。要約すると、このシナリオでは、他のユーザーのファイルにアクセスできます=> bad。
次に悪いのは、攻撃者が/ etc / passwdなどのファイルにもシンボリックリンクを作成し、このデータをダウンロードしてこの情報を処理できることです。これは、シンボリックリンクだけでなく、不適切なサーバー構成(これらのファイルへのアクセスが厳密に制限されている)までもあります。したがって、シンボリックリンクを使用しないことで、さらに起こりうる攻撃を防ぐことができます。
シンボリックリンク自体がセキュリティリスクであるだけでなく、サーバー構成の問題でもあります。
app/design
、他のマイナーなエクスプロイトと組み合わせた場合、フォルダー外のテンプレートおよびレイアウトファイルのエクスプロイトに関連していましたが、管理者ユーザーが特権の昇格やその他のサーバーの悪用に使用する可能性があります。
SymLinksIfOwnerMatch
場合は、の代わりにオプションを使用することを検討してFollowSymlinks
ください。
はい、そうです。ウェブサーバーは通常、「シンボリックリンクをたどらない」設定、または少なくとも「同じユーザーのターゲットのシンボリックリンクのみをたどる」設定を持っているのは、webserver / phpが通常より多くの権限で実行されるためです。
そして、ウェブサーバーは通常、目に見える/ etc / shadowのようなことを避けようとするので、include()を介してテンプレートが解析されるため、ファイルを完全に制御できない場合に非常に強力なセキュリティリークが発生する可能性があるため、magentoテンプレートはさらに危険です。
あなたは、他の問題もあると主張するかもしれませんが、誰もがすべての潜在的な攻撃シナリオを本当に知っています。
また、メディアディレクトリとシンボリックリンクに関するセキュリティ修正がしばらく前にあったため、攻撃シナリオの可能性を確認する必要があります。
これは共有ホストでのリスクであるとしか想像できませんが、そもそもeコマースに使用すべきではありません。
MagentoパッチSUPEE-9767には、APPSEC-1281:symlinksを介したリモートコード実行が含まれています。そのため、テンプレートのSymlinksはセキュリティ上の問題です。
タイプ:
リモートコード実行(RCE)CVSSv3の深刻度:
8.8(高)既知の攻撃:
はい。攻撃者は管理者アクセスを取得した後、構成保護を無効にし、悪意のあるコードをアップロードしています。説明:
構成設定でAllowSymlinksオプションを使用すると、悪意のあるコードを含む画像のアップロードが可能になります。このオプションはデフォルトで無効になっていますが、構成設定を保存するアクセス権を持つ攻撃者はこのオプションを有効にして、リモートでコードを実行できます。影響を受ける製品:
1.9.3.3より前のMagento CE、および1.14.3.3より前のMagento EE修正先:
CE 1.9.3.3、EE 1.14.3.3、SUPEE-9767レポーター:
ウィルコ・ニーエンハウス
許可することはお勧めしません。シンボリックリンクが有効になっている間、jsロードエラーに直面していました。
沢山の;
TypeError:$ .widgetは関数ではありません
正常にロードされたページに対して4〜5のリフレッシュを試行する必要があります。
閉じた後、初めてリソースのロードが遅くならず、jsエラーがなくなった可能性があります。
PS:シンボリックリンクを無効にした後、static.phpを変更するたびにファイルのデプロイされたコピーを削除して、コピーしてください。