リバースプロキシの Apache Web サーバーを使用して Mac と Linux クライアントが LiveUpdate コンテンツをダウンロードできるようにする方法
search cancel

リバースプロキシの Apache Web サーバーを使用して Mac と Linux クライアントが LiveUpdate コンテンツをダウンロードできるようにする方法

book

Article ID: 227924

calendar_today

Updated On:

Products

Endpoint Protection

Issue/Introduction

Symantec Endpoint Protection (SEP) の Mac 版と Linux 版クライアントで LiveUpdate コンテンツをダウンロードしたい。

Resolution

SEP 14.x 以降では、LiveUpdate のコンテンツを Mac 版と Linux 版クライアントにダウンロードする方法として、少なくとも 2 つのオプションがあります。

  • Symantec LiveUpdate Administrator 2.x (LUA 2.x) を使用する。この方法は、Mac や Linux のコンピュータの数が多い場合に最適なオプションです。
  • 小規模なインストールでは、Apache Web サーバーをリバースプロキシとして設定することができます。これにより、Symantec Endpoint Protection Manager (SEPM) と一緒にインストールされた Apache Web サーバーは、新しいコンテンツが公開されるたびに、Mac および Linux クライアント用の LiveUpdate コンテンツをローカルにダウンロードしてキャッシュします。この設定により、外部ネットワークの帯域を節約することができます。

以下は、SEPM の Apache Web サーバーを設定し、Mac および Linux 用の SEP クライアントが、Web サーバによって LiveUpdate コンテンツをダウンロードできるようにする手順です。このソリューションは、SEPM をキャッシュとして動作させるもので、Windows 用の定義ファイルのように Mac および Linux 用の定義ファイルを .dax ファイルにすることはありません。また、Mac および Linux 版の SEP クライアントがグループ更新プロバイダ (GUP) からコンテンツを更新できるようにすることでもありません。

注: リバースプロキシのインストールと設定、運用はテクニカルサポートが提供できる対応範囲を超えており、方法の一例を示す目的で現状のまま提供しています。

 


SEPM での Apache Web サーバーの設定

以下の手順で、リバースプロキシとして動作するように Apache Web サーバーを設定します。

1. semwebsrv サービス (Symantec Endpoint Protection Manager Webserver) と semsrv サービス (Symantec Endpoint Protection Manager) を停止します。
2. SEPM のインストールディレクトリの Apache フォルダ内に cache-root というフォルダを作成します。例: SEPM_Install\apache\cache-root

SEPM_Install のデフォルトのパスは以下の通りです。Symantec Endpoint Protection Manager Webserver を起動しているアカウントが SEPM_Install\apache\cache-root のフルコントロール権限を持っていることを確認してください。

    • C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager

3. \apache\modules フォルダ内に以下のファイルが存在するか確認してください。
ファイルが存在しない場合は、ダウンロードしたインストールフォルダーや DVD イメージの \Tools\Apache-ReverseProxy にあるファイルを SEPM_Install\apache\modules にコピーしてください。詳細は [セキュリティと互換性] をご覧ください。

    • mod_cache.so
    • mod_cache_disk.so 
    • mod_proxy.so
    • mod_proxy_http.so
    • mod_setenvif.so

4. SEPM_Install\apache\conf を参照し、httpd.conf を httpd-orig.conf にコピーして、オリジナルの設定ファイルをバックアップしてください。
5. httpd.conf を以下のように変更します。

    • 次の行を見つけて、下記のように "#" 文字を追加してコメントアウトします。
#AsyncSendFile anydirectory
    • 以下の行から "#" 文字を削除してコメントアウトを解除し、以下のように変更します。SEPM_Install は、SEPM がインストールされている実際のパス (スラッシュを使用) に変更してください。
AsyncSendFile givendirectory
ForceAsyncSendFile "SEPM_Install/Inetpub/content"
    • オプションでキャッシュログを有効化するには、httpd.conf で次の行を検索します。
LogFormat "%h %l %u %t \"%r\" %>s %b" common

下記の行に置き換えてください。

LogFormat "%h %l %u %t %{cache-status}e \"%r\" %>s %b" common
    • ファイルの最後に以下の行を追加します。

SEPM バージョン 12.1.5 以降の場合: 赤い文字は、12.1.4 に含まれる Apache のバージョンから変更されたファイル名を示しています。この機能を 12.1.4 で実装していた場合は、変更されたファイル名を httpd.conf で更新するだけで済みます。

 

# SEPM_APACHE_AS_PROXY_START Preserve this line to maintain configuration across SEPM upgrades
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule cache_module modules/mod_cache.so
LoadModule cache_disk_module modules/mod_cache_disk.so
LoadModule setenvif_module modules/mod_setenvif.so
     
<IfModule mod_proxy.c>
  <IfModule mod_cache.c>
    <IfModule mod_cache_disk.c>
      <IfModule mod_setenvif.c>
        SetEnvIf Request_URI "/luproxy/" dolog
        SetEnvIf Request_URI "/luproxy/.*_livetri.zip" no-cache
        CustomLog "|| bin/rotatelogs.exe logs/access-%Z.log 25M" common env=dolog
      </IfModule>
      ProxyPass /luproxy/ http://liveupdate.symantecliveupdate.com/ retry=0 smax=0 ttl=60
      CacheRoot "cache-root"
      # CacheRoot is a path defined relative to [SEPM_Install]/apache/

      CacheEnable disk /luproxy/
      CacheDirLevels 1
      CacheDirLength 5

      # directives to override any caching prohibitions in LiveUpdate content headers
      # see TECH230862
      CacheStoreNoStore On
      CacheIgnoreCacheControl On
      CacheStoreExpired On
      CacheIgnoreHeaders Cache-Control Pragma

      #allow downloads up to 1 GB
      CacheMaxFileSize 1000000000
    </IfModule>
  </IfModule> 
</IfModule>
# SEPM_APACHE_AS_PROXY_END Preserve this line to maintain configuration across SEPM upgrades

 

6. ファイルを保存してから閉じます。
7. semwebsrv サービス (Symantec Endpoint Protection Manager Webserver) と semsrv サービス (Symantec Endpoint Protection Manager) を起動します。


LiveUpdate ファイルをダウンロードしてプロキシサーバーが動作しているかどうかをテストするには、OS デスクトップの [スタート] - [ファイル名を指定して実行] をクリックし http://localhost:8014/luproxy/masttri.zip と入力してください。もし SEPM の Apache ウェブサーバーが 8014 とは異なるポートを使用している場合は、URL 内の 8014 を実際のポート番号に置き換えてください。

注意: massttri.zip ファイルは、ローカルの URL アドレスを介してリクエストされますが、そのリクエストは Symantec の公開 LiveUpdate サーバに渡されます。ファイアウォールが LiveUpdate を遮断しているかどうかを判断する にしたがって、SEPM から LiveUpdate サーバーへの接続が確立できることを確認してください。リバースプロキシも Symantec の LiveUpdate サーバーに直接接続する必要があり、他のプロキシを経由することはできません。

Apache Web サーバーへの LiveUpdate のダウンロードリクエストは、SEPM_Install\apache\logs\access-%Z.log に記録されます。

 

Mac および Linux クライアントの LiveUpdate ポリシーを更新し、新しい LiveUpdate サーバを指定する

以下の手順で、対象グループの Mac および Linux クライアント用の LiveUpdate ポリシーを更新してください。ポリシーが更新されると、これらのクライアントは、新しく設定された Apache Web サーバーを使って LiveUpdate コンテンツをダウンロードします。

  1. SEPM コンソールで [ポリシー] - [LiveUpdate] をクリックします。[LiveUpdate の設定] タブで、対象のグループに適用される LiveUpdate ポリシーをダブルクリックします。
  2. [Mac の設定] - [サーバーの設定] (または [Linux の設定] - [サーバーの設定]) で [指定した社内 LiveUpdate サーバを使う] をクリックし、[追加] ボタンを押して、[サーバー名] 欄に "SEPM HTTP LU Proxy" という名前を、[URL] 欄に http://<ServerIP>:8014/luproxy または http://<ServerName>:8014/luproxy と指定します。<ServerIP> または <ServerName> は SEPM をホストしているサーバの IP アドレスもしくはサーバー名を指します。もし SEPM の Apache Web サーバーが 8014 と異なるポートを使用している場合は、上記 URL の 8014 を実際のポート番号に置き換えてください。
  3. フォールバックサーバーとして Symantec LiveUpdate サーバ (http://liveupdate.symantecliveupdate.com) を追加してください。
  4. [Macの設定] - [スケジュール] (または [Linux の設定] - [スケジュール]) で、ダウンロードランダム化オプションを有効にしてください。オプションがグレーアウトしていない場合は [開始日時を時間単位でランダム化する]にチェックを入れます。これにより、1 日のうちの特定の時間帯に Apache Web サーバーの負荷が高くなることを防ぎます。

 

キャッシュファイルサイズの管理

キャッシュファイルサイズを管理するには、以下の手順で行います。

  1. htcacheclean.exe ファイルが SEPM_Install\apache\bin フォルダにあるかどうかを確認します。
  2. ファイルが指定された場所に存在しない場合は、DVD イメージの \Tools\Apache-ReverseProxy フォルダから htcacheclean.exe を SEPM_Install\apache\bin にコピーします。
  3. cache-rootフォルダへのフルアクセス権を持つアカウントでログインした状態で、以下のコマンドを入力します。SEPM_Install は、SEPM がインストールされている実際のパス (スラッシュを使用) に変更してください。
    htcacheclean -n -t -d1440 -l1024M -p"SEPM_Install/apache/cache-root"

これにより htcacheclean ツールがデーモンモードで実行されます。キャッシュのクリーニングは毎日の頻度で行われます。ディスク上で許可される最大のキャッシュサイズは 1 GB です。

Windows が起動するたびに htcacheclean デーモンを自動的に起動するには、次の手順を実行します。

  1. OS デスクトップの [スタート] - [ファイル名を指定して実行] をクリックして taskschd.msc と入力し [OK] をクリックします。
  2. タスクスケジューラーの右ペインで [基本タスクの作成] をクリックします。
  3. 新しいタスクに "Manage Apache Cache Size" などの名前をつけて [次へ] をクリックします。
  4. Windows が起動するたびにタスクを実行するように設定するには、[タスクトリガー] ダイアログで [コンピュータの起動時] をクリックして [次へ]をクリックします。
  5. [操作]ダイアログで[プログラムの開始]をクリックし[次へ]をクリックします。
  6. [プログラム/スクリプト] に htcacheclean のフルパスを入力します。
    SEPM_Install\apache\bin\htcacheclean.exe
  7. [引数の追加 (オプション)] に以下の引数を入力して [次へ] をクリックします。
    -n -t -d1440 -l1024M -p"SEPM_Install/apache/cache-root"
  8. [完了] をクリックしてスケジュールタスクの追加を完了します。
  9. タスクスケジューラライブラリで、作成したタスクを右クリックして [プロパティ] をクリックします。
  10. [設定] タブで [タスクを停止するまでの時間] の選択を解除し、[OK]をクリックします。

このタスクはシステムを再起動するまで実行されないので、今すぐ実行できます。実行するには、タスクスケジューラで作成したタスクを右クリックして [実行する] をクリックします。

注: タスクを実行するユーザーアカウントが、SEPM_Install\apache\cache-root フォルダにフルコントロール権限があることを確認してください。


パフォーマンスと拡張性

この構成は、少数の Mac および/または Linux クライアント向けに設計されています。Mac または Linux クライアントの数が少なく、クライアントと SEPM を接続するネットワークの帯域幅が十分にある場合にのみ、この設定を使用してください。各クライアントが 1 日に約 500 KB の LiveUpdate コンテンツをダウンロードすると仮定すると、2000 台の Mac または Linux クライアントでは、1 日に約 1 GB の LiveUpdate コンテンツが Apache Web サーバーからダウンロードされることになります。多数のクライアントがある構成では、Symantec LiveUpdate Administrator の利用を検討してください。

 

セキュリティと互換性

Symantec では、この記事で言及されている Apache モジュールには、Symantec の署名入りバイナリを使用することを推奨しています。これらの署名入りバイナリは、Symantec Endpoint Protection をダウンロードしたインストールファイルに含まれています。なお、SEPM 12.1.4 以降は、必要なバイナリも一緒にインストールされます。

Symantec Endpoint Protection 14 の場合: 

  • ダウンロードしたインストールファイルの \Tools\Apache-ReverseProxy にあります。

本記事の公開後に新たな脆弱性が公表される可能性がありますので、該当するバージョンの Apache Web サーバーについて、Apacheプロジェクトが公表している脆弱性を http://httpd.apache.org/security/ で確認してください。


SEPM のアップグレード

SEPM をアップグレードすると、設定ファイルがリセットまたは上書きされる可能性があります。そのため SEPM のアップグレード後に、httpd.conf に加えた変更を確認してください。

Additional Information

[英語文書] Enabling Mac and Linux clients to download LiveUpdate content using the Apache web server as a reverse proxy