通过Forefront保护Skypestream量

我怎样才能让Skype正常使用限制出站端口,HTTPS检查和IE代理启用? 我遇到的所有文档都build议至less禁用这些function之一。

理想情况下,应该像在Skype中将代理服务器设置为端口8080的最前端服务器一样简单,但是由于不断增加新的目标和源HTTPS检查排除项的pipe理开销,使用自签名证书使得这种情况变得不可能。

我真正希望实现的目标是让所有stream量都可以单独使用Skype和Skype。

最后,我select了一种方法,允许Skype的可执行文件的所有stream量,而不是其他任何东西。 由于Forefront无法可靠地确定我正在执行的可执行文件,因此select创build允许特定用户/用户组的所有stream量出站的规则,并强制Skype在该用户/组下执行。 以下的AutoIT脚本提供了可靠的必要function。

#include <Crypt.au3> ; #RequireAdmin ; only for setting the password Func SetEncrypted($vPassword,$Field) _Crypt_Startup() $path="HKLM\Software\MyORG\Skype" $Key=_Crypt_DeriveKey($vPassword, $CALG_AES_256 ) $FieldValue=InputBox($Field,"") $output=_Crypt_EncryptData($FieldValue,$Key,$CALG_USERKEY) RegWrite($path,$Field,"REG_SZ",$output) _Crypt_DestroyKey($Key) _Crypt_Shutdown() EndFunc Func GetEncrypted($vPassword,$Field) _Crypt_Startup() $path="HKLM\Software\MyORG\Skype" $Key=_Crypt_DeriveKey($vPassword, $CALG_AES_256 ) $input=RegRead($path,$Field) $decrypted=_Crypt_DecryptData($input,$Key,$CALG_USERKEY) $decrypted=BinaryToString($decrypted) _Crypt_DestroyKey($Key) _Crypt_Shutdown() Return $decrypted EndFunc $EncryptionPassword="super password which will be buried in the exe itself, set this yourself " ;SetEncrypted($EncryptionPassword,"Domain") ;SetEncrypted($EncryptionPassword,"User") ;SetEncrypted($EncryptionPassword,"Password") $User=GetEncrypted($EncryptionPassword,"User") $Pass=GetEncrypted($EncryptionPassword,"Password") $Domain=GetEncrypted($EncryptionPassword,"Domain") ; Find the executable name. $Skype = RegRead("HKLM\SOFTWARE\Skype\Phone", "SkypePath") If( $Skype = "" ) Then ; 64 bit support $Skype= RegRead("HKLM\SOFTWARE\Wow6432Node\Skype\Phone", "SkypePath") EndIf MsgBox(0,"",$Skype) ; Run Skype under alternate credentials. RunAs($User,$Domain,$Pass, 4, $Skype, @SystemDir ) 

通过将ID和密码存储在registry中,可以很容易地为与备用凭证关联的帐户进行密码更新–GPPregistry项可以做到这一点。

编辑 – 对所有出站stream量使用validation的出站规则必须位于优先级列表的最底部,直接在默认规则的上方。 如果没有这样做,任何从内而外的非authenticationstream量(例如通过电子邮件发送给外部团体)都将被终止。