IIS モジュールをインストールする

要件

  • Windows サーバー 2016 (Windows 10) 以上 (64ビット)

  • IIS 10 以上

  • Windows 用の Next-Gen WAF エージェントがインストールされていることを確認してください。これにより、ファイルシステムに適切なフォルダ構造が確保されます。

設定前の注意点

  • 64 ビット OS のみがサポートされます (64ビットのアプリケーションプールを含む)。Windows の古いバージョンや 32 ビットバージョンの場合、Next-Gen WAF エージェントをリバースプロキシとしてデプロイすることが可能です。Windows の古いバージョンや 32 ビットバージョンに関するご質問やサポートが必要な場合は、サポートチームにお問い合わせください。

  • IIS Module v2.0 以降には、診断情報を出力するユーティリティ sigscictl.exe が含まれています。このユーティリティが提供する情報は、トラブルシューティングに有用であり、サーバー上で 32 ビットのアプリケーションプールが有効になっているかどうかなどを確認できます。

ダウンロード

最新バージョンの IIS モジュールは、MSI インストーラーまたはレガシー ZIP アーカイブとして、dl.security.fastly.com または dl.signalsciences.net からダウンロードできます。

また、IIS モジュールは NuGet 経由でもダウンロード可能です。

インストール

IIS モジュールは、MSI インストーラーまたはレガシー ZIP アーカイブとして提供されます。インストールパッケージには、IIS ネイティブモジュールとして設定する必要がある DLL と、IIS に登録する必要がある設定スキーマが含まれています。MSI パッケージを使用する場合、IIS への設定および登録は自動的に行われますが、レガシー ZIP アーカイブを使用する場合は手動で行う必要があります。

MSI を使用してインストールする

MSI ファイルをダブルクリック (または右クリックしてインストールを選択) してインストールします。

もしくは、無人インストールの場合、次のコマンドを使用します。このコマンドは出力を表示しませんが、デフォルトで %PROGRAMFILES%\Signal Sciences\IIS Module にインストールされます。また、Next-Gen WAF モジュールおよび設定を IIS に登録します。

ヒント: ログインセッションがすでに管理者として実行中でない場合は、管理者の認証情報を求められることがあります。

$ msiexec /qn /i sigsci-module-iis_latest.msi

別のインストール場所が必要な場合は、上記の msiexec.exe コマンドの INSTALLDIR=path オプションを使用して指定します。例:

$ msiexec /qn /i sigsci-module-iis_latest.msi INSTALLDIR=D:\Program Files\Signal Sciences\IIS Module

ZIP アーカイブを使用したレガシーインストール

重要: この方法は将来的にサポートされない可能性があります。以前に ZIP アーカイブを使用していた場合でも、MSI 経由でインストールすることをお勧めします。

  1. ZIP アーカイブの内容を、IIS モジュールのインストールディレクトリ (C:\Program Files\Signal Sciences\IIS Module) に展開してください。

  2. 管理者として実行するターミナルを開きます。

  3. IIS を設定して Next-Gen WAF モジュールをロードし、設定スキーマを登録します。

    $ cd "%PROGRAMFILES%\Signal Sciences\IIS Module"
    $ .\SigsciCtl.exe Install

別の場所にインストールする必要がある場合は、SigsciCtl.exe ユーティリティを使用し、Register-Module -file DLL-pathRegister-Config -file XML-path、およびオプションの Configure-Module コマンドを実行する必要があります (詳細については、SigsciCtl.exe Help を参照してください)。SigSciIISModule.dllC:\Users\ ディレクトリやそのサブディレクトリに存在しないことを確認してください。セキュリティ上の理由から、Windows は C:\Users\ のどの場所からも DLL ファイルがロードされるのを禁止します。

インストールを検証する

モジュール DLL が IIS に登録されていることを確認するには、管理者として実行しているターミナルから次のコマンドを実行し、SignalSciences モジュールが一覧表示されていることを確認します。

$ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Get-Modules

次のような内容が出力されます。

IIS Global Modules:
Name Image Precondition
-------------------------------- ------------------------------------------------------------------------ ------------------------
HttpLoggingModule %windir%\System32\inetsrv\loghttp.dll
UriCacheModule %windir%\System32\inetsrv\cachuri.dll
FileCacheModule %windir%\System32\inetsrv\cachfile.dll
TokenCacheModule %windir%\System32\inetsrv\cachtokn.dll
HttpCacheModule %windir%\System32\inetsrv\cachhttp.dll
StaticCompressionModule %windir%\System32\inetsrv\compstat.dll
DefaultDocumentModule %windir%\System32\inetsrv\defdoc.dll
DirectoryListingModule %windir%\System32\inetsrv\dirlist.dll
ProtocolSupportModule %windir%\System32\inetsrv\protsup.dll
StaticFileModule %windir%\System32\inetsrv\static.dll
AnonymousAuthenticationModule %windir%\System32\inetsrv\authanon.dll
RequestFilteringModule %windir%\System32\inetsrv\modrqflt.dll
CustomErrorModule %windir%\System32\inetsrv\custerr.dll
ApplicationInitializationModule %windir%\System32\inetsrv\warmup.dll
SignalSciences C:\Program Files\Signal Sciences\IIS Module\SigsciIISModule.dll bitness64

モジュール設定が登録されていることを確認するには、管理者として実行しているターミナルから次を実行し、現在の設定を出力します。

$ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Get-Configs

出力は次のようになりますが、サイト (ワークスペース) が個別に一覧表示される場合もあります。

C:\WINDOWS\system32\inetsrv\config\schema:
Date Size Name
-------------------- ------------ --------------------------------
2020-02-13 03:12:56Z 677 SignalSciences_schema.xml
"SignalSciences" Configuration Section (Global):
Attribute Value
-------------------------------- ----------------------------------------------------------------
agentHost
agentPort 737
statusPagePath
Debug False
ReuseConnections False
MaxPostSize 100000
AnomalySize 524288
AnomalyDurationMillis 1000
TimeoutMillis 200

完全な診断情報は次のコマンドで表示できます。

$ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Info

設定する

通常、設定の変更は必要ありません。デフォルトでは、モジュールはポート 737 を使用してエージェントと通信します (v2.0.0 以降では、エージェントが代替ポートを使用する設定の場合、そのポートを使用します)。設定は MSI インストーラー、v2.0.0 以降の新しい SigsciCtl.exe ユーティリティ、IIS Manager UI、PowerShell、または appcmd.exe ユーティリティを介して行うことができます。

重要: モジュール設定とエージェント設定の両方で同じポート番号が使用されていることを確認してください。

MSI を使用する

MSI のインストール時に設定オプションを設定するには、コマンドラインでオプションを option=value 形式で指定します。例:

$ msiexec /qn /i sigsci-module-iis_latest.msi agentHost=203.0.113.182 agentPort=737

SigsciCtl.exe の使用

SigsciCtl.exe ユーティリティを使用すると、次のことができます。

  • Configure-Module コマンドを使用して設定オプションを設定します。例:

    $ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Configure-Module agentHost=203.0.113.182 agentPort=737
  • Get-Configs コマンドを使用してアクティブな設定を表示します。

    $ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Get-Configs

    次のような内容が出力されます。

    C:\WINDOWS\system32\inetsrv\config\schema:
    Date Size Name
    -------------------- ------------ --------------------------------
    2020-02-13 03:12:56Z 677 SignalSciences_schema.xml
    "SignalSciences" Configuration Section (Global):
    Attribute Value
    -------------------------------- ----------------------------------------------------------------
    agentHost
    agentPort 737
    statusPagePath
    Debug False
    ReuseConnections False
    MaxPostSize 100000
    AnomalySize 524288
    AnomalyDurationMillis 1000
    TimeoutMillis 200
  • SigsciCtl.exe ユーティリティのデバッグモードを有効にします。

    "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Configure-Module Debug=True

    ヒント: Fastly サポートのヘルプが必要ですか?デバッグモードを有効にして、Fastly にイベントビューアーのログを送信してください。

PowerShell を使用する

PowerShell を介して設定オプションを設定するには (最新の Windows のみ)、次のように -SectionPath "SignalSciences" オプションを使用します。

$ Set-IISConfigAttributeValue -ConfigElement (Get-IISConfigSection -SectionPath "SignalSciences") -AttributeName "agentPort" -AttributeValue 737

PowerShell を使用して設定を一覧表示するには、次を実行します。

$ (Get-IISConfigSection -SectionPath "SignalSciences").RawAttributes

PowerShell を使用して設定をデフォルトにリセットするには、次を実行します。

$ Clear-WebConfiguration -Filter SignalSciences -PSPath 'IIS:\'

appcmd.exe を使用する

設定オプションを appcmd.exe コマンドラインツールで設定するには、-section:SignalSciences オプションを使用します。例:

$ "%SYSTEMROOT%\system32\inetsrv\appcmd.exe" set config -section:SignalSciences -agentPort:737

appcmd.exe を使用して設定を一覧表示するには、以下を実行します。デフォルト値は表示されません。

$ "%SYSTEMROOT%\system32\inetsrv\appcmd.exe" list config -section:SignalSciences

appcmd.exe を使用して設定をデフォルトにリセットするには、次を実行します。

$ "%SYSTEMROOT%\system32\inetsrv\appcmd.exe" clear config -section:SignalSciences

アンインストールする

  1. 管理者として実行するターミナルを開きます。

  2. ターミナルで次を実行します。

    $ cd "\%PROGRAMFILES%\Signal Sciences\IIS Module"
    $ .\SigsciCtl.exe Uninstall

アップグレード

IIS モジュールをアップグレードするには、IIS モジュールの最新バージョンをダウンロードしてインストールし、モジュールの設定がまだ有効であることを確認してください。

以前に ZIP アーカイブを使用してモジュールをインストールしたことがある場合は、MSI パッケージを使用してモジュールをアップグレードすることをお勧めします。MSI v1.10.0 以降は、古いバージョンの ZIP ファイルインストールの上書きインストールが可能です。

ヒント: IIS モジュールのリリースノートで、IIS モジュールの新機能を確認してください。

  1. MSI パッケージ
  2. ZIP アーカイブ
  1. 最新の IIS モジュール MSI を dl.security.fastly.com または dl.signalsciences.net からダウンロードします。

  2. IIS モジュールをインストールします。

  3. モジュール設定がまだ有効であることを確認します。