日本語による情報は、英語による原文の非公式な翻訳であり、英語原文との間で内容の齟齬がある場合には、英語原文が優先します。
概要
Cisco CallManager(CCM)は、Cisco IPテレフォニーソリューションのソフトウェアベースのコール処理コンポーネントであり、企業のテレフォニー機能を、IP電話、メディア処理デバイス、Voice-over-IP(VoIP)ゲートウェイ、マルチメディアアプリケーションなどのパケットテレフォニーネットワークデバイスに拡張します。Cisco CallManager 3.3以前、4.0、および4.1は、サービスの中断、サーバのリブート、または任意のコードの実行を引き起こす可能性のあるサービス拒否(DoS)攻撃、メモリリーク、およびメモリ破損に対して脆弱です。
シスコでは、これらの脆弱性に対応する無償のソフトウェアを提供しています。
このアドバイザリは https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20050712-ccm に掲載されています。
該当製品
このセクションには、該当製品に関する詳細が掲載されています。
脆弱性のある製品
脆弱性を含む製品は次のとおりです。
-
Cisco CallManager 3.2以前
-
Cisco CallManager 3.3、3.3(5)よりも前のバージョン
-
Cisco CallManager 4.0、4.0(2a)SR2bよりも前のバージョン
-
Cisco CallManager 4.1、4.1(3)SR1よりも前のバージョン
脆弱性を含んでいないことが確認された製品
他のシスコ製品においてこのアドバイザリの影響を受けるものは、現在確認されていません。
詳細
このセクションでは、これらの脆弱性に関する詳細情報を提供します。
-
CSCed37403(登録ユーザ専用):RISDCを使用したリソースリーク – CallManagerがRISDC(Realtime Information Server Data Collection)ソケットを積極的にタイムアウトさせないため、TaskManagerがRisDC.exeが大量の非ページプールメモリを使用しており、ポートがClose_Wait状態のままであると表示する状況が発生します。非ページプールメモリの割り当てを確認するには、Microsoft Windowsのタスクマネージャを開き、[表示]メニューに移動して[列の選択]を選択し、[非ページプール]を選択します。開いているポートは、netstat -anコマンドの出力に一覧表示されます。
-
CSCee00116(登録ユーザ専用):Cisco CallManager CTI Managerが1 GBを超えるメモリを使用して再起動する可能性がある。巧妙に細工されたパケットによる攻撃が繰り返されると、CTI Managerが1 GBを超える仮想メモリを割り当てる可能性がある。ctimgr.exeプロセスのメモリ割り当ては、Microsoft Windowsのタスクマネージャを表示して確認できます。
-
CSCee00118(登録ユーザ専用):CallManagerが繰り返し攻撃されて再起動する可能性がある。巧妙に細工されたパケットにより、CallManagerがccm.exeプロセスに不適切に500 MBを割り当てる可能性がある。これが通常の条件下でメモリプールに戻る。攻撃が繰り返されると、CallManagerのロード時にメモリリソースが枯渇し、再起動が発生する可能性があります。ccm.exeプロセスのメモリ割り当ては、Microsoft Windowsのタスクマネージャで確認できます。攻撃を受けると、ccm.exeメモリは500 MBずつ繰り返しジャンプします。
-
CSCef47060(登録ユーザ専用):MLAが有効な場合、失敗したログインによってメモリリークが発生する:MLA(Multi Level Admin)が有効で、AST(Admin Service Tool)へのログオンが繰り返し失敗すると、メモリリークが発生する可能性があります。通常の動作では、inetinfo.exeは20 ~ 30 MBのメモリを使用しますが、この問題が発生しているシステムでは、最大750 MBのメモリが使用されています。inetinfo.exeプロセスのメモリ割り当ては、Microsoft Windowsのタスクマネージャで確認できます。MLAはデフォルトではオンではなく、CCM/User/Access Rights/MLA Parameters/Enable Multi Level Adminでイネーブルステータスをチェックできます。
-
CSCsa75554(登録ユーザ専用):DoSの脆弱性とaupairサービスのリモート実行:Cisco CallManager宛ての巧妙に細工されたパケットにより、メモリ割り当てエラーとバッファオーバーフローが発生し、任意のコードが実行されたり、aupairプロセスが異常終了したり、メモリが破損したりする可能性があります。aupair.exeプロセスは、ccm.exeとSQLの間のデータベースレイヤであり、通常のCisco CallManagerの動作に対して無効にすることはできません。Microsoft Windows Task Managerを表示する場合、プロセスはaupair.exeですが、Service Control ManagerではCisco Database Layer Monitorと呼ばれます。aupair.exeプロセスが終了すると、イベントモニタにメッセージが記録され、drwatsonレポートが生成されます。
回避策
回避策の効果は、製品の組み合わせ、ネットワークトポロジ、トラフィックの動作、組織のミッションなど、お客様の状況によって異なります。該当する製品とリリースは多岐に渡るので、サービス プロバイダーやサポート機関に連絡し、ネットワーク内で使用するのに最も適した回避策を確認してから、実際に配備することを推奨いたします。
Cisco CallManagerには攻撃を排除する回避策はありませんが、Cisco CallManagerのセキュリティのベストプラクティスを使用して音声ネットワークを保護すると、これらの脆弱性のリスクを軽減したり、影響を緩和することができます。アクセスリストを使用してCisco CallManagerへのアクセスを制限することにより、攻撃が成功するリスクが大幅に軽減されます。SAFEブループリントhttp://www.cisco.com/go/safeの概要ページにあるSAFE: IPテレフォニーセキュリティの詳細に関するホワイトペーパーを参照してください。また、シスコでは、ネットワークソリューションの設計と導入に役立つソリューションリファレンスネットワークデザイン(SRND)ガイドも提供しています。http://www.cisco.com/warp/public/779/largeent/it/ese/srnd.html
次に示す特定のアクセスリストの例は、各ネットワークのニーズに合わせて調整し、設定されている他のアクセスリストエントリに追加する必要があります。CallManager VLANの外部にゲートウェイまたはその他のデバイスがある場合は、これらのデバイスのIPアドレスからのアクセスを許可する特定のACLエントリを設定できます。使用されるCallManagerポートのリストを参照してください。http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_tech_note09186a00801a62b9.shtml
-
CSCed37403:Cisco CallManagerクラスタを保護するために、CCMクラスタとネットワークの残りの部分との間で次のポートをブロックする必要があります。
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 2555
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 2556
-
CSCee00116、CSCee00118:Cisco CallManagerクラスタを保護するために、CCMクラスタとネットワークの残りの部分との間で次のポートをブロックする必要があります。
UDP 1719 - H.323 RAS
TCP 1720 - H.323 H.225
TCP 2001:SCCP
TCP 2002:SCCP
TCP 2428:MGCP
TCP 2748 - TAPI/JTAPIアプリケーション
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 1719
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 1720
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 2001
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 2002
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 2428
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 2748
セキュリティ保護されたCallManager VLANの外部からこれらのポートのいずれかにアクセスする必要があるデバイスがある場合は、それらのデバイスIPを明示的に許可します。デバイスの例としては、音声ゲートウェイ、TAPI/JTAPIソフトフォン、IPCC Expressなどの他の音声アプリケーションサーバなどがあります。
ポート2000は、セキュリティ保護が必要な最後のポートです。ポート2000は、Skinny/SCCP IP PhoneがCallManagerと通信するために使用します。音声VLANから着信するトラフィックだけがポート2000にアクセスすることを許可します。
Access-list 100 permit tcp <voice VLAN subnet> <subnet wildcard> <CallManager IP subnet> <subnet wildcard> eq 2000
注:データVLANでIP Communicatorを使用している場合は、特定のACLエントリを追加してIP Communicatorの動作を許可できます。
-
CSCef47060(登録ユーザ専用):この脆弱性は、MLA(Multi Level Administration)が有効になっており、SR1(サービスリリース)以降を適用せずにCisco CallManager 4.0(2)を実行している場合にのみ適用されます。その他のリリースには脆弱性はありません。MLAはデフォルトではオンではなく、CCM/User/Access Rights/MLA Parameters/Enable Multi Level Adminでイネーブルステータスをチェックできます。無効化と再有効化を行うと、使用されたメモリが余分に解放され、攻撃の影響が軽減されます。脆弱性のあるサーバでは、Webページへのアクセスを制限するためにTCPポート80を保護する必要があります。これは、次の2つの方法で実行できます。
1)パッチを適用できるようになるまで、信頼できるIPアドレスのみがこのポートにアクセスすることを許可します。ユーザは、電話サービス、ディレクトリ、およびCCMUserページにアクセスできません。次のACLは、Webアクセスを完全にオフにします。
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 80
2) MLAに関連する仮想ディレクトリが特定のIPへのアクセスのみを許可し、他のディレクトリはユーザアクセス用に開いたままにするように、Windows IISを設定します。
インターネットインフォメーションサービス(IIS)のIPアドレスアクセス制限を有効にする方法:
1. [スタート] > [プログラム] > [管理ツール] > [インターネットサービスマネージャ]をクリックして、IIS管理コンソールを開きます。
2. [インターネットインフォメーションサービス] > [コンピュータ名] > [既定のWebサイト]を選択します。
3. CCMAdmin仮想ディレクトリを右クリックし、Propertiesを選択します。
4. 「ディレクトリ・セキュリティ」タブをクリックします。
5. IPアドレスとドメイン名の制限については、[編集]をクリックしてください。
6. 「アクセス拒否」を選択します。
7. 「追加」をクリックします。
8. [単一のコンピューター]または[コンピューターのグループ]を選択します。
9.アクセスを許可するIPアドレスまたはネットワークIDとサブネットマスクを入力します。
10. 「OK」をクリックします。
11.必要なすべてのIPアドレスまたはネットワークにアクセスが許可されるまで、手順7 ~ 10を繰り返します。
12. 「OK」をクリックします。
13.手順3に戻り、仮想ディレクトリCCMService、CCMTraceAnalysis、AST、RTMTReports、SOAPについて手順を繰り返します。
14.開いているすべてのウィンドウから「OK」をクリックします。
15.許可および拒否されたIPアドレスからの接続をテストして、フィルタが設定されていることを確認します。
-
CSCsa75554:CCMクラスタとネットワークの残りの部分との間でCisco CallManagerクラスタブロックポート8001を保護するには、次のコマンドを実行します。
Access-list 100 deny tcp any <CallManager IP subnet> <subnet wildcard> eq 8001
セキュリティ保護されたCallManager VLANの外部からこのサービスにアクセスする必要があるCisco CallManagerがある場合は、これらのデバイスのIPアドレスを明示的に許可します。
修正済みソフトウェア
ソフトウェアのアップグレードを検討する場合は、http://www.cisco.com/en/US/products/products_security_advisories_listing.htmlおよび後続のアドバイザリも参照して、侵害を受ける可能性と完全なアップグレードソリューションを確認してください。
いずれの場合も、アップグレードする機器に十分なメモリがあること、および現在のハードウェアとソフトウェアの構成が新しいリリースで引き続き適切にサポートされていることの確認を十分に行ってください。情報が不明な場合は、Cisco Technical Assistance Center(TAC)にお問い合わせください。
Cisco CallManagerソフトウェアの表(下記)の各行には、このアドバイザリに記載されているすべての脆弱性に対処するリリーストレインが記載されています。特定のリリーストレインに脆弱性が存在する場合、修正を含む最初のリリース(「最初の修正リリース」)とそれぞれの提供予定日を「エンジニアリングスペシャル」、「サービスリリース」、および「メンテナンスリリース」の各列に示します。特定の列のリリース(「Engineering Special」列または「Special Release」列にリストされている「First Fixed Release」未満)よりも前のCisco CallManagerリリースを特定のトレインで実行しているデバイスは、1つ以上の問題に対して脆弱であることが確認されています。Cisco CallManagerは、少なくとも指定されたリリース以降のバージョン(First Fixed Releaseラベル以上)にアップグレードする必要があります。
リリース群 |
エンジニアリングスペシャル |
サービスリリース |
メンテナンス リリース |
---|---|---|---|
3.2 以前 |
3.3以降への移行 |
||
3.3 |
3.3(3)ES61 3.3 (4)ES25 |
3.3(5) |
|
4.0 |
4.0(2a)ES40 |
4.0(2a)SR2b |
リリース予定なし |
4.1 |
4.1(2)ES33 4.1 (3)ES07 |
4.1(3)SR1 |
リリース予定なし |
推奨事項
不正利用事例と公式発表
Cisco PSIRT では、本アドバイザリに記載されている脆弱性の不正利用事例やその公表は確認しておりません。
aupairサービスの脆弱性(CSCsa75554)は、Internet Security Systemsからもシスコに報告されており、この問題に関する公式発表も行われる予定です。
PatchAdvisorのJeff Fay氏が、脆弱性アラートサービスに関するCSCee00116の調査結果に関するレポートを発表します。
URL
改訂履歴
リビジョン 1.1 |
2005年7月18日 |
「回避策」セクションに、Cisco Call Managerへのアクセス制限の例を追加しました。 |
リビジョン 1.0 |
2005年7月12日 |
初回公開リリース |
利用規約
本アドバイザリは無保証のものとしてご提供しており、いかなる種類の保証も示唆するものではありません。 本アドバイザリの情報およびリンクの使用に関する責任の一切はそれらの使用者にあるものとします。 また、シスコは本ドキュメントの内容を予告なしに変更したり、更新したりする権利を有します。
本アドバイザリの記述内容に関して情報配信の URL を省略し、単独の転載や意訳を施した場合、当社が管理した情報とは見なされません。そうした情報は、事実誤認を引き起こしたり、重要な情報が欠落していたりする可能性があります。 このドキュメントの情報は、シスコ製品のエンドユーザを対象としています。