端的に回答しますと、最新版(6.0.264710.2708以降)のComodo Internet SecurityとWindows Vista、最新版avastの組み合わせでは、この問題は部分的に解決されています。
部分的というのは、それぞれを初期設定で使用した場合、各アプリからの通信全体を許可・拒否することは可能ですが、個別に(例えば接続先のIPアドレスごとに)許可・拒否することは出来ません。
1)
avast側での、Vistaにおける対応予定はありません。
ただし、対症療法としての設定項目は存在します。この投稿の一番最後を参照してください。
2)
長くなりますので後述します。
3)
現在ではCIS側で修正が行われましたので、併用は可能です。
ただ、CISの使用目的によっては、1)で述べたavast側の設定変更が必要になります。
- について、この問題は結構複雑な経過を辿ったものなので、説明が長くなりますがご了承ください。
問題の経緯から順に説明します。
根本的な原因は、avastのウェブシールドが利用している(していた)透過プロキシによるリダイレクトという仕組みにあります。
これは、ブラウザ等のHTTP通信を行うアプリからの通信を、宛先に送らずにavastのウェブシールドに転送させ、スキャンを行ってから宛先に送る(宛先からの返信も同様)ことにより、HTTP通信を経由して入ってくるマルウェア(近年のマルウェアのほとんど)を遮断しようというものです。
図にするとこんな感じです。
通常は
[アプリ] ← (1) → [宛先]
のところ、
[アプリ] ← (2) → [ウェブシールド] ← (3) → [宛先]
となります。
この状態では、アプリが本来目的とする接続先に関わらず、ファイアウォールから見ればアプリが通信しているのはウェブシールドであり、接続先を個別に認識して許可・拒否することは出来ません。
通常のファイアウォールはPC内部の通信、つまり(2)は無条件に許可し、インターネットとの通信(1)/(3)のみを制御します。
しかし、ウェブシールドはavastそのものであり、多くのファイアウォールはavastによる通信(3)は全許可しています。つまり、
[アプリ] ← (2:全許可) → [ウェブシールド] ← (3:全許可) → [宛先]
となってしまい、アプリによるHTTP通信をファイアウォールが遮断できなくなってしまいます。
この場合でも、(2)をファイアウォールが認識して遮断できれば、アプリごとの通信全体を遮断することは可能でした。
avast!のバージョン6.0.1289より前は、ウェブシールドがスキャンするのは特定のブラウザのみだったため、この問題が顕在化することはありませんでした。
しかし、HTTP通信を行うアプリが増えたことから、バージョン6.0.1289より、ウェブシールドは全てのアプリをスキャンするようになりました。
その結果、HTTP通信を行うアプリ全てで、通信がファイアウォールを素通りするようになってしまいました。
さらに悪いことに、CISはこの(2)の遮断機能が不完全で、avast!がバージョン7以降のウェブシールドで採用した新システム(これまでのTDIを用いた方式からWFPを用いた方式に切り替え)に対応していませんでした。つまり、
[アプリ] ← (2:認識できず素通し) → [新型ウェブシールド] ← (3:全許可) → [宛先]
となり、CISはアプリのHTTP通信を個別に遮断する術がなくなりました。
一昨年の末(2012年12月)になり、Comodo側はCISに改良を加え、(2)を正常に認識・遮断できるようにしました。
これにより、相変わらず宛先ごとの許可・拒否はできないものの、アプリによるHTTP全体を許可・拒否することは出来るようになりました。
これが現在のVistaの状態です。
昨年の末(2013年12月)、avastはウェブシールドのシステムを刷新し、透過プロキシの使用を中止して「ストリームフィルタ」と呼ばれるシステムに切り替えました。
これはプロキシのような形を取らずに通信内容をスキャンできる機能だそうで、
[アプリ] ← (1) – (見えないウェブシールド) → [宛先]
となり、ファイアウォールがアプリの通信先を直接把握できるようになりました。これにより、CIS側でも本来の通信制御(宛先単位での制御)が可能になりました。
ただし、このストリームフィルタはVistaでは動かない(Windows側のシステムであるWFPのVistaでの実装が良くないそうです)ため、7以降のOSにのみ導入されました。
以上がこの問題の顛末と現状です。
XPやVistaのように、依然として透過プロキシが使われている場合は、宛先ごとの制御はできません。
ただ、これに対応するために、avast側でウェブシールドの動作を制限する(特定のアプリにのみウェブシールドを適用する)設定が存在します。
メインウィンドウ → 設定 → 常駐保護 → ウェブシールド右の歯車 → 主要な設定 → 一般的なブラウザのプロセスからの通信のみをスキャンする にチェック → OK
以上の設定を行っておくことにより、ウェブシールドは特定のブラウザに対してのみ有効化され、それ以外の一般アプリについては、ファイアウォールの本来の制御機能が使えるようになります。