---
title: "ファイルアップロード機能の安全確保"
slug: "secure-the-file-upload-functionality"
abstract: "アップロードフォルダの安全確保、アップロードウォッチャーの無効化、特定のファイルタイプのSitecoreへのアップロード防止の方法。"
---
# ファイルアップロード機能の安全確保

**適用対象**

すべての [主要役割](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/roles-overview.html)

**Sitecoreインストールフレームワーク**

ファイルのアップロードはデフォルトでは安全ではありません。

**Azure Toolkit**

ファイルのアップロードはデフォルトでは安全ではありません。

アップロードフォルダのスクリプトと実行権限を拒否することで、Sitecoreインストールのセキュリティ強化が可能です。

## アップロードフォルダのスクリプトと実行権限を拒否する

ユーザーがuploadフォルダの内容を変更できるようにすれば、スクリプトや実行可能プログラムをフォルダに配置する権限も与えられます。これらのスクリプトやプログラムを実行すると、サーバー上で予期せぬ動作を引き起こすことがあります。

これを避けるために、アップロードフォルダ内のスクリプトや実行ファイルを実行する権限を拒否し、ユーザーがアップロードファイルをサーバー側で実行できないようにすることができます。

> !注このステップは、設定上コンテンツ作成者が直接アップロードフォルダにファイルを置ける場合のみ必要です。例えば、共有ディレクトリやFTPサーバーを使う場合、コンテンツ作成者は多くのメディアを素早くメディアライブラリに配置できます。

詳細は[Microsoft](http://support.microsoft.com/kb/313075)のウェブサイトをご覧ください。

アップロードフォルダのスクリプト権限と実行権限の両方を拒否するために。

1.  インターネット情報サービス(IIS)マネージャーを開きます。
    
2.  該当ウェブサイトのアップロードフォルダをクリックしてから、**IIS**セクションの下で **「ハンドラーマッピング」**をダブルクリックしてください。
    
    ![FEE1C21AA0144F8FAE53E56913F4CE2C.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/FEE1C21AA0144F8FAE53E56913F4CE2C.png)
    
3.  **アクション**ペインで**「機能権限の編集**」をクリックします。
    
4.  **機能権限編集**ダイアログボックスで「**スクリプト**」と**「実行**」のチェックボックスをクリアし、**OK**をクリックします。
    
    ![handler-mappings-21.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/handler-mappings-21.png)
    

もし設定でコンテンツ作成者が共有ディレクトリやFTPサーバーを使って直接tempフォルダにファイルを置ける場合、tempフォルダのスクリプト権限と実行権限もユーザーに拒否すべきです。

これにより、例えば.aspxファイルがtempフォルダに保存されている場合(カスタムコードなど)などの潜在的なセキュリティ問題を回避できます。

## アップロードウォッチャーを無効にしてください

Sitecoreにファイルをアップロードする唯一の方法がメディアライブラリからであることを確保するには、アップロードウォッチャーを無効にしてください。つまり、Sitecoreクライアント内からのみファイルをアップロードでき、アップロードされたファイルをコントロールできます。

アップロードウォッチャーを無効にすると、アップロードフォルダに置かれたファイルは自動的にメディアライブラリにアップロードされません。

アップロードウォッチャーを無効にするには:

-   web.configファイルを開き、<system.webServer>8セクションから以下の文字列を削除してください :

<add type="Sitecore.Resources.Media.UploadWatcher,Sitecore.Kernel" name="SitecoreUploadWatcher"/>

## ユーザーが特定のファイル形式をアップロードするのを防ぐ

.exeや.dllなどの特定のファイル形式を完全にコントロールし、アップロードを防ぎたい場合は、アップロードフィルターツールを利用できます。

### アップロードフィルターツールをダウンロードしてインストールしてください

アップロードフィルターツールは [ダウンロード](https://archive.doc.sitecore.com/SdnArchive/upload/sitecore6/security_hardening_guide_upload_filter_tool.zip)可能なSitecoreパッケージです。

アップロードフィルターツールには以下のファイルが含まれています:

ファイル名

宛先フォルダー

UploadFilter.config

ウェブサイト\\App\_Config\\Include\\

UploadFilter.dll

ウェブサイト\\bin\\

アップロードフィルターツールをインストールするには:

1.  Sitecore Launchpadでコントロール **パネル**をクリックしてください。
2.  **管理**セクションの「**パッケージをインストールする**」をクリックします。
3.  ウィザードの手順に従ってまずパッケージをダウンロードし、その後インストールしてください。

### アップロードフィルターツールの設定

アップロードフィルターツールをインストールした後は、設定が必要です。

アップロードフィルターツールの設定:

1.  UploadFilter.configファイルを開け。
    
    <processors>
     <uiUpload>
     <processor mode="on" type="Sitecore.Pipelines.Upload.CheckExtension, Sitecore.UploadFilter" patch:before="\*1">
     <param desc="Allowed extensions (comma separated)"></param>
     <param desc="Blocked extensions (comma separated)">exe,dll</param>
     </processor>
     </uiUpload>
    </processors>
    
2.  特定のファイル形式のアップロードを防ぐために:
    
    -   Allowed extensionsパラメータに、アップロード可能な拡張子タイプのカンマ区切りリストを入力します。
    
    あるいは
    
    -   Blocked extensionsパラメータに、アップロードできない拡張子タイプのカンマ区切りリストを入力します。
    
    ファイル拡張子はドットなしで入力する必要があります。
    
    > !重要Allowed extensionsパラメータを設定すると、Blocked extensionsパラメータは無視されます。
    
    ブロックリストにあるファイル形式をアップロードしようとすると、以下のメッセージが表示されます:
    
    ![upload-watcher-result1.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/upload-watcher-result1.png)
    

> !注アップロードフィルターツールをインストールした後、アップロード中にエラーが発生するとアップロードダイアログがフリーズすることがあります。これは既知の問題であり、[解決策](https://kb.sitecore.net/articles/423433)があります。