2018-04-18
05:29 PM
- 最終編集日:
2025-01-16
03:47 PM
、編集者:
JapanTAC_CSC
Secure EndpointsのオフラインエンジンであるTETRAを使うと、端末は定義ファイルのダウンロードのために、Ciscoが持っているInternet上のCloudサーバから定義ファイルを取得します。
Secure Endpoint Update Serverは、大量にConnectorがある環境での定義ファイルのダウンロードによるトラフィックを低減するために、お客様のローカル環境のサーバから定義ファイルのダウンロードサービスを提供します。
Secure Endpoint Update Serverの実行ファイルには、Cloud上の定義ファイルのupdate serverからのファイルダウンロード機能と、Update Serverの機能を自身で提供するWebサーバ機能の二つが含まれており、導入いただく環境に合わせることが可能です。
本記事では、アップデートサーバをCentOSに導入する具体的な手順と、導入時に注意するべきポイントを紹介いたします。
本記事の内容は以下の環境で動作確認しております。仕様は予告なく変更される場合がございます。
Secure Endpoint Update Serverは、何種類かの導入方法がありますが、まず、それぞれの方法で共通のPolicy設定と、Update Server実行ファイルをダウンロードする手順を示します。
1. Management -> Policiesから対象となるPolicyを選択し、Editをクリックします。
2. Advanced SettingsのTETRAをクリックします。
3. 以下のように、TETRA、Local Secure Endpoint Update Serverにチェックを入れ、Secure Endpoint Update ServerにサーバのIPもしくはDNS等で名前解決可能なFQDNを入力します。
ここでUse HTTPS for TETRA Definition Updatesのチェックを外します。現時点ではTETRA Update ServerはBuilt-inのWebサーバを使用する場合、TCP 80のHTTPでのみ動作しているため、こちらのチェックが入っていると動作しませんのでご注意ください。
4. 一旦、Saveをクリックし、作成したPolicyを保存します。ここでそのままSecure Endpoint Update Server Configurationのリンクをクリックしますと、設定したPolicyが保存されません。
5. 再びPolicy -> Editで、Advanced Settings->TETRAに移動します。
6. Secure Endpoint Update Server Configurationのリンクをクリックします。
7. ここでSecure Endpoint Update ServerをインストールするOSのイメージを選択してダウンロードします。
8. Linux版ならupdate_linux.zipという名前のファイルが保存され、解凍するとupdate-linux-i386(32bit版の実行ファイル)と、update-linux-x86-64(64bit版の実行ファイル)が確認出来ます。Windows版の場合はupdate_win.zipという名前のファイルが保存され、解凍するとupdate-win-i386.exe(32bit版の実行ファイル)とupdate-win-x86-64.exe(64bit版の実行ファイル)が確認出来ます。
9. ConfigurationのIntervalを設定します。こちらはSecure Endpoint Update ServerがCloud上にあるTETRAのupdate serverに対しての定義ファイル確認の間隔となります。
10. Downloadをクリックし、設定を保存します。config.xmlが保存されます。なお、ここでSecure Endpoint Update Server用の設定として、設定可能な項目はIntervalのみであり、Policy側の設定は影響されません。
Advanced Settings -> TETRA配下の設定はConnectorのpolicy.xmlに反映されるものであり、TETRA Update Serverの実行ファイルが使うconfig.xmlの内容とは無関係となります。
11. ここまでが共通のUpdate Serverの手順となります。以降は、導入パターンによって異なりますので、必要な手順を選んでください。
以降はCentOSでの構築手順を示します。以下コマンドの例は64bit版の実行ファイルの例となります。
1. 実行ファイルと設定(config.xml)をサーバにアップロードします。
以下の例では仮に/var/tetraのフォルダに設置しております。
[root@tetra tetra]# ls
config.xml update-linux-x86-64
2. ファイルを実行可能にします。
[root@tetra tetra]# chmod +x update-linux-x86-64
これでUpdate Serverを使う前準備は完了です。以降はサーバに既にWebサーバがインストールされていて、そちらと共存させる必要があるか、単独でUpdate ServerにBuilt-InのWebサーバを使うかで手順が異なります。
最もシンプルな方法が、Update Serverに内蔵されているBuilt-InのWebサーバを使う方法となります。
Update ServerのBuilt-inのWebサーバを使用する場合、現時点ではConnectorからの接続にHTTP TCP80のみ使用可能であり、もし、導入するサーバで既にWebサーバがTCP80で動作している場合はBuilt-InのWebサーバを使用することは出来ませんので、後述する既存Webサーバと共存する方法を参照してください。
実行する際に様々なオプションを指定することが可能ですが、最も簡単な方法としては以下のように実行します。
[root@tetra tetra]# ./update-linux-x86-64 host --config config.xml --server <WebサーバとしてListenするIPアドレス>
こちらを実行すると、Cloud上のTetra Update Serverから最新の定義ファイルを取得開始します。
初回は定義ファイルのダウンロードにかなり時間がかかります。
参考までに、当方のインターネット接続環境では、2025/1/16現在の定義ファイル全体で850MB程度あり、1時間程度必要となりました。
こちらは環境によって大きく異なりますため、構築する際は十分に時間を確保してください。
しばらく時間が経過すると、以下のように、定義ファイルが更新された旨を示す、メッセージが現れます。
以下は64bit用の端末の定義ファイルの場合となります。32bit端末用はファイルが異なり、個別にダウンロードされます。
INFO: [update-linux-x86-64] 2025/01/15 11:07:27 Microdefinition update complete for AV database av64bit.
INFO: [update-linux-x86-64] 2025/01/15 11:07:27 New files: 0
INFO: [update-linux-x86-64] 2025/01/15 11:07:27 Modified files: 0
DEBUG: [update-linux-x86-64] 2025/01/15 11:07:27 tetra.go:527: Activating the built-in HTTP server
DEBUG: [update-linux-x86-64] 2025/01/15 11:07:27 srvutil.go:88: Web Server Activated.
INFO: [update-linux-x86-64] 2025/01/15 11:07:27 Time taken: 463.525235ms
DEBUG: [update-linux-x86-64] 2025/01/15 11:07:27 tetra.go:693: Moving mirror/av64bit/versions.id.downloading into its final destination mirror/av64bit/versions.id
]
また、ブラウザでHTTPアクセスを試みると、こちらのようにファイル構造が確認出来ます。
こちらによって、定義ファイルがSecure Endpoint Update Serverにダウンロードされたことが確認可能であり、また、Webサーバとして動作することが確認可能です。
その後、Connector端末側で、Policy更新を実施し、しばらく経過した後、以下のようにComputers上から、TETRAが最新になっていることを確認します。
Fetch-Only Modeは、ApacheやIIS等のHTTP Serverを使いつつ、Update ServerはCloud上のTetraアップデートサーバから定義ファイルをダウンロードのみを行うモードとなります。
Self-Hosting Modeとは異なり、HTTP ServerのRedirect設定を追加する必要があります。また、一般的にはcrontabやタスクスケジューラを使って、定期的に定義ファイルをダウンロードするよう設定します。
本記事では、Apacheを使った設定方法を紹介いたします。
まず、Update Serverはhostをオプションに指定するのではなく、fetchを指定します。
./update-linux-x86-64 fetch --once --config config.xml --mirror /var/www/html
--onceを指定することによって、一回だけ定義ファイルの取得を行います。指定しなかった場合は、プロセスは動作し続け、Console上で設定したIntervalに従って、定義ファイルをCloudから取得します。
--onceを指定せずに実行し続けても問題はありませんが、プロセスが起動し続けてリソースを使い続けるため、--onceのオプションを含めたコマンドをcrontabに設定する方法もございます。
また、--mirrorでは、定義ファイルをダウンロードするDirectoryを指定しますが、ここで、指定するDirectoryは必ずHTTP ServerのDocument Root直下である必要があります。
こちらのコマンドを実行しますと、最終的に、一定時間後に定義ファイルの取得が完了し、プロセス自体も終了します。
7/0/0/c92a4d5ead755de2b579b0d49a318b1a-c7007dad738e5a8b435a52f72665a854-emalware.041.gzip.downloading
DEBUG: [update-linux-x86-64] 2025/01/16 11:00:05 tetra.go:693: Moving /var/www/html/av64bit/patches.dat.downloading into its final destination /var/www/html/av64bit/patches.dat
DEBUG: [update-linux-x86-64] 2025/01/16 11:00:05 tetra.go:693: Moving /var/www/html/av64bit/patches.dat.gz.downloading into its final destination /var/www/html/av64bit/patches.dat.gz
INFO: [update-linux-x86-64] 2025/01/16 11:00:05 Microdefinition update complete for AV database av64bit.
INFO: [update-linux-x86-64] 2025/01/16 11:00:05 New files: 199
INFO: [update-linux-x86-64] 2025/01/16 11:00:05 Modified files: 0
DEBUG: [update-linux-x86-64] 2025/01/16 11:00:05 tetra.go:527: Activating the built-in HTTP server
INFO: [update-linux-x86-64] 2025/01/16 11:00:05 Time taken: 23.746345115s
DEBUG: [update-linux-x86-64] 2025/01/16 11:00:05 tetra.go:693: Moving /var/www/html/av64bit/versions.id.downloading into its final destination /var/www/html/av64bit/versions.id
][root@nontakah tetra]# <-コマンドが終了している。
--onceを使えば、crontabに定期的にコマンドを実行し、自動的に終了させる動作を繰り返し実施することが可能です。以下にcrontabの例を示します。
0 * * * * /var/tetra/update-linux-x86-64 fetch --once --config /var/tetra/config.xml -mirror /var/www/html
こちらの例では、毎時0分になると、Cloudサーバに対して定義ファイルのダウンロードの有無を確認し、Cloud側で定義ファイルのアップデートがあれば、Update Serverへダウンロードされます。
次に、Redirectの設定を行います。
Apacheの場合は、以下をhttp.conf中に追加し、ApacheをReload/Restartする等して設定を読み込ませます。
RedirectMatch ^/av64bit_[\d]+/(.*) /av64bit/$1
RedirectMatch ^/av32bit_[\d]+/(.*) /av32bit/$1
他の例として、IISやNginxの設定についてはこちらに記載されております ので、参照いただけたらと思います。
なお、そういったサードパーティ製のHTTP Serverの設定に関しては、あくまでサンプルであり、HTTP Serverの設定方法に関しては、TACでのサポートは致しかねますため、その点についてはご了承ください。
これで、Fetch-Only Modeの設定は終了となります。
Self-Hosting Modeと同様に、一定時間経過後に、端末側の定義ファイルがアップデートされていることを確認します。
手順の中にもいくつか記載させていただきましたが、Secure Endpoint Update Serverをお使いいただく上で、注意するべきポイントを記載しております。
export http_proxy="http://<proxy>:<port>/"
export https_proxy="http://<proxy>:<port>/"
[root@server1 tetra]# ./update-linux-i386 --help
usage: update-linux-i386 [<flags>] <command> [<args> ...]
A command-line utility to manage TETRA updates.
Flags:
--help Show context-sensitive help (also try --help-long and
--help-man).
--config="config.xml" XML configuration file.
--debug Enable debug mode.
--report-dir="report" Store report files in this directory.
--mirror="mirror" Directory to mirror updates to.
--avdb=av32bit... ... Restrict to av32 or av64 AV database only.
Commands:
help [<command>...]
Show help.
host [<flags>]
Download updates and serve them using the built-in HTTP server.
fetch [<flags>]
Fetch updates.
version
Show version and exit
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます