惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 咖啡的滋味

【转】Vmware ESX 3.0出现“error connecting: can not connect to host x.x.x.x: a connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed……的解决方法 安装isa2006后加入域提示“RPC服务器不可用” Exchange 2007 安装完后需要注意的几件事情 Exchange server 2007环境下,outlook2007同步脱机地址簿时出现“0x80190194”错误的分析与解决方法 在Exchange server 2007中启用pop3和IMAP4协议访问 Exchange server 2007 出现“0x8004010F”错误的解决办法 - 咖啡的滋味 Exchange Server 2007 LCR小试 学习Exchange的几个站点 有感 重置TCP/IP协议堆栈的经历 喜欢济南的几个理由 网通电信双线路上网,网通的走网通线路,电信的走电信线路,内网通过NAT上网,双线路故障自动切换 安装ISA2004后,加入域时提示:"远程过程调用失败且未运行"的解决办法 Ten sentences 在OUTLOOK或OWA中查看邮件的SCL级别(转) 常用的RBL服务器列表及介绍 关于在使用Exchange2003系统时无法向sina,yahoo,hotmail等邮箱发送邮件问题的解决方法 关于在配置ISA 的WEB代理时使用的身份验证问题 在启用sharepoint portal server 2003的SSO时,提示“无法连接到数据库服务器,请检查配置账户的权利”的问题的解决方法
Exchange server2007自动发现服务(Auto discover service)原理及调试
咖啡的滋味 · 2007-04-02 · via 博客园 - 咖啡的滋味

Exchange server2007自动发现服务(Auto discover service)原理及调试

概述

微软的最新邮件系统Exchange server2007中新增加了一项服务:自动发现服务(auto discover service.此服务用于自动化配置Outlook2007(注意:仅仅用于outlook2007,在outlook其他版本中用不到此服务,在以前的时代都是通过public folder实现的。),以减少管理员的工作量,在以前的Exchange2000/2003+outlook2003的时代需要使用office resource kit进行24步的设置才能进行客户端outlook配置的自动化部署。现在有了自动发现服务,用户需要做的仅仅是打开outlook然后输入自己的用户名和密码即可。另外自动发现服务同样支持windows mobile设备。具体来说自动发现服务对Exchange的以下功能提供支持:OAB(脱机地址列表),the Availability service/闲信息),outlook anywhere服务器设置,Unified Messaging(统一消息的配置信息)和Out of Office(外出留言信息配置)。如果在你的环境中采用的是outlook2007+exchange2007的模式,而且没有配置好自动发现服务,则以上所列出的功能都不能正常工作。

自动发现服务工作原理(假设用户email地址为user@contoso.com)

当您在部署client access server role(客户端访问服务器角色)时,安装进程会在IIS的默认网站下创建一个名为autodiscover的虚拟目录(如图1所示),此目录指向到\client access\autodiscover文件夹。此虚拟目录用来处理outlook2007客户端和windows mobile设备的自动配置信息的请求。同时安装进程会在活动目录中安装一个service connection pointSCP,中文名字为“服务连接点”,类似与在部署RMS SMS 中创建的SCP)。安装程序将自动发现 SCP 对象置于以下容器中:(如图2所示)

CN=Autodiscover,CN=Microsoft Exchange,CN=Services,

[Configuration Naming Context]

SCP 对象包含林的自动发现服务 URL 的权威列表。

SCP 对象包含 ServiceBindingInfo 属性,该属性具有 https://CAS01 /autodiscover/autodiscover.xml 格式的客户端访问服务器的 FQDN,其中 CAS01 是客户端访问服务器的 FQDN


1 CAS安装过程中会自动安装autodiscover虚拟目录


2  CAS安装过程中创建的SCP

OK,下面我们来看自动发现服务具体是如何工作的。我们分两部分来介绍。

第一种情况:客户端在公司内部且已经加入域(客户端可以直接连接到DC

下图展示了公司内网中自动发现的工作模式



3  internat network中自动发现服务的执行过程

在这种环境,客户端机器可以连接到公司内部的DC,所以Outlook2007会默认首先去AD中寻找自动发现服务的SCP,并用自己的用户名和密码进行身份验证。SCP会告诉Outlook2007客户端正确的autodiscover service URL地址(例如:https://CAS01/autodiscover/autodiscover.xml),然后outlook向此URL 发送请求信息,请求信息的格式如下:

<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006"> <Request> <EMailAddress>user@contoso.com</EMailAddress> <AcceptableResponseSchema>http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a</AcceptableResponseSchema> </Request> </Autodiscover>

Autodiscover服务收到请求后会做出如下回复:

<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006"> <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a"> <User> <DisplayName>First Last</DisplayName> <LegacyDN>/o=contoso/ou=First Administrative Group/cn=Recipients/cn=iuser885646</LegacyDN> <DeploymentId>644560b8-a1ce-429c-8ace-23395843f701</DeploymentId> </User> <Account> <AccountType>email</AccountType> <Action>settings</Action> <Protocol> <Type>EXCH</Type> <Server>MBX-SERVER.mail.internal.contoso.com</Server> <ServerDN>/o=contoso/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=MBX-SERVER</ServerDN> <ServerVersion>72008287</ServerVersion> <MdbDN>/o=contoso/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=MBX-SERVER/cn=Microsoft Private MDB</MdbDN> <ASUrl>https://mail.contoso.com/ews/exchange.asmx</ASUrl> <OOFUrl>https://mail.contoso.com/ews/exchange.asmx</OOFUrl> <UMUrl>https://mail.contoso.com/unifiedmessaging/service.asmx</UMUrl> <OABUrl>https://mail.contoso.com/OAB/d29844a9-724e-468c-8820-0f7b345b767b/</OABUrl> </Protocol> <Protocol> <Type>EXPR</Type> <Server>Exchange.contoso.com</Server> <ASUrl>https://mail.contoso.com/ews/exchange.asmx</ASUrl> <OOFUrl>https://mail.contoso.com/ews/exchange.asmx</OOFUrl> <UMUrl>https://mail.contoso.com/unifiedmessaging/service.asmx</UMUrl> <OABUrl>https://mail.contoso.com/OAB/d29844a9-724e-468c-8820-0f7b345b767b/</OABUrl> </Protocol> <Protocol> <Type>WEB</Type> <Internal> <OWAUrl AuthenticationMethod="Ntlm, WindowsIntegrated">https://cas-01-server.mail.internal.contoso.com/owa</OWAUrl> <OWAUrl AuthenticationMethod="Ntlm, WindowsIntegrated">https://cas-02-server.mail.internal.contoso.com/owa</OWAUrl> <OWAUrl AuthenticationMethod="Basic">https://cas-04-server.mail.internal.contoso.com/owa</OWAUrl> <OWAUrl AuthenticationMethod="Ntlm, WindowsIntegrated">https://cas-05-server.mail.internal.contoso.com/owa</OWAUrl> </Internal> </Protocol> </Account> </Response> </Autodiscover>

我们可以看到在此回复的信息中含有配置客户端所需要的信息。Outlook客户端根据此信息进行用户的配置,OAB 的下载,忙闲信息的同步等等。

我详细看一下此xml信息可以发现分为三部分:

<type>EXCH<type>部分:客户端在公司内网(internal)的配置信息

<type>EXPR<type>部分:outlook anywhere配置信息

<type>WEB<type>部分:客户端在external时的配置信息

第二种情况:用户没有加入域或用户不在公司内部(无法直接连接DC

此环境中的自动发现服务工作原理如下图所示:



4  external network中自动发现服务的执行过程

首先客户端还是会试着首先寻找SCP,但结果是失败的,因为它连接不到DC

但是客户端如何去继续寻找autodiscover service呢?在这种情况下它会依次尝试连接以下地址:(注意以下地址的特点)

https://contoso.com/autodiscover/autodiscover.xml

https://autodiscover.contoso.com/autodiscover/autodiscover.xml

http://contoso.com/autodiscover/autodiscover.xml

http://autodiscover.contoso.com/autodiscover.xml

直到返回成功的信息。如果这四个连接尝试全部失败,则用户不能下载到OAB,忙闲信息,OOF也不能正常工作。我们会看到如下错误信息:

-------------------------------------------------------------------------

15:51:59 Microsoft Exchange 脱机通讯簿

15:51:59       未下载脱机通讯簿文件。找不到服务器(URL)

15:51:59 0X8004010F

------------------------------------------------

我们可以在打开outlook调试模式的环境下看到整个详细的执行过程。开启outlook调试模式过程:工具-选项-其他-高级选项-启用日志(疑难解答)。

备注:

1.       我们可以看到outlook首先会尝试以SSL进行加密的连接,这就要求autodiscover service服务器的web站点有一个证书,在exchange2007的安装过程中会自动生成一个证书,但此证书不是根信任机构颁发的,所以outlook客户端在此过程中会收到一个警告提示,如图(5)所示。为了避免客户端出现此警告框,我们可以申请一个由根证书信任机构所信任的证书(是需要money的),或者在域中部署企业根证书,并把此根证书安装到所有客户端的根信任证书颁发机构中。



5 outlook客户端在联系自动发现服务时出现的证书无效提示

2.       通过此过程我们也可以看出,我们需要在企业外部的DNS(公网的dns)中新增加一条A记录名为autodiscover并解析到到client access server

3.       Autodiscover虚拟目录是不可以直接通过IE去访问的,如果我们通过https://autodiscover.contoso.com/autodiscover/autodiscover.xml会发现以下返回信息(如图6),这就表示自动发现服务是正常的。



6 直接通过IE请求autodiscover虚拟目录返回的信息

关于自动发现服务的几个常用命令:

1.       创建新的自动发现服务的虚拟目录:

New-AutodiscoverVirtualDirectory -Websitenate <websitename> -BasicAuthentication:$true -WindowsAuthentication:$true

2.       删除一个自动发现服务虚拟目录

Remove-AutodiscoverVirtualDirectory -Identity "MyServer\autodiscover(autodiscover.contoso.com)" 

3.       测试自动发现服务的配置

Test-OutlookWebServices -ClientAccessServer "CASServer01"