Chapter 8. Client Connectivity

Introduction

Controlling how users connect to Exchange is a necessary part of administering Exchange servers. The recipes in Chapter 7 describe how to control SMTP connections, both originating from and terminating at the Exchange server. In this chapter, we’re going to consider how users connect to your servers with MAPI, WebDAV, POP, IMAP, NNTP, and Outlook Web Access. There are significant differences between how Exchange handles client interactions between these protocols, most of which stem from the protocol implementation. Several of the recipes within this chapter use registry keys in the solution—you should note that Group Policies may also be used to make these registry changes.

MAPI Clients

The venerable Messaging Application Protocol Interface (MAPI) has been around a long time, and reports of its death have been greatly exaggerated. As the primary protocol used by Outlook since its inception, MAPI is well entrenched in Exchange deployments. MAPI traffic is actually a series of remote procedure calls (RPCs) that pass between the client and the server; the contents of these RPCs aren’t publicly documented by Microsoft, and they have changed the ordering and contents of the RPC payloads in several successive versions of Outlook to improve efficiency and security. MAPI connectivity can be established directly between the client and the server or through the RPC-over-HTTP proxy feature added to Windows Server 2003, Exchange Server 2003, and Outlook 2003. In addition, you can publish RPC through a firewall machine running Microsoft’s Internet Security and Acceleration (ISA) Server, which can do application-level inspection and filtering of the RPC traffic passing through it.

Outlook offers the richest feature set of all Exchange clients, in part because of the significant number of MAPI properties that have been implemented over time. These properties store data about messages, such as whether it’s been read or replied to; Outlook retrieves and caches properties when a message is copied to the Outlook client, then uses them in its interface.

Outlook Web Access

Outlook Web Access is an HTTP-based web mail client that comes in two varieties. the “premium” version is designed for, and works only with, Internet Explorer for Windows. It delivers a client experience that’s surprisingly close to the full version of Outlook (including drag-and-drop message handling, type-ahead selection, calendar reminders, and access to public folders, rules, and the GAL), but it requires the use of IE, and some features depend on the S/MIME ActiveX control. The “basic” version of OWA will work on almost any other browser, as long as it supports JavaScript and frames. The basic version doesn’t have all of the functionality of the premium version, but it’s much more portable and uses somewhat less bandwidth.

Unlike the Exchange 5.5 version of OWA, which was a set of Active Server Page (ASP) files that used MAPI to fetch messages from the Exchange store, the Exchange 2000 and Exchange Server 2003 versions are implemented using a direct interprocess communications (IPC) layer called ExIPC that routes requests from the OWA pages to the Exchange store. One key feature that makes this work is that every item in the Exchange 2000/2003 information store is addressable by its own unique URL via WebDAV; the Exchange store also provides a complete rendering engine that can take the contents of a requested URL and render it appropriately for the client version and language used on the receiving end.

Compression is an ancillary benefit of OWA 2003. IIS 5.0 introduced the ability to use gzip compression to compress data before sending it, an ability long supported by Internet Explorer and most other browsers. When you enable compression, Internet Information Server (IIS) is responsible for compressing all the data it sends to the browser. In low-compression mode, IIS only compresses static pages like the OWA logon page; in high-compression mode, dynamic pages are compressed too. This can add significant CPU loading (on the order of 10-15%), but since most Exchange servers underutilize their CPUs, this isn’t a big deal. Compression requires Windows Server 2003, and all the users whose mailboxes are accessed through OWA must have those mailboxes on Exchange Server 2003 machines.

WebDAV Clients

OWA uses WebDAV, but so do other clients. In particular, Microsoft’s Entourage for Mac OS X uses WebDAV to implement its Exchange support. However, WebDAV can be used for much more than messaging. For example, Office 2000 and later can use WebDAV to store or retrieve documents directly from Exchange folders; a wide variety of other command-line clients and libraries allow the use of WebDAV on Mac OS X, Windows, Linux, and other Unix variants. WebDAV clients can access all of the same properties as MAPI clients: some properties are explicitly exposed, while others can be requested by their hexadecimal property ID.

Interestingly, Exchange’s WebDAV implementation (provided by davex.dll) is separate from the one provided by IIS. The IIS implementation can be disabled without interrupting Exchange service, but if you remove or disable davex.dll your Exchange server will abruptly quit working.

POP, IMAP, and NNTP Clients

These clients use the Internet protocol handlers that ship with Exchange; these handlers are actually built on top of the respective protocol implementations for IIS. There’s not very much to say about the implementation of these Internet-standard protocols; Exchange 2000 and Exchange Server 2003 provide the required functionality according to the POP3, IMAP4, and NNTP RFCs, and they provide a good deal of optional functionality as well. One important feature is Exchange’s ability to run these protocols over a Secure Sockets Layer (SSL)-protected connection; given the weakness of standard POP/IMAP/NNTP authentication, you should require this if you’re going to allow these protocols to be used from outside your corporate network. Most Exchange administrators disallow the use of POP3 and IMAP4 from the outside users, although some sites that need to give mobile users access will allow IMAP4 with SSL.

Examples of clients in this space include Outlook Express, Eudora (Mac OS Classic, Mac OS X, Windows), Thunderbird (Mac OS X, Windows, Linux), pine (Linux), VersaMail (Palm OS), and Aileron (Palm OS). The Windows Mobile and Pocket PC versions of Outlook also allow POP and IMAP connectivity, as does the standard Windows version of Outlook.

8.1. Blocking Specific Versions of Outlook from Connecting

Problem

You want to be able to control which versions of Outlook connect to your Exchange servers using MAPI, to prevent users from running older, unpatched versions or from running beta versions. Or you may want to completely disable the use of MAPI.

Solution

Using a graphical user interface

  1. Log on to the server where you want to block certain versions of Outlook from connecting. You must perform the following steps individually on each server.

  2. Using Registry Editor (regedit.exe), locate the following registry key:

    HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeISParametersSystem
  3. Add a REG_SZ value named Disable MAPI Clients. For the value data, enter a string containing a list of the MAPI client versions you wish to prevent connecting in one of the formats listed in Table 8-1. (You can get version data in ESM by checking the Logons node under each mailbox database; the Client Version column will tell you what clients and versions are currently in use.) You can specify multiple versions and ranges by separating them with commas.

Table 8-1. Registry formats for blocking Outlook connections

Format

Effect

Example

Maj.min.rev

Blocks the specified version only

9.0.0 blocks all versions of Outlook 2000

maj.min.rev.build

Blocks everything except the specified one

11.6359.6360 allows Outlook 2003 SP1, but nothing else

oldversion-newversion

Blocks all version in the specified range

8.00.3511-8.5.7806 blocks all Outlook 97 and 98 versions

-version

Blocks any version earlier than the specified version

-11.5608.5606 blocks anything older than Outlook 2003 RTM

version-

Blocks any version newer than the specified version

4993.3- will block any client newer than the Exchange 4.0 client

  1. Restart the Exchange information store service.

Using a command-line interface

To force Exchange to refuse connections from any Outlook version older than Outlook 2003, use these commands:

> reg add HKLMSystemCurrentControlSetServicesMSExchangeISParametersSystem 
   /t REG_SZ /v "Disable MAPI Clients" /d "-11.5608.5606"
> net stop msexchangeis /y
> net start msexchangeis

This adds the required registry key, stops the Exchange information store service, and starts the store service again. All clients will be disconnected when the information store stops; when it restarts, any client that reports a version older than the selected version will be unable to connect and will receive an error message.

Discussion

When Outlook makes a MAPI connection to the Exchange server, it reports its version number. These numbers can be retrieved from the Exchange System Manager (check the Logons object under any mailbox database to see which clients are logged on to that particular database). For a more comprehensive list of versions, see the Exchange & Outlook Build Info page (http://www.cdolive.com/build.htm) maintained on the CDOLive web site (use the column marked Exchange Admin Build).

As it starts up, the information store service checks for the presence of the Disable MAPI Clients value in the registry. If this key is present, the list of values provides a list of MAPI client versions that will be prohibited from connecting to the store. Almost all versions of Exchange 2000 and 2003 support this feature. Although it was not present in Exchange 2000 RTM, it was added in Version 6.0.4418.63 of the store.exe binary, which was a pre-SP1 hotfix. As long as your servers are running Exchange 2000 SP1 or later, you can use this capability.

Formatting the string correctly can be slightly complicated, due to the multiple formats and values used by the various versions of Outlook over the years. In general, it is easiest to note the version number reported by Exchange System Manager and use that. MS KB 288894 describes this technique but is slightly confusing when explaining how to determine the version string.

See Also

MS KB 328240 (How to put server-side restrictions on clients that are used to access Exchange 2000 mailboxes), MS KB 288894 (Feature to Disable MAPI Client Access), and CDOLive: Exchange & Outlook Build Info (http://www.cdolive.com/build.htm)

8.2. Configuring Attachment Blocking for Outlook

Problem

You want to control the attachment types available to Outlook users on your servers.

Solution

If you want to change attachment blocking settings on a single computer to allow additional attachment types to be viewed, the process is quite straightforward. To change attachment blocking settings for Outlook on one computer, do the following:

  1. Quit Outlook 2003.

  2. Open the Registry Editor (regedit.exe).

  3. Navigate to the following registry key: HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0Outlook.

  4. If a subkey called Security exists, skip to step 7.

  5. If not, select the key and choose New Key from the Edit menu; name the new key Security.

  6. Select the Security key, then choose New String Value from the Edit menu.

  7. Name the string value Level1Remove.

  8. Right-click the Level1Remove key and choose Modify.

  9. Enter the extensions of the file types you want to access through Outlook. You can type multiple extensions separated with semicolons, such as:

    .exe;.mdb;.bat
  10. Quit the Registry Editor.

  11. Restart Outlook 2003.

You can also use the Outlook Administrator Pack to apply attachment blocking settings to multiple computers. You do this by creating a public folder named Outlook Security Settings, then installing a custom form in it and using that form to edit the security settings you want applied to your Outlook clients. Settings you apply in this manner will override settings on individual client machines.

If you choose to use this method, the first step is installing the Outlook Administrator Pack:

  1. Download the Outlook Administrator Pack from:

    http://www.microsoft.com/resources/documentation/office/2003/all/reskit/en-us/default_tools.mspx

    You can also find this utility in the Office Resource Kit Toolbox.

  2. Find the Outlook Administrator Pack, Admpack.exe, from the Tools folder (C:Program FilesORKTOOLSORK11TOOLSOutlook Administrator Pack). This executable will extract four files: OutlookSecurity.oft, Hashctl.dll, Comdlg32.ocx, and Readme.doc.

  3. Choose a computer that will serve as the administration point for your security settings. This computer should not be your Exchange Server.

  4. Copy the file Hashctl.dll to the %systemroot%system32 directory on your administrative workstation.

  5. Register the hashing DLL by typing the following from the Start Run dialog or from a command line:

    > regsvr32.exe hashctl.dll
  6. If it’s not already on your machine, install the Comdlg32.ocx file:

    1. Copy the file Comdlg32.ocx to the %systemroot%system32 directory.

    2. Register the hashing DLL by typing the following from the Start Run dialog or from a command line:

      > regsvr32.exe comdlg32.ocx

Once you’ve installed and registered the Outlook Administrator Pack’s components, you have to create a public folder to hold the security settings:

  1. Log in to Outlook and create a public folder in the root of the MAPI public folder tree (usually named All Public Folders). The new folder should be named according to what you want to do with it:

    • If you want the settings to apply only to Outlook XP, name it Outlook 10 Security Settings.

    • If you want the settings to apply only to Outlook 2003, name it Outlook 11 Security Settings.

    • If you want it to apply to all versions of Outlook (as you probably do), name it Outlook Security Settings.

  2. Ensure all users have permissions to read items in your public folder.

  3. Open the OutlookSecurity.oft form found in the folder you specified in step 2.

  4. When Outlook asks where you want to instantiate the new form, choose the folder you just created.

  5. Select the Tools menu and choose Forms, then Publish Form. Ensure the currently selected folder is your current folder.

  6. Name your form Outlook Security Form, then click Publish.

  7. Close the form and do not save changes.

After you’ve created the public folder, you can instantiate the settings form and use it to create some security settings:

  1. Navigate to the newly created folder in Outlook and use the Actions menu to create a new copy of the form (see Figure 8-1).

    The Outlook security form
    Figure 8-1. The Outlook security form
  2. You can create a default security policy, or create customized policies for groups of users. By default, the Default Security Settings for All Users radio button will be active, meaning that these settings will apply to all Outlook users on this Exchange server. If you want to apply these settings to a subset of your users, select the Security Settings for Exception Group button, then fill in the Security Group Name and Members fields.

  3. To control attachment blocking, use the check boxes under Miscellaneous Attachment Settings. You can disable blocking completely as well as allow users to move attachments from Level 1 to Level 2.

    • The Show level 1 attachments checkbox tells Outlook whether or not you want the names of level 1 attachments to be visible in the InfoBar.

    • The Do not prompt about level 1 attachments when sending an item and Do not prompt about level 1 attachments when closing an item checkboxes govern whether Outlook warns you when you include a forbidden attachment in a message you’re composing.

    • The Allow in-place activation of embedded OLE objects checkbox controls whether Outlook will allow in-place activation or not. In-place activation actually turns on an embedded application, making its menus and toolbars visible and active within the MDI frame of an existing application. Since this actually cedes control of the current application to the automation server for the embedded object, it poses a small security risk, so Microsoft lets you turn it off.

    • The Show OLE package objects option controls whether Outlook will show OLE binder objects; again, this represents a small security risk.

  4. To control access to specific attachment types, add file extensions to either the Add or Remove boxes under the Level 1 File Extensions and Level 2 File Extensions headings.

  5. The Enable scripts in one-off Outlook forms checkbox controls whether individual Outlook forms may run scripts or not; the remaining radio buttons regulate what happens when external code attempts to use the Outlook object model to execute actions or access properties of a form item. The radio buttons give you three options:

    • The Prompt user radio button causes Outlook to display a dialog box prompting the user to choose whether to allow access or not.

    • The Automatically approve radio button tells Outlook to allow all access without displaying a warning.

    • The Automatically deny radio button tells Outlook to deny all requests without asking.

  6. When you’re finished setting policies for users, scroll to the bottom of the form and click the Close button.

Discussion

As a technical solution to what is largely a behavioral problem,[1] Outlook 2000 SP1 and later checks the file type of each message attachment against an internal list of file types. A default list is included with the product; you can override or customize this list using an Exchange public folder or local registry settings. There are two types of blocked files:

Level 1

These file types (including .bat, .exe, .vbs, .lnk, and .js) are blocked by Outlook. Recipients get a warning InfoBar listing the blocked files when they open or preview a message with a level 1 attachment, but they can’t see or access the attachment themselves. Table 8-2 lists the level 1 attachment types.

Level 2

This includes most other file types. With level 2 attachments, you can see the icon for the attachment, and when you double-click it, you are prompted to save the attachment to your hard disk, but you can’t run it directly from its current location. After you have saved the attachment, you can decide how to handle it. This is supposed to make users think before blindly double-clicking every collection of bits that land in their Inbox. Note that no level 2 attachment types are blocked by default in Outlook 2003.

Table 8-2. Level 1 file types

Extension

File type

.ade

Access project file

.adp

Access project

.asx

Windows Media Player shortcut

.bas

Visual Basic class module

.bat

MS-DOS/Windows batch file

.chm

Compiled HTML help file

.cmd

Windows batch file

.com

MS-DOS program

.cpl

Control panel

.crt

PKCS#7-format digital certificate

.exe

x86 executable

.hlp

Help file

.hta

HTML program

.inf

Setup information file

.ins

Internet Naming Service file

.isp

Internet communication settings file

.js

JavaScript script

.jse

Encoded JavaScript file

.lnk

Shortcut

.mda

Access add-in

.mdb

Access database

.mde

Encoded Access database

.mdz

Access wizard

.msc

Microsoft Management Console (MMC) console file

.msi

Windows Installer package

.msp

Windows Installer patch

.mst

Visual Test source file

.pcd

Visual Test compiled script

.pif

Shortcut to MS-DOS program

.prf

Outlook profile

.reg

Registry keys for REGEDIT

.scf

Explorer command file

.scr

Screen saver

.sct

Windows scripting component

.shb

Shortcut to a document section

.shs

Shell scrap object

.url

Internet shortcut/URL

.vb

VBScript file

.vbe

Encoded VBScript file

.vbs

VBScript script

.wsc

Windows script component

.wsf

Windows script

.wsh

Windows Scripting Host settings file

When you attach a file to an outgoing message, Outlook checks the file type against the level 1 list. If you’ve attached any level 1 files, you’ll get a dialog that warns you that the recipients may not be able to open the attachment. Clicking Yes in this dialog sends the message as is.

When you receive a message that contains a level 1 attachment, your Inbox displays the paperclip in the attachment column to let you know that the message has an attachment. When you open an email message containing an attachment, the attachment is blocked, and the Outlook InfoBar warns you that the attachment is untouchable. The File Save Attachments command (as well as the View Attachments command on the shortcut menu you see when you right-click) will show only those attachments that aren’t blocked, rendering them completely inaccessible. When you open the message itself, you’ll see the same warning, but you can still get to all attachments whose extensions aren’t on the banned list. If you receive a message containing a level 2 file as an attachment, the attachment will appear normally. However, when you try to open it, you’ll get a warning dialog telling you that it’s a bad idea to run the attachment directly and offering to let you save it to disk.

See Also

Recipe 8.4 for blocking attachments in OWA, MS KB 837388 (How to configure Outlook to block additional file name extensions), MS KB 829982 (Cannot open attachments in Microsoft Outlook), MS KB 284414 (The recipient receives an “Outlook blocked access to the following unsafe attachments” error message when you send an e-mail message that contains a shortcut to a file in Outlook 2002 and Outlook 2003). Microsoft’s web site shows a longer list of Level 1 default file types (http://office.microsoft.com/en-us/assistance/HA011402971033.aspx)

8.3. Fixing Mailbox Folder Names That Appear in the Wrong Language

Problem

One or more of your Outlook clients have folders whose names appear in the wrong language.

Solution

Using a graphical user interface

  1. Log on to a computer that has a profile for the user whose mailbox folders you want to rename.

  2. Make sure that Outlook is configured to use the language that you want used for the folder names. In Outlook 2003, do the following:

    1. Quit Outlook if it’s open.

    2. Open the Microsoft Office 2003 Language Settings tool (Start All Programs Microsoft Office Microsoft Office Tools Microsoft Office 2003 Language Settings).

    3. Switch to the Enabled Languages tab.

    4. Use the Available Languages and Enabled languages list to add the desired language to the list of enabled languages.

    5. Use the Choose the language that defines default behavior in Microsoft Office applications to pick the default language you want to use.

  3. Relaunch Outlook using the /resetfoldernames switch:

    > outlook /resetfoldernames

Discussion

When you create a new mailbox, it’s empty—but at some point, the information store has to create the user’s server folders (including Inbox, Outbox, Sent Items, and Deleted Items). All users have these folders, no matter what client they use. In addition, users who log on with a MAPI client will get additional folders (including Calendar, Notes, Tasks, Contacts, and Journal) when they log on. The language in which these folders are named will depend on several factors:

  • If a message is delivered to the mailbox before the client logs on, the language set on the Exchange server will be used to name the folder. That means that you can force new mailboxes to use a particular language by setting the server’s language value appropriately.

  • When a MAPI user logs on to a mailbox for the first time, whatever language Outlook uses will be used to set the folder names.

  • When an OWA or WebDAV user logs on to a new mailbox, the language set in the browser will be used to set the folder names. (More properly, the first supported language listed in the Accept-Languages HTTP header will be used.)

  • When an IMAP or POP user logs on to a new mailbox, the folder names aren’t generated at all unless the user sends or receives messages. If they just log on and log right back off, the folders aren’t created; if they do anything else, the folder names are created using the client language.

If you have them available, the old Exchange 4.0 and 5.0 clients can also be used to correct folder names, as can MDBVU32.exe.

See Also

MS KB 325625 (XGEN: How Special Folder Names Are Assigned for Multiple Language Clients in Exchange 2000 Server) and MS KB 325626 (XGEN: How Special Folder Names Are Assigned in Outlook Web Access (OWA))

8.4. Configuring Attachment Blocking for OWA 2003

Problem

You want to restrict OWA 2003 users’ ability to open attachments.

Solution

Using a graphical user interface

  1. Log on to your Exchange Front-End server.

  2. Open the Registry Editor (regedit.exe).

  3. Select the HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSEx-changeWebOWA registry key.

  4. Choose New DWORD Value from the Edit menu; name the new value DisableAttachments.

  5. Double-click DisableAttachments and set the value as appropriate:

    0 (the default)

    Makes attachments available, subject to the file-type blocking described in the Discussion section

    1

    Blocks access to all attachments from within OWA 2003. Outlook, IMAP, and POP users can access attachments normally

    2

    Allows attachment access for only those users who connect to back-end Exchange servers or to the specified front-end servers only

If you want to allow access to attachments from one or more front-end servers, do the following on your front-end servers:

  1. Select the HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSEx-changeWebOWA registry key.

  2. Choose New String Value from the Edit menu; name the new value AcceptedAttachmentFrontEnds.

  3. Double-click AcceptedAttachmentFrontEnds and enter the names of the front-end servers through which you want to allow users to access attachments. For multiple servers, separate the server names with spaces.

Using a command-line interface

The following command sets the DisableAttachments value:

> reg add HKLMSystemcurrentcontrolsetservicesMSExchangeWebOWA 
   /v DisableAttachments /t REG_DWORD /d <value>

where <value> is a value from the list in step 5.

Using VBScript

' This code enables attachment blocking on an OWA 2003 server,
' allowing access only to users who connect to one of the specified FE servers
' ------ SCRIPT CONFIGURATION ------
strOWA = "HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeWebOWA"
strAllowedFEs = "<FE Servers>" e.g., "BATMAN SUPERMAN"
' ------ END CONFIGURATION ---------

Set objWSH = wscript.CreateObject("WScript.Shell")
objWSH.RegWrite strOWA & "DisableAttachments", 2, "REG_DWORD"
WScript.echo "DisableAttachments set to disallow access except through FEs"
objWSH.RegWrite strOWA & "AcceptedAttachmentFrontEnds", strAllowedFEs, "REG_SZ"
Wscript.Echo "Set attachment front ends to " & strAllowedFEs

Discussion

OWA 2003 adds attachment blocking that works very much like the Outlook equivalent described in Recipe 8.2. OWA 2003 gives you three modes of attachment blocking.

  • By default, attachments are allowed, but they’re filtered. Attachments whose extensions appear on the Level1FileTypes registry value under the HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeWebOWA key are blocked, while those whose extensions fall into the Level2FileTypes list can be saved but not opened directly. Although these lists start off with the same contents described in Tables Table 8-1 and Table 8-2, you can change them by editing the registry values, and those changes will affect only OWA 2003 users.

  • If you create the DisableAttachments value and set its value to 1, OWA users can’t access any attachments, period.

  • If you create DisableAttachments and set its value to 2, OWA users who connect to a back-end server can get attachments (again subject to file-extension filtering). You can optionally create the AcceptedAttachmentFrontEnds value and use it to specify a set of front-end servers from which users can access attachments; this is useful if you want to allow some users, but not others, to access attachments through OWA.

See Also

Recipe 8.2 for blocking attachments in Outlook; Chapter 3 of the Managing Client Access to Exchange Server 2003 Guide (Microsoft)

8.5. Configuring Freedoc Access for OWA 2003

Problem

You want to control whether OWA 2003 users can access documents stored directly in public folders.

Solution

Using a graphical user interface

  1. Log on to your Exchange front-end server.

  2. Open the Registry Editor (regedit.exe).

  3. Select the HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSEx-changeWebOWA registry key.

  4. Choose New DWORD Value from the Edit menu; name the new value EnableFreedocs.

  5. Double-click EnableFreedocs and set the value as appropriate:

    0 (the default)

    Makes freedocs completely inaccessible from within OWA 2003

    1

    Allows access to freedocs from back-end servers only

    2

    Allows freedoc access from servers listed in the AcceptedAttachmentFrontEnds registry value

    3

    Allows unrestricted freedoc access from any FE or BE in your organization

  6. Quit the Registry Editor.

  7. Restart the Exchange server.

Using a command-line interface

The following command sets the EnableFreedocs value on your front-end server:

> reg add HKLMSystemcurrentcontrolsetservicesMSExchangeWebOWA 
   /v EnableFreedocs /t REG_DWORD /d <value>

where <value> is a value from the list in step 5 above.

Using VBScript

' This code creates the EnableFreedocs key and reboots the server
' ------ SCRIPT CONFIGURATION ------
strOWA = "HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeWebOWA"
strFreedoc = strOWA & "EnableFreedocs"
' ------ END CONFIGURATION ---------

Set objWSH = wscript.CreateObject("WScript.Shell")
objWSH.RegWrite strFreedoc, 3, "REG_DWORD"
WScript.echo "Successfully created key"

Discussion

Exchange has long allowed you to store documents directly in public folders—not as attachments to a public folder post, but in the same way that you’d put a document in a filesystem folder. These documents are called freedocs and have a message class of IPM.Document (instead of the IPM.Post type used for regular postings). OWA 2003 changed the way that OWA users interact with them. In OWA 5.5 and OWA 2000, users could directly open freedocs; OWA 2003 changed this behavior because freedocs might contain macro code that would be executed on the OWA machine when the document was opened.

However, this default restriction is a serious inconvenience for sites that use a lot of freedocs, so Microsoft thoughtfully provided a way to turn it off. The default setting is safer, and you should leave it alone unless you actually need to grant your users access to freedocs. In that case, the next safest approach is to enable freedoc access only from back-end servers.

See Also

MS KB 834743 (“HTTP 403 (Forbidden)” error message when Exchange 2003 users try to use Outlook Web Access to access a freedoc that is located in a public folder)

8.6. Controlling OWA 2003 Spellchecking

Problem

You want to control use of the OWA 2003 spellchecker.

Solution

Using a graphical user interface

To set Outlook Web Access 2003 to spellcheck messages when they are sent, do the following:

  1. While logged in to Outlook Web Access 2003, click the Options icon in the navigation pane.

  2. Under Spelling Options, check the box marked Always check spelling before sending.

  3. Optionally, choose whether words in uppercase or words containing numbers should be ignored by checking the appropriate boxes.

To manually spellcheck a message, do the following:

  1. From the message window, click the spelling button on the toolbar.

  2. If you haven’t yet specified a default language, OWA will ask you to choose a language and click Check Document.

  3. If a misspelling is discovered, you will be presented with options to Ignore, Ignore All, Change, Change All, or Delete the offending word.

To disable spellchecking on the OWA 2003 server, do the following:

  1. On your Exchange Server computer, open the Registry Editor (regedit.exe).

  2. Navigate to the HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeWebOWA registry key.

  3. Add a REG_DWORD called DisableSpellCheckOnSend

  4. To prevent users from being able to select the spellchecking option in OWA, set the value to 1. To allow users to choose the option of spellchecking, set the value to 0.

Using a command-line interface

The following command sets the DisableSpellCheckOnSend value:

> reg add HKLMSystemcurrentcontrolsetservicesMSExchangeWebOWA 
   /v DisableSpellCheckOnSend /t REG_DWORD /d <value>

where <value> is a value from the list in step 4.

Using VBScript

' This code creates the DisableSpellCheckOnSend key and reboots the server
' This code disables the ability of users to check spelling
' on your OWA 2003 servers. Don't do this unless necessary,
' because most users *love* this feature.
' ------ SCRIPT CONFIGURATION ------
strOWA = "HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeWebOWA"
' ------ END CONFIGURATION ---------

Set objWSH = wscript.CreateObject("WScript.Shell")
objWSH.RegWrite strOWA & "DisableSpellCheckOnSend", 1, "REG_DWORD"
WScript.echo "OWA 2003 spelling checking turned off."

Discussion

The spellchecker built into Outlook Web Access 2003 can help you spellcheck your outgoing mail in a variety of languages including Arabic, Danish, Dutch, English (Australia, Canada, United Kingdom, or United States), Finnish, French, pre- or post-reform German, Hebrew, Italian, Korean, Norwegian, Spanish, and Swedish.

By default, the ability to use spellchecking is enabled for all users. OWA’s spelling checker has both a client and a server component. The server component processes the flagged words in the message, while the client component searches for the flagged words. There’s also an XML component to communicate between the client and server.

OWA’s spellchecker ignores a number of words and types of words, including the following:

  • Roman numerals

  • Repeated words

  • Initials

  • Words separated by the @ symbol (like email addresses)

  • Words that begin with file:, http:, https:, ftp:, ftps:, \, and mailto:

Regrettably, there’s no way to customize the word list that OWA’s spellchecker uses, so you can’t add your own custom terms to the dictionary.

Users can configure Outlook Web Access to automatically check their outgoing messages before they’re sent. Simply choose the Options banner from OWA’s navigation pane and check the box marked Always check spelling before sending. If you prefer to prevent your users from checking spelling, you can create a registry key and disable all spellchecking (although we can’t figure out why you’d want to do that!).

See Also

MS KB 825430 (Overview of the spelling checker in Outlook Web Access for Exchange Server 2003), MS KB 841657 (Additional Outlook Web Access spell-check languages that are included in Exchange Server 2003 Service Pack 1), MS KB 822699 (“Outlook Web Access Was Unable to Check the Spelling on This Item Due to an Error” Error Message when you use the spelling checker)

8.7. Enabling SSL for OWA

Problem

You want to enable the use of SSL on your OWA 2000 or OWA 2003 server.

Solution

Using a graphical user interface

  1. Log in to your OWA server.

  2. Open the IIS Manager snap-in from the Administrative Tools menu in the Start menu.

  3. Expand the Web Sites object.

  4. Right-click the Default Web Site object and choose Properties.

  5. Click the Directory Security tab.

  6. Click the Server Certificate button. The Web Server Certificate Wizard will appear; click Next. What you see next will depend on whether or not your server already has a certificate associated with OWA:

    • If you don’t have a certificate, you’ll see the Server Certificate page. You can request a new certificate or assign one that’s already installed but not yet assigned for use with OWA. If you already have an SSL certificate installed for use with OWA, you can reuse it by selecting the Assign an existing certificate button. If you need to request a new certificate, click Create a new certificate, then refer to the instructions provided by your certificate authority; we won’t cover the process here.

    • If you have an installed certificate that’s already in use for OWA, you’ll see the Modify the Current Certificate Assignment page (see Figure 8-2). On this page, you can renew the current certificate, remove it, or replace it with a different existing certificate.

      In either case, choose the appropriate option and click Next. For the rest of this recipe, we’ll assume that you’ve already obtained a certificate from your CA and installed it within IIS.

  7. In the Available Certificates page, select the certificate you’re using for SSL and click Next.

  8. Click Next on the summary page, then click Finish to dismiss the certificate wizard.

  9. Click the Edit button in the Secure communications control group.

  10. Click the Require secure channel checkbox. For added security, you should also click the Require 128-bit encryption checkbox. Click OK.

  11. Click OK.

Replace, renew, or remove an already-assigned certificate
Figure 8-2. Replace, renew, or remove an already-assigned certificate

Discussion

SSL has been around a long time, and so has OWA. By now, there really shouldn’t be an Exchange administrator anywhere on Earth who thinks it’s OK to run OWA without requiring SSL (unless you’re just running OWA on your corporate network). Why? OWA can use two primary authentication modes. Basic authentication obscures the credentials by base64 encoding them, but it doesn’t protect them from eavesdroppers. Integrated Windows authentication uses either Kerberos or NTLM authentication, but it only works with specific browsers that support it, and it’s normally restricted to use on corporate networks. Accordingly, OWA 2003 enables both types of authentication. However, basic encryption alone really isn’t safe for use on the Internet, since each authentication response contains an obscured user name and password that can be easily unobscured by an attacker who can eavesdrop on the connection. To protect against such eavesdropping, any OWA server that’s reachable from the Internet should have SSL enabled and required. In fact, SSL must be enabled to use form-based authentication or RPC over HTTPS.

Note that neither EAS nor OMA support SSL connections. See MS KB 817379 for details.

See Also

Recipe 8.8 for setting up form-based authentication, MS KB 839357 (How to redirect an HTTP connection to HTTPS for Outlook Web Access clients), MS KB 816794 (How to install imported certificates on a Web server in Windows Server 2003), and Chapter 2 of the Exchange Server 2003 Client Access Guide:

http://www.microsoft.com/technet/prodtechnol/exchange/guides/E2k3ClientAccGuide/7ff636d5-a97d-4ac9-a090-10eb428ccf83.mspx

8.8. Configuring Form-Based Authentication for OWA 2003

Problem

You want to enable form-based authentication (FBA) for your OWA 2003 servers.

Solution

Using a graphical user interface

  1. Open the Exchange System Manager (Exchange System Manager.msc).

  2. In the left pane, expand the appropriate Administrative Groups container and expand the Servers container.

  3. Expand the target server and expand its Protocols container.

  4. Expand the HTTP node, then right-click the Exchange Virtual Server object and choose Properties.

  5. Switch to the Settings tab.

  6. Click the Enable Forms Based Authentication checkbox.

  7. Optionally, select a compression method from the Compression pulldown. (See the Discussion section for more on compression.)

  8. Click OK.

  9. ESM will display a warning dialog telling you that FBA requires SSL. Click OK.

  10. Restart IIS by opening a command window and using the iisreset command.

Discussion

The idea behind FBA is simple, but understanding it requires some background. If you’ve used the Exchange 5.5 version of OWA, you probably remember its logon form, which was embedded in an HTML page. The Exchange 2000 version of OWA did away with this logon page; instead, when you try to log on to Exchange, your browser would prompt for logon credentials. In Exchange Server 2003, you get to choose the approach you prefer—but which one is better? The difference between these two approaches is significant but subtle.

When a web browser gets an authentication request from a server, it has to ask the user for credentials. After the user types his credentials in, the browser could make him type them over and over again for subsequent pages; instead, browsers cache the credentials and send them for each subsequent page. This is easy for the user, but it raises some potential security problems. If the credentials are protected using basic authentication, an attacker could easily capture them from an unencrypted connection. Even if the connection is encrypted, there’s no good way to force the browser to “forget” the credentials after a set time period has passed—leading to the sadly common situation where user A logs on to OWA, leaves the machine, and has user B come along and continue their OWA session.

FBA attacks this problem by eliminating the browser’s access to credentials. When you use the OWA 2003 logon page, your credentials are sent as form fields to the Exchange server, but the communication is protected by SSL (which is why FBA requires SSL). The user name and password arrive at the server, which uses them to authenticate you against the Exchange mailbox you’ve requested access to. If the authentication request succeeds, the OWA server sends an encrypted cookie back to your browser. The browser supplies the cookie on each subsequent page reload, and the server can decrypt it and see if it’s valid. Net result: credentials are only sent once, and the rest of the time the cookie is passed from client to server. Better still, the server controls the contents of the cookie, so it can include a time stamp. By checking the time-stamp value each time the cookie is presented by the browser, it’s possible to set session time limits (as described in Recipe 8.10); once the timestamp indicates that the cookie has expired, the server redirects the user to the logon page to get a new cookie.

See Also

Recipe 8.10 for setting OWA’s session timeout limits, MS KB 830827 (How to manage Outlook Web Access features in Exchange Server 2003), Chapter 14 of Secure Messaging with Exchange Server 2003 (MS Press), and Chapter 2 of the Exchange Server 2003 Client Access Guide (http://www.microsoft.com/technet/prodtechnol/exchange/guides/E2k3ClientAccGuide/7ff636d5-a97d-4ac9-a090-10eb428ccf83.mspx)

8.9. Allowing Password Changes Through OWA

Problem

You need to allow users to change their passwords through Outlook Web Access.

Solution

Using a graphical user interface

To create the required virtual directory for password changes, do the following:

  1. Open the IIS Manager snap-in from the Administrative Tools menu in the Start menu.

  2. Expand the Web Sites object.

  3. Right-click the Default Web Site object and choose New Virtual Directory.

  4. The welcome screen of the Virtual Directory Creation Wizard appears; click Next.

  5. Enter iisadmpwd in the Alias field and click Next.

  6. In the next wizard page, set the path for the new directory to %Systemroot%System32InetsrvIisadmpwd and click Next.

  7. Set the Virtual Directory Access Permissions to Read, Run Scripts, and Execute. Click Next and Finish.

  8. You should now see the new Virtual Directory listed in the IIS Directory structure.

Once your directory is created, you can edit the registry to enable the Change Password button.

  1. Log on to the OWA server.

  2. Open the Registry Editor (regedit.exe).

  3. Select the HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSEx-changeWebOWA registry key.

  4. Choose New DWORD Value from the Edit menu; name the new value DisablePassword.

  5. Double-click DisablePassword and set the value to 0.

  6. Restart the IIS services with the iisreset command-line tool.

Discussion

Out of the box, OWA doesn’t provide a method for users to change their passwords. For users who log on to a domain every day, that’s no problem, since they can always change their password directly from their workstation. However, anyone who uses OWA remotely will be out of luck unless you provide them a method to change their passwords when necessary.

Once you have enabled SSL on your OWA server, you can allow your users to change their password through OWA. SSL is required because Microsoft correctly reasoned that allowing people to set up a mechanism to change passwords without it would be insecure. The password-changing mechanism itself is implemented by IIS, and IIS includes all of the necessary components; you only have to enable them. OWA can expose a convenient button to change the password, but only after you make the registry change described above.

See Also

Recipe 8.7 for setting up SSL, MS KB 321582 (The Outlook Web Access Change Password Options Does Not Function), MS KB 314308 (You cannot change your password in OWA if the front-end server and the back-end server are running different types of operating systems), MS KB 833734 (You experience various problems when you use the Password Change pages in IIS 6.0), and Restarting IIS (http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/wsa_restartingiis.mspx), which has some good information on iisreset

8.10. Changing OWA 2003 Session Timeouts

Problem

You want to adjust the time out for OWA 2003 user’s session.

Solution

Using a graphical user interface

  1. Log on to the OWA server.

  2. Open the Registry Editor (regedit.exe).

  3. Select the HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSEx-changeWebOWA registry key.

  4. Choose New DWORD Value from the Edit menu.

  5. Name the new value PublicClientTimeout.

  6. Double-click PublicClientTimeout and set its value to the number of minutes after which you want a logon session from a public client to time out. The default value is 15 minutes, but you can assign any value between 0 and 43,200 minutes.

  7. Choose New DWORD Value from the Edit menu.

  8. Name the new value TrustedClientTimeout.

  9. Double-click TrustedClientTimeout and set its value to the number of minutes after which you want a logon session from a trusted client to time out. The default value is 1440, with a permissible range of 0 to 43200.

  10. Stop and restart the WWW publishing service.

Using a command-line interface

The following commands set the timeout to 30 minutes:
> reg add HKLMSystemCurrentControlSetServicesMSExchangeWebOWA 
   /t REG_DWORD /v "PublicClientTimeout" /d 30
> reg add HKLMSystemCurrentControlSetServicesMSExchangeWebOWA 
   /t REG_DWORD /v "TrustedClientTimeout" /d 30
> net stop w3svc
> net start w3svc

Using VBScript

' This code sets the public and private machine timeouts for OWA 2003
' ------ SCRIPT CONFIGURATION ------
strOWA = "HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeWebOWA"
' ------ END CONFIGURATION ---------

Set objWSH = wscript.CreateObject("WScript.Shell")
objWSH.RegWrite strOWA & "PublicClientTimeout", 5, "REG_DWORD"
WScript.echo "Public machine timeout set to 5 minutes."
objWSH.RegWrite strOWA & "TrustedClientTimeout", 30, "REG_DWORD"
WScript.echo "Private machine timeout set to 30 minutes."

Discussion

When you use FBA, as described earlier, the server generates a timestamped, encrypted cookie that it can use to determine when the user’s OWA session should time out. OWA 2003 distinguishes between trusted clients, which are presumably secure, and public clients, which are machines (like airport kiosks or public-access terminals in hotels) that can’t necessarily be trusted. There are separate timeout values for each of these client types, controlled by the two registry values previously described. Of course, since OWA can’t tell what kind of client it’s running on, the ultimate selection of a client type comes from the radio buttons on the OWA logon page: clicking Public or shared computer tells OWA to apply the public client timeout value, and clicking Private computer causes the trusted client timeout to apply.

8.11. Using the OWA Web Administration Tool

Problem

You want to easily administer the Outlook Web Access parameters on your Exchange server, using Microsoft’s Outlook Web Access Web Administration (OWAAdmin) utility.

Solution

Using a graphical user interface

  1. Log on to the machine within your domain from which you want to administer your OWA servers, using an account with administrative permissions. This machine must have IIS 5.0 or later, and it must have Version 1.1 or later of the Microsoft .NET Framework.

  2. Download the OWA Web Administration utility from Microsoft’s download site at http://www.microsoft.com/downloads/details.aspx?familyid=4BBE7065-A04E-43CA-8220-859212411E10.

  3. Extract the installation package (OwaAdmin.MSI) from the download archive by running OWAAdmin.exe and choosing a target directory.

  4. Run OWAAdmin.MSI.

  5. When the Outlook Web Access Web Administration utility finishes installing, connect to the OWAAdmin server by launching Internet Explorer 6.0 SP1 or greater and opening https://machinename/owaadmin.

  6. If you only have one OWA server in the domain, it will open by default. Otherwise, you may select any of your domain’s OWA servers from the drop-down list.

Discussion

The OWA Web Administration Tool provides easy access to advanced OWA features that previously had to be changed by editing the OWA server’s registry. This graphical interface is so useful that it provides in one succinct interface almost all the OWA settings available in other recipes in this book! The tool uses Windows Management Instrumentation (WMI) calls to make registry and metabase changes on remote Exchange servers, and presents a friendly interface to change advanced settings. The OWA Web Admin Tool must be installed on a machine running IIS 5.0 or higher that is a member of the OWA server’s domain. If you are running the tool on a machine running SharePoint Team Services (STS), you must exclude the OWAAdmin virtual directory from the STS ISAPI filter. The OWAAdmin tool requires you to have a security certificate installed on the IIS machine, but not to worry: it will install a three-year certificate for you if one is not found during the installation process. The cert uses the NetBIOS name of the machine, so if you access the OWAAdmin site with the machine’s IP address, you will get a security alert advising that the name doesn’t match the certificate.

The Customization settings allows for quick setting of some of the more tedious of configuration tasks for Outlook Web Access servers: selecting feature sets by segmentation, and setting a default color and font scheme. Table 8-3 contains a list of the settings available in the Outlook Web Access Web Administration Tool.

Table 8-3. Pages in OWAAdmin and their capabilities

Property page

Typical uses

Address Book

Specify the upper limit of how many names are returned on an address book query.

Attachment Handling

Specify which types of content are allowed.

Automatic Signature

Specify the maximum allowed length of a client’s automatic signature.

Character Handling/Encoding

Specify which character sets are used by clients of this OWA server.

Client Notifications

Set intervals for checking for new messages or reminders.

Forms-based authentication

Set timeout values for public and private clients, and specify SSL acceleration device, if present.

Junk e-mail handling

Set the parameters OWA uses in handling junk email.

Public Folders

Specify OWA public folder limits and options.

Security Settings

Specify settings affecting OWA client logon and logoff security.

Spell Check

Set languages and limits for OWA spellchecking.

S/MIME

Configure over 20 S/MIME security options.

Tasks

Set length of work day and work week for tasks in OWA.

User Privacy

Force, disable, or allow client setting of “spam beacon” suppression by OWA client.

View Settings

Change the maximum allowable lines in an OWA view.

Customization—Apply a default theme to this server

Force a default “theme” of specific colors and font settings, rather than allowing users to choose.

Customization—Server-wide Feature Support

Enable or disable OWA features (commonly referred to as “segmentation”).

See Also

Recipes in this chapter on individual OWA 2003 settings and MS KB 300432 (How To Promote a Member Server Running IIS to a Domain Controller Running IIS) should be followed if running the web administration tool on a Windows 2000 domain controller

8.12. Creating OWA 2003 Themes

Problem

You want to create a new theme or skin for OWA 2003 to make it more compatible with your organization’s existing web applications.

Solution

Using a graphical user interface

To create the new files for your theme, do the following:

  1. Log on to the Exchange Server computer running OWA.

  2. Open Windows Explorer and navigate to the Program FilesExchsrvrExchwebThemes directory.

  3. You should see five existing directories named 0 through 4. These directories represent the themes that ship with Exchange Server 2003. Copy one of these directories to a new directory and rename it to an easy-to-remember identifier. It does not have to be a number.

  4. Go into this new directory. You should see nine graphic files and a CSS file named OWAColors.css.

  5. Edit the graphic files to match your desired appearance, but don’t change their dimensions.

  6. Edit the contents of the OWAColors.css file to change the various color elements used by OWA to complement the colors in your altered graphic elements.

  7. Register your theme so it can be tested.

  8. When you are happy with your theme, copy this folder to all of your OWA servers. Be sure to register the theme on all of them.

To register your theme so that it’s visible to OWA users through the Options page, do the following:

  1. Log on to the Exchange Server computer running OWA.

  2. Open Regedit and navigate to the key HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeWebOWAThemes.

  3. Create a new string value under the above subkey. You can name this value whatever you like, but this name should probably match the name of the theme directory or the desired display name for the theme so you can easily tell which entry belongs to which theme.

  4. Add the following string as the contents of the new value (see the Discussion section for more on what these fields mean):

    id=<Hex or decimal ID string>
    ;path=<name of the theme directory>
    ;title=<theme title>
    ;
       bgcolor=<Web hex color string for background color>
  5. Log into OWA on the server. Click the Options button
    and click Appearances . Ensure that your new theme is visible in the
    list of theme choices.

To create a custom logon page, do the following:

  1. Log on to the Exchange Server computer running OWA.

  2. Open Windows Explorer and navigate to the Program FilesExchsrvrexchwebinauth directory. Locate the directory that contains the desired language localization and navigate into it (usa for United States English).

  3. Open the logon.asp file in your text or HTML editor. This page contains the logic and static HTML for the forms-based authentication page. Editing the contents of this file is beyond the scope of this book.

  4. When you are happy with the behavior of your new logon page, edit the logon.asp file in each locale subdirectory that will be used on your servers.

  5. Copy these modified files to the corresponding directories on all of your OWA servers.

Discussion

In Exchange Server 2003, OWA has become an extremely mature web-based messaging application, which is why so many companies use it. One of the biggest requests about OWA was a way to make it easier to brand it with custom graphics, colors, and other visual elements; Microsoft responded by providing the ability to easily create additional themes. The process is, in theory, simple: create your new theme elements, put them in the proper place on the server, and register them so OWA knows to offer them. As always, the devil is in the details. Creating new themes is not difficult, but when you do so, you must remember that you are working with a complex web page and that changes that seem small can have a large impact on the final result’s appearance.

To change the basic theme, you’ll need to make changes to one or more of the ten files detailed in Table 8-4. For the most part, you shouldn’t try to change the size of the graphic elements; you will either throw off the spacing or cause the element to be scaled oddly to fit into a predetermined space. Be aware that the graphic elements with a width of 1 pixel are tiled horizontally to create the display element; this drastically reduces file sizes and bandwidth use.

Table 8-4. OWA theme editable files

Filename

Width

Height

Purpose

OWAColors.css

n/a

n/a

CSS definitions of the colors used in the theme.

logo2.gif

179

36

As it states, this is the logo. Keeping your replacement graphic at the same display ratio will ensure that your finished theme doesn’t cause odd displacements.

nb-bkgd.gif

1

2

The background color or pattern (default is a color gradient) for the left navigation bar.

nb-hide-ql.gif

50

8

The control to click to hide the navigation bar. Should be matched with nb-show-ql.gif and nb-ql-tgl.gif.

nb-ql-tgl.gif

1

2

The background for the hide/show control. Should complement nb-show-ql.gif and nb-hide-ql.gif.

nb-sel-bkgd.gif

1

2

The background color for selected icons in the navigation bar.

nb-show-ql.gif

50

8

The control to click to reveal the navigation bar. Should be matched with nb-hide-ql.gif and nb-ql-tgl.gif.

nin-bg.gif

130

1

The background used for the pop-up new mail notifications (“toast”).

resize-dot.gif

1

1

A spacer graphic element that is not used in any visible way. You should not need to edit this element.

tool-bkgd.gif

1

3

The background color for unselected icons in the navigation bar and for the toolbar across the top.

Registering your theme can be somewhat tricky. Although you only have one registry entry to create, the contents of the string must be properly formatted. If you make an error, Exchange will not create a log entry or otherwise tell you that something is wrong. You will merely be unable to choose your theme. The fields can come in any order but must be separated by semicolons and need to be formatted as follows:

id= <Hex or decimal ID string> ;

This ID string can be in either hex or decimal format. The built-in themes use 0-4; you should probably use something in a higher range so that you don’t cause a conflict if later service packs happen to add more built-in themes. The maximum value is 0x80000000 (2147483648 decimal). Whichever format you use, the theme ID has to be a number.

path= <name of the theme directory> ;

This value is the relative name of the directory in which you have placed the theme files, ignoring the Program FilesExchsrvrExchwebThemes portion of the path.

title= <theme title> ;

This string is how OWA will display the theme in the selection list.

bgcolor= <Web hex color string for background color> ;

This string controls one of the background color elements, which is mainly visible as borders around other areas. It is a regular six-digit hexadecimal RGB value as used for Web color selections; #FFFFFF is white and #000000 is black.

The purpose of a theme is to customize a few basic elements, not to allow you to completely change the look and feel of any element on the form. If you want to make changes to the various icons and elements not included in a theme, you can find the files in the Program FilesExchsrvrExchwebimg directory. These files are the same regardless of theme and language. You can make changes to them, but you should again be careful to make sure that your replacement graphics are the same dimensions to avoid unintentional spacing conflicts. You should also back up these files before you change them and keep copies of your changed files, as they will be replaced by any service pack.

For a more complete branding project, you can change the logon.asp file that is initially displayed for form-based authentication. A common reason for this modification is to provide a list of regional front-end servers for companies that are spread over multiple locations, to allow users to select the front-end server closest to them easily. Microsoft does not support these modifications, so be sure to save a copy of the default files in case you need OWA support from them. There are multiple versions of these files, one for every language supported on the server. They are written in complex ASP code, so make sure you understand and thoroughly test your changes. In addition, be aware that installing a service pack or hotfix may overwrite your changes.

See Also

Recipe 8.13 for designating a default theme, and the Customizing Microsoft Outlook Web Access white paper:

http://www.microsoft.com/downloads/details.aspx?FamilyID=6532E454-073E-4974-A800-1490A7CB358F&displaylang=en

8.13. Forcing Users to Use a Specific OWA Theme

Problem

You want to restrict your users to a specific theme or set of themes in Outlook Web Access.

Solution

Using a graphical user interface

  1. Log on to the Exchange Server computer.

  2. Open Regedit and navigate to the key HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMSExchangeWebOWAThemes.

  3. Create a new value named DefaultTheme. Its value should be the theme ID of the default theme you want displayed for your users. The ID value must be a number that corresponds to an existing theme directory (as discussed in Recipe 8.12); if you haven’t created any of your own themes, you can use one of the themes that ship with OWA by entering the number between 0 through 4.

  4. Repeat steps 1-3 for each Exchange front- and back-end server; for the default change to be effective, you must apply it to all servers in the organization.

Alternatively, you can use the OWA Web Administration tool:

  1. Download and install the Outlook Web Access Web-based Administration tool from:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=4bbe7065-a04e-43ca-8220-859212411e10&displaylang=en
  2. Navigate to the virtual directory created by the Administration tool. This directory can be accessed at https://machinename/OWAAdmin, where machinename is the machine where OWAAdmin has been installed.

  3. Scroll down to the Customization section and click Apply a default theme to this server.

  4. Select the theme you want users to see when they use Outlook Web Access. If you choose a theme, the OWA Options section that allows users to pick their theme will be hidden from all of your users.

  5. To reverse this setting and allow your users to choose their theme again, choose Let Users Choose.

  6. Repeat steps 3-5 for each OWA server in your organization.

Discussion

Whether you create custom themes or just wish to specify one of OWA’s default themes, you can choose to restrict users’ ability to change the theme they see. Once this change is applied, users will no longer be able to see the Appearance section in the OWA Options page. This is an all-or-nothing customization; you can’t both set a default and still allow users to change it.

See Also

Recipe 8.12 for creating your own themes, Recipe 8.11 for using the OWA Web Administration tool, and the Customizing Microsoft Outlook Web Access white paper:

http://www.microsoft.com/downloads/details.aspx?FamilyID=6532E454-073E-4974-A800-1490A7CB358F&displaylang=en

8.14. Enabling the Use of FBA/SSL with Outlook Mobile Access and Exchange ActiveSync

Problem

You need to allow access from mobile devices using Outlook Mobile Access (OMA) or Exchange ActiveSync (EAS) but you have SSL or form-based authentication enabled on your Exchange virtual server, which is not supported by EAS and OMA.

Solution

Using a graphical user interface

  1. Open the IIS Manager snap-in from the Administrative Tools menu in the Start menu.

  2. Expand the Web Sites and Default Web Site objects.

  3. Right-click the Exchange virtual directory and choose All Tasks Save Configuration to a File. Provide a name for the file and click OK.

  4. Right-click Default Web Site and choose New Virtual Directory (from file). Click Browse, select the file you saved in step 3, click Open, and click Read File.

  5. Select Exchange as the configuration to import and click OK.

  6. Since the Exchange virtual directory already exists on this server, you will be prompted to provide an alternative name for the new virtual directory. Enter a name and click OK.

  7. Right-click the new virtual directory and choose Properties.

  8. Click the Directory Security tab. Under Authentication and access control, click the Edit button. Ensure that both Integrated Windows authentication and Basic authentication are selected. Click OK.

  9. Under IP address and domain name restrictions, click the Edit button. Select Denied access and add a single computer entry with the IP address of the local server. Click OK.

  10. Under Secure communications, click the Edit button. Clear the Require secure channel (SSL) checkbox. Click OK twice and close the IIS management console.

  11. Open the Registry Editor (RegEdit.exe) and navigate to the HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMasSyncParameters key.

  12. Create a new string value named ExchangeVDir. For its value, enter the name of the virtual directory you chose in step 6, prepended by a slash.

  13. Close the Registry Editor.

  14. Stop and restart the IIS Admin service.

Discussion

There are two basic problems that can happen when you try to enable mobile devices and SSL/FBA on the same virtual server:

  1. Neither OMA nor EAS can use SSL for WebDAV connections to the Exchange server. Since FBA requires SSL, enabling FBA will automatically prevent mobile devices from synchronizing. Note that EAS used to require SSL, but this is no longer the case.

  2. While OMA uses Kerberos, NTLM, and Basic authentication, EAS requires Kerberos authentication. When you enable FBA, that automatically turns off everything except basic authentication, so EAS can’t authenticate.

There are two possible solutions: deploy a separate front-end server for your mobile clients (see MS KB 818476 for more details) or create a new virtual directory with different authentication settings. The steps in this recipe create a separate virtual server just for mobile client WebDAV access; because IIS stores authentication settings on a per-virtual-server basis, the new virtual directory can have different settings that work properly. The change should be transparent to your mobile clients—other than the fact that their users will notice their connections start working!

See Also

MS KB 817379 (Exchange ActiveSync and Outlook Mobile Access errors occur when SSL or forms-based authentication is required for Exchange Server 2003) and MS KB 818476 (You can configure either Exchange Server 2003 Standard Edition or Exchange Server 2003 Enterprise Edition as a front-end server)

8.15. Enabling Support for “Unsupported” Outlook Mobile Access Devices

Problem

Some of your users have mobile devices that aren’t on the list of officially supported OMA devices, but you want to use them anyway.

Solution

Using a graphical user interface

  1. Open the Exchange System Manager (Exchange System Manager.msc).

  2. Open the Global Settings node, right-click on Mobile Services, and select Properties.

  3. Click the Enable unsupported devices and click OK.

Using VBScript

' ------ SCRIPT CONFIGURATION ------
 strOrgName = "cn=<orgName> "        ' e.g., "Robichaux and Associates"
 strOrgObj= strOrgName & ", cn=microsoft Exchange,cn=services,cn=configuration," &_
    "dc=<domain>, dc=<TLD>"
 strOMAObj = "cn=Outlook Mobile Access,cn=global settings," & strOrgObj
 strDCName = "<serverName>"    ' e.g., BATMAN
' ------ END CONFIGURATION ---------

' get the global OMA settings object 
Set objOrg = GetObject("LDAP://" & strDCName & "/" & strOMAObj)

' reset the flag value to zero, which enables OMA on the server and enables
' the unsupported device flag
objOrg.Put "msExchOmaAdminWirelessEnable", "0"
objOrg.SetInfo
WScript.Echo "Enabled unsupported devices and OMA"

Discussion

OMA supports a fairly broad range of mobile devices, but they can’t support every potential device. In general, phones or handhelds that implement the Openwave browser, Microsoft’s Pocket Internet Explorer, or the Ericsson, Nokia, or Symbian browsers are supported. The canonical list of supported devices is located at http://www.asp.net/mobile/testeddevices.aspx?tabindex=6. Microsoft periodically releases update packages called device updates (DUs) that add support for additional devices; you can get the latest DU from the supported device page.

If you want to try using a device that you think should be compatible, you can toggle the Enable unsupported devices flag. When the setting is off, OMA will refuse to talk to any device not supported by the DU version on that server. When you turn it on, you can connect to OMA with any device you like, and if it’s not supported, OMA will ask you to click OK on a confirmation page that reminds you that your device isn’t supported.

See Also

MS KB 821835 (Overview of Mobile Devices That Are Supported by Outlook Mobile Access in Exchange Server 2003), Chapter 3 of the Exchange Server 2003 Client Access Guide (Microsoft), Chapter 8 of the Exchange Server 2003 Deployment Guide (Microsoft), and http://blogs.msdn.com/conrad/archive/2005/01/21.aspx (Disable OMA via Hosted Exchange)

8.16. Adding Mobile Carriers for Exchange ActiveSync

Problem

You want to preconfigure your Exchange server with proper mobile carrier information for Exchange ActiveSync users.

Solution

Using a graphical user interface

  1. Open the Exchange System Manager (Exchange System Manager.msc).

  2. Open the Global Settings node and right-click on Mobile Services.

  3. Select New Mobile Carrier.

  4. In the Name box, add a “friendly name” for the mobile carrier you wish to add.

  5. In the SMTP domain box, add the domain name for the carrier’s SMTP-to-SMS gateway.

  6. Click OK to add the carrier.

Using VBScript

' This code adds a new carrier by specifying the carrier CN and
' SMTP gateway address 
' ------ SCRIPT CONFIGURATION ------
strOmaCarrierDN = "cn=Carriers,cn=Outlook Mobile Access,cn=global " &_        
   "settings,cn=<org name>,cn=microsoft exchange, cn=services," &_
   "cn=configuration,dc=<domain>,dc=com"
' ------ END CONFIGURATION ---------
set objCarriers = Getobject("LDAP://" & strOmaCarrierDN)

'create and name the new carrier
set objNewCarrier = objCarriers.Create("msExchOmaCarrier", _
    "<carrierName>"    )    ' e.g., "cn=Acme Wireless"

'populate the SMTP domain information & commit to Active Directory
objNewCarrier.Put "msExchOmaCarrierAddress", _
    "<carrierDomain>"    ' e.g., "@sms.acmewireless.tld"
objNewCarrier.SetInfo
Wscript.Echo "New Carrier" & objNewCarrier & "created"

Discussion

To save your users the trouble of having to figure out what their mobile phone carrier’s SMTP-to-SMS gateway address is, you can preconfigure your server with the proper entries, allowing ActiveSync users to pick their carrier from a drop-down list. After selecting their carrier, users can simply type in their telephone number, and Exchange Always-Up-To-Date (AUTD) notifications will be delivered to their mobile device.

Table 8-5 lists the most commonly used Smartphone carriers in the United States; depending on your location and carrier, you may need to contact them to get the correct gateway information.

Table 8-5. Common mobile carriers

Carrier

SMTP gateway

Cingular

mobile.mycingular.com

Sprint PCS

sprintpcs.net

TMobile

tmomail.net

Verizon

vtext.com

See Also

MS KB 833745 (Exchange Always Up-To-Date Notifications do not work with your mobile device)

8.17. Disabling Exchange ActiveSync Certificate Checking

Problem

You want to disable ActiveSync’s certificate checking on a Windows Mobile device.

Solution

Using a command-line interface

  1. Download the Exchange Server Disable Certificate Verification utility (DisableCertChk.exe) from the Microsoft Download Center.

  2. Execute DisableCertChk.exe; choose the folder where you want the certchk utility to be stored.

  3. Connect the Windows Mobile device to the computer.

  4. Use the certchk utility with the appropriate switch (either on or off). To turn off certificate checking, use the following command:

    > certchk off

Discussion

For setup and troubleshooting purposes, it can be useful to temporarily disable your Windows Mobile device’s verification of certificates against its list of trusted sources. This allows you to use untrusted certificates that you’ve created internally, or procured from sources other than the large commercial services, without individually adding the root certificate to the device. SSL encryption is still used for communications between the device and the Exchange server, but error messages will not be generated. Once you’re finished testing and configuring your environment, you can either upgrade to a trusted commercial certificate or add the server’s private root certificate to your Windows Mobile device.

See Also

Recipe 8.18 for installing a root certificate for use with Exchange ActiveSync and MS Download Center Disable Certificate Verification Utility (DisableCertChk.exe) download at:

http://www.microsoft.com/downloads/details.aspx?familyid=d88753b8-8b3a-4f1d-8e94-530a67614df1

8.18. Installing a Root Certificate for Use with EAS

Problem

You want to install a root certificate on a portable device for Exchange ActiveSync users.

Solution

Using a graphical user interface

  1. Download the Smartphone Add Certificate utility (SmartphoneAddCert.exe) from the Microsoft Download Center (http://www.microsoft.com/downloads/details.aspx?FamilyID=9f812d36-ee54-48cb-9703-7619b1a9e1ad), then extract its contents to a folder.

  2. Copy the extracted executable SpAddCert.exe to the smartphone’s “Accessories” directory:

    • for Smartphone 2003, use StorageWindowsStart MenuAccessories

    • for Smartphone 2002, IPSMWindowsStart MenuAccessories

  3. Export the root certificate as a DER-encoded binary X.509 file; save the exported file as filename.cer.

  4. Copy filename.cer to the smartphone’s root storage directory: Storage for Smartphone 2003 or IPSM for Smartphone 2002.

  5. On the smartphone, select Start Accessories SPAddCert.

  6. Select your certificate from the list of available certificates and click OK.

  7. Verify the certificate details and click OK. Click OK when you are asked if you are sure you want to add the certificate.

Discussion

Windows Mobile 2002 and 2003 smartphones ship with root certificates installed for the major certification authorities, but many enterprises wish to issue their own root certificates for use with Exchange ActiveSync, VPN, or web services. Microsoft has made the Smartphone Add Certificate Utility available to allow users to add this root certificate authority to the device’s trusted certificate authority list. However, the utility will not work on phones that are application-locked by the mobile carrier; instead, the carrier must sign and distribute its own version of the utility. At the time of this writing, only Verizon has issued a signed version of the utility, available as VZW_SPAddCert.exe from the Microsoft Download Center. If you run through the steps in this recipe and are presented with an error message indicating that your smartphone is locked, you should contact your mobile carrier for assistance.

See Also

Recipe 8.17 for disabling checking of root certificates, and MS KB 841060 (How to add root certificates to Windows Mobile 2003 Smartphone and Windows Mobile 2002 Smartphone)

8.19. Configuring the POP3 Server for User Access

Problem

You need to configure your Exchange server to allow users to connect with POP3 clients.

Solution

Using a graphical user interface

  1. Open the Exchange System Manager (Exchange System Manager.msc).

  2. In the left pane, expand the appropriate Administrative Groups container and expand the Servers container.

  3. Expand the target server, expand its Protocols object, and the POP3 object.

  4. Right-click Default POP3 Virtual Server and select Properties from the drop-down list.

  5. Select the General tab and choose an IP address to bind the POP3 service to, or choose (All Unassigned). If you want to change the default port number used by this POP3 server, click the Advanced button and enter those ports. If desired, limit concurrent connections and time-out time in minutes.

  6. Select the Access tab to control access to this POP3 virtual server. By default, POP3 authentication is sent in clear text. Configure access by clicking the buttons on this tab.

    • Click Authentication to set the authentication method for this POP3 virtual server as shown in Figure 8-3. If desired, require SSL/TLS (Secure Sockets Layer/Transport Level Security) encryption to prevent network sniffing of credentials and message content. You can select Basic or Simple Authentication and Security Layer (SASL) authentication. If you choose SASL authentication, you can click Edit to specify different SASL authentication methods. The only SASL authentication method currently supported is NTLM, but in the future more might be added and configured here. Click OK to close the Authentication dialog box.

    • If you want to enable SSL for POP3 clients, click Certificate and step through the Web Server Certificate Wizard. Once the server is configured to use an SSL certificate, you can click Communication to require that all communications for this virtual server take place on SSL.

    • To control which clients are allowed to connect to the POP3 virtual server, click Connection. Within the Client Connection Access dialog box, you can allow or prohibit clients based upon IP address, subnet, or domain. If desired, enter allowable or prohibited computers in this dialog box, and click OK.

    Choosing an authentication method
    Figure 8-3. Choosing an authentication method
  7. Select the Message Format tab to specify what format to convert Exchange Rich Text Format messages into. You may choose to convert mail for POP3 clients to either MIME or UUEncode encoding, or to retain Exchange Rich Text Format if you are certain that all your clients support it. If you choose MIME, you may further specify whether you want to force plain text, HTML, or both.

  8. Select the Calendaring tab as shown in Figure 8-4, and choose an Outlook Web Access server to service meeting requests for POP3 users. When a meeting request is mailed to the client, it will contain a URL pointing to the OWA server you specify. If your OWA server requires SSL connections be used, select Use SSL connections.

    Choosing a server to handle calendaring requests
    Figure 8-4. Choosing a server to handle calendaring requests
  9. Click OK to close the Properties dialog box.

  10. Ensure that the Microsoft Exchange POP3 service is set to automatic startup and is running from the Services applet in the Control Panel.

  11. Right-click the POP3 virtual server in Exchange System Manager and select Start from the context menu.

Discussion

POP3 is a client-centric protocol that allows for simple retrieval of email from a user’s inbox to a local message store on the client. Many administrators think of POP3 as an outdated, insecure protocol, but it has the advantages of being extremely lightweight and present as a client protocol on nearly every platform from personal computers to PDAs and cellular telephones. POP3 services can provide wider access to email resources for your increasingly mobile users, and can be more securely and flexibly implemented by understanding the available settings.

You can configure multiple POP3 virtual servers on your Exchange server. This is useful if you have a subset of users who wish to limit a POP3 server to plain text delivery for mobile devices that either do not support HTML email or may be charged by the byte for traffic. To configure an additional POP3 virtual server, simply bind a new TCP/IP address to a network adapter, and use that address to access the virtual server. By default, POP3 traffic occurs on port 110 for plain, unencrypted text, and SSL traffic occurs on port 995. Your network should be configured to allow the appropriate traffic to traverse freely if you use POP3.

See Also

Recipe 8.20 for configuring IMAP4 access, Recipe 8.22 for controlling which users can use POP or IMAP, MS KB 823024 (How to Use Certificates with Virtual Servers in Exchange Server 2003), and MS KB 319574 (How to Use Certificates with Virtual Servers in Exchange Server 2000)

8.20. Configuring the IMAP4 Server for User Access

Problem

You want your users to be able to use the Internet Message Access Protocol (IMAP) to receive mail from your Exchange server.

Solution

Using a graphical user interface

  1. Open the Exchange System Manager (Exchange System Manager.msc).

  2. In the left pane, expand the appropriate Administrative Groups container and expand the Servers container.

  3. Expand the target server, expand its Protocols object, and the IMAP4 object.

  4. Right-click Default IMAP4 Virtual Server and select Properties from the drop-down list.

  5. Select the General tab, and choose an IP address to bind the IMAP4 service to, or choose (All Unassigned). If you want to change the default port number used by this IMAP4 server, click the Advanced button and enter those ports. If desired, limit concurrent connections and time-out time in minutes.

  6. Select the Access tab to control access to this IMAP4 virtual server. By default, IMAP4 authentication is sent in clear text. Configure access by clicking the buttons on this tab.

    • Click Authentication to set the authentication method for this IMAP4 virtual server. If desired, require SSL/TLS encryption to prevent network sniffing of credentials and message content. You can select Basic or SASL authentication. If you choose SASL authentication, you can click Edit to specify different SASL authentication methods. The only SASL authentication method currently supported is NTLM, but, in the future, more might be added and configured here. Click OK to close the Authentication dialog box.

    • If you want to enable SSL for IMAP4 clients, click Certificate and step through the Web Server Certificate Wizard. Once the server is configured to use an SSL certificate, you can click Communication to require that all communications for this virtual server take place on SSL.

    • To control which clients are allowed to connect to the IMAP4 virtual server, click Connection. Within the Client Connection Access dialog box, you can allow or prohibit clients based upon IP address, subnet, or domain. If desired, enter allowable or prohibited computers in this dialog box, and press OK.

  7. Select the Message Format tab to specify what format the MIME encoding should be converted to. You may choose plain text, HTML, or both.

  8. Select the Calendaring tab, and choose an Outlook Web Access server-to-service meeting requests for IMAP4 users. When a meeting request is mailed to the client, it will contain a URL pointing to the OWA server you specify. If your OWA server requires SSL connections be used, select Use SSL connections.

  9. Click OK to close the Properties dialog box.

  10. Ensure that the Microsoft Exchange IMAP4 service is set to automatic startup and is running from the Services applet available in the Control Panel.

  11. Right-click the IMAP4 virtual server in Exchange System Manager and select Start from the context menu.

Discussion

IMAP4 allows messaging clients to retrieve their data from the server and download the data to the local client machine. IMAP4 works in both online and offline modes, is more of an interactive protocol than POP3, which does not support manipulation of mail on the server. While IMAP4 does not have nearly as much functionality as MAPI, in cases where MAPI cannot be used, IMAP4 is a reasonable solution for mail retrieval. By default, IMAP4 traffic occurs on port 143 for plain-text, and SSL traffic occurs on port 993. Your network should be configured to allow the appropriate traffic to traverse freely if you use IMAP4.

See Also

Recipe 8.19 for configuring POP3 access, Recipe 8.20 for controlling which users can use POP or IMAP, MS KB 823024 (How to Use Certificates with Virtual Servers in Exchange Server 2003), and MS KB 319574 (How to Use Certificates with Virtual Servers in Exchange Server 2000)

8.21. Configuring NNTP for Newsgroup Feeds

Problem

You want to use set up a newsgroup feed and populate the Exchange Internet Newsgroups public folder hierarchy.

Solution

Using a graphical user interface

  1. Open the Exchange System Manager (Exchange System Manager.msc).

  2. In the left pane, expand the appropriate Administrative Groups container and expand the Servers container.

  3. Expand the target server, expand its Protocols object, and the NNTP object.

  4. Double-click the desired NNTP virtual server (usually the default unless you have multiple NNTP virtual servers defined).

  5. Right-click Feeds and select New Feed to launch the New NNTP Feed Wizard.

  6. Type the FQDN or IP address for the news server Exchange will be sharing newsgroups with (usually your ISP’s news server) and click Next.

  7. Select the role that defines the remote server, which will almost always be a Peer server and click Next.

  8. Configure the direction of this feed:

    • If this feed will receive incoming articles via a pull feed, select the Inbound feed checkbox and select Pull articles from the remote server.

    • If this feed will receive incoming articles via a push feed, select the Inbound feed checkbox and select Accept a push feed from the remote server.

    • If this feed will provide outgoing articles to the remote server, select the Outbound feed checkbox.

  9. Click Next.

  10. If you selected an incoming pull feed, select the article date and time from which you wish to begin receiving posted articles; the feed will attempt to receive all posts on the remote server that have timestamps earlier than the selected timestamp. Click Next.

  11. By default, an incoming pull feed will retrieve messages from all newsgroups on the remote server. Modify the list of retrieved newsgroups as follows:

    • To only retrieve certain groups, click Remove to remove the default * entry. For each group hierarchy you desire, click Add, select Include, type the name of the hierarchy, and click OK.

    • To exclude only certain groups, leave the default * entry. For each group hierarchy you wish not to retrieve, click Add, select Exclude, type the name of the hierarchy, and click OK.

    • If this feed is an incoming push feed, leave this setting at default.

  12. When you have completed modifying your desired newsgroups, click Finish.

  13. Open the property sheet for the newly created feed and click the General tab:

    • Select the Enable feed checkbox if it is not already checked.

    • Ensure that the value of the Unique path ID generated by the remote server field matches the settings provided by your news peer; this is important if they will be feeding you news from multiple machines.

    • Ensure that the value of the Outbound port field matches the settings provided by your news peer, usually 119 by default.

  14. Click the Schedule tab and select the desired time interval for retrieving and sending messages via this feed.

  15. If your news peer requires authentication, click the Security tab and input the necessary credentials. You can only use Basic authentication.

  16. Click OK to close the property sheet.

  17. Allow sufficient time for the feed propagation to begin. You should be able to see the new newsgroups in the Newsgroups container in Exchange System Manager.

Discussion

The Exchange 2000 NNTP implementation is a functional (though no-frills) implementation of the NNTP protocol and it hasn’t changed appreciably in Exchange Server 2003. You should always gain explicit permission from your news peers before configuring a feed, although many ISPs offer a newsgroups feed as part of a high-bandwidth (T-1 or higher) circuit package.

You should never need to create NNTP feeds to propagate groups within your Exchange organization; the public folder replica and replication mechanism provides finer control and follows your organization’s routing group topology. As such, there should usually be one well-defined interface between your Exchange organization and external news feeds. Also be aware that NNTP feeds can only be used for groups under the Internet Newsgroups folder in your default public folder tree; they cannot be used to replicate other public folder hierarchies with foreign systems.

News feeds are asynchronous by default; any articles generated within your organization propagate to external news server through outbound feeds, while all externally originated messages come in through incoming feeds. In addition, incoming feeds have two types:

  • Pull feeds make use of the NEWNEWS NNTP command; this type of feed may also be called a sucking feed. With this kind of feed, Exchange will attempt to see all the new articles that have arrived on the peer news server since the last connection and retrieve them individually as if it were a news client. In general, ISPs and news peers don’t like pull feeds, since they typically use up more than their fair share of bandwidth, memory, and CPU resources. Dedicated newsgroup transit software makes provisions automatically to spool up relevant news messages for their peers, and a pull feed bypasses this optimization. As a result, many providers disable the NEWNEWS command.

  • Push feeds use the IHAVE/SENDME NNTP commands. In this case, a server that receives a new message (whether from a local poster or from a peer) will announce a new message to its peers, which, in turn, will either ask for the message to be sent or reject it if they already have a local copy of the message. Exchange push feeds do not make use of the NNTP streaming extensions, which make better use of bandwidth for high-volume news feeds by reducing the number of roundtrips required to send each message. Most newsgroup feeds, especially from peers with Unix-based news servers, will use, at minimum, a push feed.

It is not uncommon to configure multiple Exchange news feeds for a peering agreement with a single provider. Many newsgroup providers have large farms of high-speed dedicated news transit servers for redundancy; your organization may need to permit incoming connections from multiple servers (news01, news02, news03, etc.), all of which will use the same Path ID header to prevent replication loops. The corresponding outgoing feed will often go to yet another FQDN, usually a DNS CNAME pointing to multiple servers. When configuring these kinds of peering feeds, be sure to adjust the unique path ID generated by the remote server field on the General tab of the feed property sheet.

Although you can adjust the feed subscription on both push and pull feeds, it is only relevant to pull feeds; push feeds will accept all messages given to them, so be sure the peer has an accurate list of which groups to offer. Group subscriptions can be fully qualified group names (e.g., news.admin.net-abuse.blocklisting) or simple wildcard pattern matches (e.g., news.admin.* provides all of the groups in the news.admin hierarchy).

The interaction between the NNTP flood-fill protocol and public folder flood-fill replication can provide all sorts of potential trouble if you have feeds with multiple external peers. While having multiple peers is a traditional method to ensure faster, more complete Usenet propagation, you should be careful to use the same server to handle all feeds involving a given group to avoid the potential for replication errors and loops. This practice also ensures that you will never have more than one copy of a given message transmitted to your organization, thus saving bandwidth.

Using Exchange directly to exchange newsgroups with external systems may not be the right solution for your organization. A full Usenet feed transmits over 1 TB of data per day, most of which is binary groups, and the use of the NNTP streaming protocol extensions can make a noticeable difference in the speed and quality of newsgroup propagation over WAN links. If you require a full feed, specialized filtering (such as anti-spam or anti-virus checking), efficient use of your WAN bandwidth, or a greater level of redundancy for your newsgroups feeds, then you should probably investigate using specialized NNTP transit software on a dedicated host to handle your newsgroup feeds from the outside world. You can then provide a sanitized feed from this machine to your Exchange organization over your local high-bandwidth network. Additionally, you can investigate the use of the Exchange master/subordinate feed settings, which allow you to establish a group of Exchange servers that loosely work together as a single entity. Since the NNTP service cannot be clustered, this allows greater redundancy for the organization.

See Also

MS KB 266652 (How to Configure the NNTP Service, Part 1), MS KB 268092 (How to Configure the NNTP Service, Part 2), MS KB 319346 (How to create and manage newsfeeds in Exchange 2000 Server), and MS KB 328453 (HOW TO: Increase NNTP Reliability by Using a Master/Subordinate Arrangement in Exchange 2000 Server)

8.22. Disabling User Access to POP3, IMAP4, and HTTP

Problem

You want to control access to your Exchange S erver from non-MAPI clients, allowing some users to use IMAP, POP, or HTTP and preventing others from doing so.

Solution

Using a graphical user interface

To disable an individual user’s access to POP3, IMAP4, or HTTP, do the following:

  1. Log on to your Exchange server using an account that has administrative privileges on the domain.

  2. Open the ADUC snap-in (dsa.msc).

  3. Locate the account for which you want to disable POP3 access.

  4. Right-click the target account and select Properties.

  5. Select the Exchange Features tab. Under Protocols, click the protocol you want to disable, and then click Disable.

  6. Click OK.

To keep any user from using POP3 or IMAP4 on a particular server, do the following:

  1. Log on to the target Exchange server.

  2. Open the Services snap-in (services.msc).

  3. Locate the service you want to disable (Microsoft Exchange POP3 or Microsoft Exchange IMAP4).

  4. Right-click the service, and choose Stop from the context menu.

  5. To prevent the service from being restarted on the next boot:

  6. Right-click the service and select Properties.

  7. Change Startup Type to either Manual or Disabled.

  8. Click OK.

Using VBScript

' This code disables access to POP3, HTTP, and IMAP
' ------ SCRIPT CONFIGURATION ------
strUser = "cn=<username>,cn=Users,dc=<domain>,dc=<com>"
   ' e.g., "cn=Paul Robichaux,cn=Users,dc=robichaux,dc=net"
charSS = Chr(167)     'define a section symbol
symbolset = "ISO-8859-1"  'choose a symbol set for pop3 & imap4
' ------ END CONFIGURATION ---------

set objUser = GetObject("LDAP://" & strUser)
disableHTTP = "HTTP" & charSS & "0" & charss & "1" & String(6,charSS) 
enableHTTP = "HTTP" & charSS & "1" & charss & "1" & String(6,charSS)

disableIMAP = "IMAP4" & charSS & "0" & charss & "1" & charss & "4" & charSS _
         & symbolset & charSS & "0" & charss & "1" & charss & "0" & charss & "0"
enableIMAP = "IMAP4" & charSS & "1" & charss & "1" & charss & "4" & charSS _
         & symbolset & charSS & "0" & charss & "1" & charss & "0" & charss & "0"

disablePOP3 = "POP3" & charSS & "0" & charSS & "1" & charSS & "4" & charSS _
         & symbolset & charSS & "0" & String(3,charSS) 
enablePOP3 = "POP3" & charSS & "1" & charSS & "1" & charSS & "4" & charSS _
         & symbolset & charSS & "0" & String(3,charSS)

'---  set each protocol as "enable" or "disable"          
protocolSettings= Array(disableHTTP,disableIMAP,disablePOP3) ' to disable all
' protocolSettings= Array(enableHTTP,enableIMAP,enablePOP3) ' to enable all

objuser.Put "protocolSettings", protocolSettings
objUser.SetInfo 
Wscript.Echo "Protocol settings for " & objUser.Get("sAMAccountName") & _
             " have been updated"

Discussion

In Active Directory, the settings for POP3, IMAP4, and HTTP access to a user’s mailbox are stored in the multivalued protocolSettings property in the user object. The format of each value takes a funny-looking format that uses the section character (§, ASCII 167) as a field delimiter.

POP3§<enableFlag>§<defaultsFlag>§<encodingFlag>§<symbolSet>§<
               rtfFlag
               >§Â§Â§
IMAP4§<enableFlag>§<defaultsFlag>§<encodingFlag>§<symbolSet>§1§1§0§0
HTTP§<enableFlag>§<defaultsFlag> §Â§Â§Â§Â§Â§

The first two flag values are fairly straightforward:

<enableFlag>

Can be 0 (disable this protocol) or 1 (enable this protocol)

<defaultsFlag>
Can be 1 (use the virtual server’s encoding and behavior defaults) or 0 (override the server defaults with this user’s settings)

The <encodingFlag> values are a little more complex:

0

Message should be MIME-encoded with both text and HTML body parts.

1

Message should be MIME-encoded with text-only body parts.

2

POP3 UUencoding is enabled; Macintosh messages will use Binhex encoding.

3

POP3 UUencoding is enabled.

4

Message should be MIME-encoded with HTML-only body parts.

Finally, the <rtfFlag> values control whether or not Exchange will use RTF (and thus generate the infamous winmail.dat attachment):

0

Microsoft Exchange Rich Text format is disabled.

1

Microsoft Exchange Rich Text format is disabled.

Note that the steps provided in the GUI solutions are also applicable for IMAP4 and HTTP; while the actual service name changes, the steps for each protocol are identical. In the interests of simplicity, we’ve only included the steps for disabling the POP3 protocol.

See Also

MS KB 252459 (Retrieve Properties of User Objects with ADSI and ADO) and MSDN documentation for Platform SDK: Active Directory Schema

8.23. Using Protocol Logging

Problem

You need to log the specific protocol transactions of HTTP, NNTP, or SMTP sessions.

Solution

Using a graphical user interface

  1. Open the property sheet of the desired virtual server:

    • If you need to enable logging on an HTTP virtual server, launch the IIS management snap-in and open the property sheet of the Default Web Site to the General tab.

    • If you need to enable logging on an NNTP virtual server, launch Exchange System Manager, navigate to the desired server object, expand Protocols, expand NNTP, and open the property sheet of the desired virtual server to the General tab.

    • If you need to enable logging on an SMTP virtual server, launch Exchange System Manager, navigate to the desired server object, expand Protocols, expand SMTP, and open the property sheet of the desired virtual server to the General tab.

  2. Select Enable Logging and select W3C Extended Log File Format.

  3. Click Properties and select the General tab.

  4. Select your desired log schedule: hourly, daily, weekly, monthly, unlimited file size, or specified file size.

  5. If you will be comparing entries in this log with logs from other systems such as Unix servers or servers in other time zones, clear the Use local time for file naming and rollover checkbox to instruct Exchange to use UTC timing.

  6. Ensure that the log file path shown in the Log file directory field is satisfactory.

  7. Click the Advanced tab, select the specific fields to be logged, and then click OK twice to close the virtual server property sheet.

Discussion

Although most Exchange deployments use some version of Outlook (and thus the MAPI protocol) for the majority of their clients, the ability to access Exchange resources via Internet standard protocols such as HTTP, NNTP, and SMTP allows many users to make use of a wide variety of other messaging software. It is much easier to troubleshoot difficulties with these clients and services with a detailed log of the protocol transaction; as an example, comparing logs of an SMTP conversation from an Exchange server and from the remote SMTP sender will provide an immediate pointer toward the trouble caused by a Cisco PIX firewall with the SMTP fixup feature enabled (see Recipe 8.24).

One method to spot these kinds of problems is to use a network packet sniffer, but this approach has many drawbacks, not the least of which is the necessity to manually decode the relevant information from the raw packet capture. On the other hand, most packet sniffers allow you to specify filters and reduce the fire hose of information down to a stream you can drink from without drowning, but you still may have to parse the resulting information by hand, although some packet sniffers do packet/session reconstruction for you.

Since Exchange wraps and extends the HTTP, NNTP, and SMTP components of IIS, there is another alternative: using the built-in logging capabilities of the appropriate virtual server. While you might not want to enable protocol logging for normal operation, as it can use disk and CPU resources and may slow down a busy virtual server, it is a valuable troubleshooting tool that can be easily enabled from within Exchange System Manager (or the Internet Services Manager for an HTTP virtual server).

Since protocol logging is enabled and disabled per virtual server, the performance hit can cause problems on a high-traffic server that only has the default virtual servers configured. One way to avoid this problem is to put some thought into configuring multiple virtual servers, as appropriate, to segment your traffic. For example, a bridgehead server for the external SMTP connector could probably benefit from a separate SMTP virtual server specifically for external traffic; whenever protocol logging is turned on to troubleshoot problems with external systems, none of the communications with the other Exchange servers in the organization will be logged. This needs to be balanced against the need to simplify the configuration as much as possible.

Protocol logs can be created in four formats: W3C Extended format, Microsoft IIS format, NCSA Common format, and ODBC. Oddly enough, the preferred format (and default) is the W3C Extended format. This format gives a rich set of properties across multiple protocols; while not every property is supported by every protocol, each property is used in the same way for each protocol that supports that property, allowing your administrators to use their familiarity with one protocol to read logs from another.

The first three formats are ASCII text files; the ODBC format writes each entry as a separate record to a preconfigured data source, allowing easy integration of logs from multiple sources into one central database, which can then be searched and filtered using standard database queries. Table 8-6 describes all the possible fields of the W3C Extended format.

Table 8-6. W3C Extended log file format

Field

Data

date

Date.

time

Time.

c-ip

Client IP address.

cs-username

Authenticated user name. An unauthenticated or anonymous user will display hyphen for HTTP, <user> for NNTP, and the client FQDN for SMTP.

s-sitename

The Internet service name and instance number.

s-computername

Server name; the name of the server on which the log entry was generated.

s-ip

Server IP address.

s-port

Server IP port.

cs-method

HTTP method or SMTP/NNTP verb requested by the client.

cs-uri-stem

URI stem. For HTTP, the file requested; for NNTP, the applicable group or article. Not used for SMTP.

cs-uri-query

URI query. For HTTP, the parameters passed; for SMTP, the parameters for the verb. Not used for NNTP.

sc-status

Numeric protocol status code.

sc-substatus

Numeric substatus code. Only available for HTTP virtual servers.

sc-win32-status

Numeric Win32 status code.

sc-bytes

Number of bytes sent from the server to the client.

cs-bytes

Number of bytes received by the server from the client.

time-taken

Number of milliseconds used to process this portion of the transaction.

cs-version

Protocol and version used by the client; will be either HTTP/1.0, HTTP/1.1, NNTP, or SMTP.

cs-host Host

The requested host header; used only for HTTP/1.1.

cs(User-Agent)

The browser identification string supplied by the client. Not used for NNTP or SMTP.

cs(Cookie)

The content, if any, of any cookie sent or received. Not used for NNTP or SMTP.

cs(Referrer)

The referring site previously visited by the user. Not used for NNTP or SMTP.

The following sample HTTP log sample shows the beginning of an OWA login:

1  #Software: Microsoft Internet Information Services 6.0
2  #Version: 1.0
3  #Date: 2004-10-29 02:11:58
4  #Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem 
   cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) 
   cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes 
   cs-bytes time-taken 
5  2004-10-29 02:11:58 W3SVC1 exch01.thecabal.org 10.0.0.20 GET /exchange/ 
   - 80 - 10.0.0.10 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+
   NT+5.1;+SV1;+.NET+CLR+1.0.3705;+.NET+CLR+1.1.4322) - - EXCH01 401 2 
   2148074254 337 402 30
6  2004-10-29 02:11:59 W3SVC1 exch01.thecabal.org 10.0.0.20 GET /exchange/ 
   - 80 THECABALdevin 10.0.0.10 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+
   6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.0.3705;+.NET+CLR+1.1.4322) - - 
   EXCH01 200 0 0 1694 2121 420
7  2004-10-29 02:11:59 W3SVC1 exch01.thecabal.org 10.0.0.20 GET /exchange/
   devin/ Cmd=navbar 80 - 10.0.0.10 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+
   6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.0.3705;+.NET+CLR+1.1.4322) sessionid=
   664eb14a-bc2b-4239-a688-d0197f094aff:0x409 http://exch01.thecabal.org/
   exchange/ EXCH01 401 2 2148074254 337 515 50
8  2004-10-29 02:11:59 W3SVC1 exch01.thecabal.org 10.0.0.20 GET /exchange/
   devin/Inbox/ Cmd=contents 80 - 10.0.0.10 HTTP/1.1 Mozilla/4.0+(compatible;
   +MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.0.3705;+.NET+CLR+1.1.4322) 
   sessionid=664eb14a-bc2b-4239-a688-d0197f094aff:0x409 http://exch01.thecabal.
   org/exchange/ EXCH01 401 2 2148074254 337 523 100
9  2004-10-29 02:11:59 W3SVC1 exch01.thecabal.org 10.0.0.20 GET /exchange/
   devin/ Cmd=navbar 80 THECABALdevin 10.0.0.10 HTTP/1.1 Mozilla/4.0+
   (compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.0.3705;+.NET+CLR+
   1.1.4322) sessionid=664eb14a-bc2b-4239-a688-d0197f094aff:0x409 http://
   exch01.thecabal.org/exchange/ EXCH01 200 0 0 17646 2234 420
10 2004-10-29 02:11:59 W3SVC1 exch01.thecabal.org 10.0.0.20 GET /exchange/
   devin/Inbox/ Cmd=contents 80 THECABALdevin 10.0.0.10 HTTP/1.1 Mozilla/
   4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.0.3705;+.NET+
   CLR+1.1.4322) sessionid=664eb14a-bc2b-4239-a688-d0197f094aff:0x409 http://
   exch01.thecabal.org/exchange/ EXCH01 200 0 0 19616 2242 390

Lines 5 through 10 of the HTTP log sample show the initial requests; the browser is a member of the domain and the OWA server is not using form authentication, so the request is authenticated using NTLM credentials on the second successive request. Lines 7 through 10, in particular, show how the various requests are broken over the cs-method, cs-uri-stem, and cs-uri-query fields.

The following sample NNTP log shows a short NNTP session:

1  #Software: Microsoft Internet Information Services 6.0
2  #Version: 1.0
3  #Date: 2004-10-29 02:14:55
4  #Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method 
   cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-
   version cs-host cs(User-Agent) cs(Cookie) cs(Referer) 
5  2004-10-29 02:14:55 10.0.0.10 <user> NNTPSVC1 EXCH01 10.0.0.20 119 - - - 0 0 0 0 
   21642 NNTP - - - -
6  2004-10-29 02:16:45 10.0.0.10 thecabaldevin NNTPSVC1 EXCH01 10.0.0.20 119 post 
   thecabal.test - 240 600 70 6 108522 NNTP - - - -
7  2004-10-29 02:16:56 10.0.0.10 thecabaldevin NNTPSVC1 EXCH01 10.0.0.20 119 article 
   1+<[email protected]> 1 220 0 669 11 119689 NNTP - - - -
8  2004-10-29 02:17:11 10.0.0.10 thecabaldevin NNTPSVC1 EXCH01 10.0.0.20 119 quit - - 
   205 0 35 6 134621 NNTP - - - -
9  2004-10-29 02:17:11 10.0.0.10 thecabaldevin NNTPSVC1 EXCH01 10.0.0.20 119 - - - 0 0 
   0 0 134621 NNTP - - - -

Line 5 of the NNTP log shows the initial nonauthenticated connection from the client. In line 6, the user creates a new post to the thecabal.test newsgroup. In line 7, this article is retrieved and read. Lines 8 and 9 show the disconnection from the server.

The following sample SMTP log shows an incoming message:

1  #Software: Microsoft Internet Information Services 6.0
2  #Version: 1.0
3  #Date: 2004-10-29 02:12:25
4  #Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method 
   cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken 
   cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer) 
5  2004-10-29 02:12:25 10.0.0.30 cli01.thecabal.org SMTPSVC1 EXCH01 10.0.0.20 0 EHLO - 
   +cli01.thecabal.org 250 0 317 22 431 SMTP - - - -
6  2004-10-29 02:12:46 10.0.0.30 cli01.thecabal.org SMTPSVC1 EXCH01 10.0.0.20 0 MAIL - 
   +from:<[email protected]> 250 0 43 30 381 SMTP - - - -
7  2004-10-29 02:12:56 10.0.0.30 cli01.thecabal.org SMTPSVC1 EXCH01 10.0.0.20 0 RCPT - 
   +to:<[email protected]> 250 0 36 33 0 SMTP - - - -
8  2004-10-29 02:13:34 10.0.0.30 cli01.thecabal.org SMTPSVC1 EXCH01 10.0.0.20 0 DATA - 
   <[email protected]> 250 0 137 179 34910  
   SMTP - - - -
9  2004-10-29 02:13:36 10.0.0.30 cli01.thecabal.org SMTPSVC1 EXCH01 10.0.0.20 0 QUIT - 
   cli01.thecabal.org 240 75399 73 4 0 SMTP - - - -

Line 5 of the SMTP log shows the initial connection, which uses the EHLO Extended SMTP greeting. Because the cs-username field shows the FQDN of the SMTP client, this connection is not using SMTP authentication.

Lines 6 through 8 show the submission of the message: MAIL FROM and RCPT TO to provide the envelope information and DATA to submit the message itself. At each step, the incoming message passed the various connection, sender, and recipient checks, as shown by the sc-status codes of 250 (OK). Line 9 shows the disconnection.

When trying to write scripts to control protocol logging, you will find a distinct lack of information on how this can be done. In theory, it’s a simple matter of selecting the desired physical server, protocol, and virtual server, then adjusting a few properties in the IIS metabase to control the particular parameters; in reality, there are undocumented interactions with the Exchange extensions to the IIS protocol components. Protocol logging is disabled by default and should be enabled only during troubleshooting and on only the specific virtual servers involved because it has the potential to impact production performance severely. Therefore, we have only included information on enabling protocol logging through the GUI.

See Also

Recipe 7.26 for testing the SMTP server through a manual telnet session, MS KB 257265 (General troubleshooting for Exchange 2000 transport issues), MS KB 821910 (How to troubleshoot for Exchange Server 2003 transport issues), and:

http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/ref_we_logging.asp

for a reference on the properties in the various logging formats

8.24. Making Exchange Work Behind a Cisco PIX Firewall

Problem

You have a Cisco PIX firewall solution, and you want to make sure that you can send and receive SMTP mail from your Exchange server through it and want to ensure that it is configured to work properly with your Exchange deployment.

Solution

On the Cisco PIX, disable the MailGuard (“SMTP fixup”) feature on the PIX firewall, which is on by default. Run the following command from the PIX command line:

no fixup protocol smtp 25

Discussion

While the Cisco PIX firewall is generally a capable firewall, the MailGuard SMTP proxy feature has long been a source of problems, not just for Exchange, but for SMTP servers in general. The MailGuard functionality works by acting as a semi-transparent proxy for incoming SMTP sessions. MailGuard replaces the outgoing connection banner with a characteristic string of asterisks. Note that even if you believe in the value of banner obfuscation, the PIX-provided banner is distinctive and will immediately alert any potential attacker to the nature of the protection you are using.

It also restricts the incoming SMTP verbs to HELO, MAIL, RCPT, DATA, RSET, NOOP, and QUIT. It will not allow any other verbs, even valid ESMTP verbs. This will break much of the higher-level SMTP functionality taken for granted in today’s Internet:

  • SMTP authentication for clients.

  • The 8-bit MIME SMTP extension, to allow binary attachments to be transmitted without first requiring conversion to 7-bit ASCII and taking more bandwidth.

  • The ability to allow clients to retrieve spooled mail on an incoming connection (ETRN).

  • The SIZE extension, which permits an SMTP client to determine whether a given message will be too large for the recipient system without having to transmit the message and have it rejected.

  • Cross-organization SMTP connectors

These features are highly desirable in many organizations, so if you want any of them, you must rely on other methods to protect your Exchange server. If you don’t want your Exchange server to talk directly to the Internet (and many Exchange administrators don’t), your best approach is to deploy a dedicated border mail router system using a reliable, secure MTA package that contains support for the functionality you need.

Two such packages are Postfix and SendMail; both are fast, reliable mail routing packages with a variety of features that make them a perfect front-end for an Exchange organization. Additionally, both support LDAP directory lookups, which allow them to integrate better with your Exchange organization and reject mail for nonexistent recipients by using direct queries to Active Directory. They can also do lookups via the the NIS server capability in the Windows Services for Unix. Both packages can be run on a Windows server using the Cygwin Linux subsystem.

See Also

MS KB 275575 (Client SMTP Authentication Is Enabled, But Relay Does Not Work, Error Message: 550 No Relay Allowed), MS KB 295164 (SMTP Clients Receive Relaying Prohibited Error Message When Authenticated Relay Is Enabled), and MS KB 320027 (Cannot send or receive e-mail messages behind a Cisco PIX firewall)



[1] “There are seldom good technical solutions to behavioral problems.”—Ed Crowley

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.60.249