Secure Messaging with Microsoft Exchange Server 2000

If you use a network monitor to watch an IM conversation, what you’ll essentially see is a Hypertext Transfer Protocol (HTTP) conversation over port 80. Exchange IM uses Rendezvous Protocol (RVP), a forerunner of the Internet Messaging Presence Protocol (IMPP). RVP builds a protocol on top of the Web Distributed Authoring and Versioning (WebDAV) standard, meaning that all RVP exchanges are actually Extensible Markup Language (XML) blobs that can easily be read in transit. Because of the way the client and server communicate, however, there is relatively little you can do about it.

There’s More Than One Messenger Client

As it turns out, the Exchange IM client isn’t the only client that can be used with Exchange. There are three separate clients to be aware of, and even though they’re similar in many ways, there are some subtle differences:

A fourth possibility is not yet realized: third-party vendors like Trillian (http://www.trillian.cc) have released clients that can simultaneously use multiple IM systems, including MSN Messenger. Since the specification for the Exchange IM protocol is public, no one is stopping these folks from making their clients Exchange-aware, so perhaps they will. One final note: If you have UNIX, Linux, Mac OS, or other systems, you’re mostly out of luck. Apart from Windows, only Mac OS X has an MSN Messenger client, and it is not presently capable of talking to Exchange IM servers.

Most people think of IM as a text-only service; it turns out that all of Microsoft’s clients support video, text, and audio chats, as well as file transfer and application “whiteboarding.” No matter what method you’re using to communicate, the basic sign-in process for the Exchange IM client always proceeds as follows:

  1. The client requests a Domain Name System (DNS) service (SRV) record for the IM domain. By convention, Microsoft recommends using im.yourdomain.com, but as long as you’ve manually created the SRV record so it points to your “real” domain, you can call it whatever you like.

  2. The client retrieves the Internet Protocol (IP) address of its IM home server. Think of the home server like a mailbox server: each IM client is assigned to a single home server, and that server acts as a controller and coordinator for IM traffic for that client. The home server is a Windows 2000 server with the Exchange IM component installed; it can be an Exchange 2000 server or a standalone box.

  3. The client sends its authentication request to the home server using HTTP authentication. As with Outlook Web Access, the client can request digest (obscured), or NTLM authentication, but the IM server administrator is free to choose which authentication methods the server supports. (The client always tries NTLM authentication first, falling back to digest mode if that fails.)

Once the client has logged in, the home server registers its IP address, contact list, and a TCP port above 1024 so that it can send notifications using the WebDAV NOTIFY verb. Let’s say Alice wants to send a message to Bob, another user on her Exchange IM system (but not necessarily on the same IM home server!). She composes and sends the message, which goes from her client to her home server. The home server determines Bob’s home server and sends the message to it, and it delivers the message to Bob. The process is slightly different for the case where Alice and Bob have accounts on two different Exchange organizations; in that case, the message goes from Alice’s home server to the IM router designated for Bob’s network. That router then proxies the request to Bob’s home server, which sends it to his client.

Note

This is admittedly a great oversimplification of the IM message exchange process; for more detail, see Chapter 19 of the Microsoft Exchange 2000 Server Resource Kit.

Notice that this description doesn’t say anything about whiteboarding, application sharing, or voice or video communications. Those protocols all use peer-to-peer connections (using the NetMeeting application programming interfaces [APIs]), with minimal involvement from the home server.

Why Bother?

IM use restrictions usually fall into two camps: companies seem to either want to prevent everyone from using any kind of IM, or they want to prevent the use of IM outside their network perimeter. There are good reasons for these kinds of restrictions, including the following:

Категории