Configuring file-level antivirus software in Exchange Server 2007

The process of protecting Exchange Server 2007 using file-level antivirus software.
Anderson Patricio photo

By definition antivirus software examines files when the operating system performs operations on them, such as opening, creating or closing a file. To provide a secure environment an Exchange Administrator must be concerned with environment security. In terms of antivirus software, we have two types of antivirus for Exchange Server:

Exchange Server level Antivirus software

This software runs in the Exchange Server box. Exchange Server 2007 supports the Virus Scanning API (VSAPI) and also supports virus scanning at transport level.

Transport level antivirus is installed on the Exchange Server roles (Hub Transport and Edge Transport) and it creates transport agents to treat incoming message traffic before those messages reach the mailbox server. We can see an example of transport agent antivirus software through the Get-TransportAgent cmdlet, as shown in Figure 01.


Figure 01: An antivirus software using Transport Agents to protect the Exchange Server environment at Transport layer

File-level scanner antivirus software

It is not specific to Exchange Server but protecting the servers against viruses located on the file system of the operating system. File-level antivirus does not protect against e-mail viruses, they will not clean your mailbox if you get a virus through a received message. A best practice is to use the File-level antivirus software on all servers and the client operating system, and also creating a procedure to keep all the antivirus software signatures up-to-date across the organization.

Before starting to play with the file-level antivirus software keep in mind that Exchange Server 2007 has a new architecture. This new architecture enforces the use of x64 bit servers. Verify with your antivirus software vendor if there is a specific version for x64 bit to take advantage of the operation system architecture.

Note:
Some file-level antivirus software vendors have only 32 bit versions. We can install 32 bit on an x64 machine, but antivirus software running x64 bit will take advantage of the x64 architecture to provide better performance.

In the file-level scanner antivirus there are two options: Memory-resident and On-demand; the first allows the antivirusto be resident in the memory and it checks all files no matter where it is, memory or file-level, and the second option allows the scanning process to be run during a specific period.

The best approach is to use both: antivirus software for Exchange Server and File-level antivirus software on the operating system. It is also highly recommended to use file-level antivirus on client workstations.

Configuring File-level antivirus software

Okay, let’s configure our Exchange Servers to utilize File-level antivirus. Before we start please note that each Exchange Server role (Mailbox, CAS, Hub Transport, Edge Transport and Unified Messaging) has different requirements defined by the file-level antivirus software.

To properly configure file-level antivirus software for each specific role we need to configure the following:

  • Directory exclusions
  • Process exclusions
  • File extension exclusions

Note:
You must verify which options are available with your antivirus software vendor.

Configuring the directory exclusion list

We are going to see how to configure the file-level antivirus software directory exclusion list per Exchange Server Role:

Client Access Server (CAS)

We must make sure that the following directories will be excluded by the antivirus software:

  • The Internet Information Services (IIS) 6.0 compression folder
    Default Value: %systemroot%\IIS Temporary Compressed Files
  • IIS system files
    Default value: %SystemRoot%\System32\Inetsrv folder
  • Internet related files used by CAS
    Default value: %Program Files%\Microsoft\Exchange Server\ClientAccess
  • Server’s Temporary folder that performs content conversion
    Default Value: C:\Windows\Temp
    To gather this information: Right click My Computer Icon, Properties, click the Advanced tab, and then in the Environment Variables button, as shown in Figure 02.


Figure 02: The Server’s TEMP folder

Mailbox Server

In the Mailbox Servers we must make sure that the database, log files and checkpoint files are excluded from the file-level antivirus. The following cmdlets will show the directory folders of these components:

  • Mailbox database directory (Figure 03)
    Get-MailboxDatabase –server <ServerName> | fl *path*
  • Public Folder database directory (Figure 04)
    Get-PublicFolderDatabase –server <ServerName> | fl *path*
  • Message Tracking and Log Path for Managed Folders directories (Figure 05)
    Get-MailboxServer <ServerName> | select *path*
  • Storage Group directory (Figure 06)
    Get-StrorageGroup –Server <ServerName> | fl *path*


Figure 03: The directories used by the Mailbox Databases and LCR files (if applicable)


Figure 04: The directory used by the Public Folder databases


Figure 05: Mailbox Server settings that must be in the antivirus directory exclusion list


Figure 06: Getting the directories used by the Storage Groups

  • Offline Address Book files
    %Program Files%\Microsoft\Exchange Server\ExchangeOAB folder
  • Mailbox database temporary folder
    %Program Files%\Microsoft\Exchange Server\Mailbox\MDBTEMP
  • The Internet Information Services (IIS) 6.0 compression folder
    Default Value: %systemroot%\IIS Temporary Compressed Files
  • IIS system files
    Default value: %SystemRoot%\System32\Inetsrv folder
  • Database Content indexes. We can get the Index Directory using the following script: getSearchIndexForDatabase.ps1 –all, as shown in Figure 07.


Figure 07:
Using GetSearchIndexForDatabase.ps1 script to validate the Index Directory

  • Server’s TEMP folder which by default is used to perform content conversion (as shown in Figure 02)
  • Directory used for OLE conversions
    %Program Files%\Microsoft\Exchange Server\Working\OleConvertor folder
  • If you use any Exchange maintenance utility (eseutil, isinteg, and etc) make sure that the temporary folder is in the file-level antivirus software exclusion list.

Edge Transport Server and Hub Transport

In the Hub Transport Server we must exclude all the directories used by Message Tracking, message folders, etc. Use the cmdlet Get-TransportServer <ServerName> | select *path* to validate the directories, as shown in Figure 08.


Figure 08: Getting the directory information used by Transport components

We also have to exclude the Queue and IP Filter related folder directories which are listed in the EdgeTransport.exe.config file, as shown in Figure 09.


Figure 09: The IP Filter Database and Queue Database settings

  • Server’s TEMP folder (as shown in Figure 02)
  • OLE conversions folders %Program Files%\Microsoft\Exchange Server\Working\OleConvertor folder.
  • Sender Reputation database files that can be found under the following directory %Program Files%\Microsoft\Exchange Server\TransportRoles\Data\SenderReputation
  • ADAM database and log files (specific for Edge Transport): The default path is %Program Files%\Microsoft\Exchange Server\TransportRoles\Data\Adam but we can change or visualize through ConfigureAdam.ps1

Unified Messaging

The Unified Messaging role requires a few directories to be excluded from the file-level antivirus software:

  • Grammar Files
    %Program Files%\Microsoft\Exchange Server\UnifiedMessaging\grammars
  • Voice Prompts
    %Program Files%\Microsoft\Exchange Server\UnifiedMessaging\Prompts
  • Voicemail
    %Program Files%\Microsoft\Exchange Server\UnifiedMessaging\voicemail
  • Bad Voicemail
    %Program Files%\Microsoft\Exchange Server\UnifiedMessaging\badvoicemail

A general directory exclusion for all Exchange Server roles

Usually there is Exchange Server antivirus software installed on the Exchange Servers boxes, and we must exclude the Quarantine directory and any other application that the antivirus software vendor specifies in the product’s Installation Manual.

Extra steps when using Mailbox Server clusters

Exchange Server 2007 allows two types of cluster solutions: CCR (Cluster Continuous Replication) which uses a file share witness as quorum and SCC (Single Copy Cluster) that uses a physical disk as quorum. In both cases the Quorum content must be excluded from the file-level antivirus software. To figure out which kind of cluster you are using just open the Cluster Administrator and look into the Cluster Group. You can have Majority Node Set entry which means that you are using CCR (Figure 10) or Physical Disk, that means we are using a SCC cluster.


Figure 10: The Majority Node Set entry that is used by CCR cluster implementations

The directory %Winnt%\Cluster must be present in the directory exclusion list on the file-level antivirus software in both scenarios (CCR or SCC). Now, that we already know which cluster type we have we can continue to configure the antivirus software.

Cluster Continuous Replication

In a CCR environment our Quorum is located in a remote share; we can use the cluster utility to figure out where the file share witness is and then configure, in the listed machine, the exception on that directory.

The command line to be used is shown in the Figure 11, and the syntax is:

Cluster <ClusterName> res “Majority Node Set” /priv, where ClusterName it is not the Exchange Cluster Name but the Name that you set up during the Cluster deployment.


Figure 11: The file share witness used by CCR

Now, we know the server and shared folder. We must log into that server and configure the directory exclusion list for that specific folder. In our figure this is the server called tofrontex1 and the physical path of the shared folder MNS_FSW_ClientCluster.

Single Copy Cluster

Using SCC we have to see which disk is being used by Quorum through the Cluster Administrator and configure that disk in the exclusion list. We have to do these steps in all the Cluster nodes.

Configuring file extension exclusion list

Some antivirus software vendors allow us to exclude file extensions from real time antivirus, the following extensions must be defined for Exchange Server 2007:

Mailbox Servers use the following extensions:

  • .chk
  • .log
  • .edb
  • .jrs
  • .que

Unified Messaging extensions:

  • .cfg
  • .grxml

Application related extensions,

  • .config
  • .dia
  • .wsb

Offline Address Book-related extensions that can be found in Mailbox Servers:

  • .lzx

Content Index-related extensions

  • .ci
  • .dir
  • .wid
  • .000
  • .001
  • .002

Configuring Process exclusion list

Some antivirus software allows the exclusion of processes from the file-level antivirus software. We can use the following table to exclude each listed process for each Exchange Server role.

Process

Exchange Server Role

Cdb.exe

common

Cidaemon.exe

Common

Cluster.exe

Mailbox

Dsamain.exe

Edge

Edgecredentialsvc.exe

Edge

Edgetransport.exe

Edge

Galgrammargenerator.exe

Unified Messaging

Inetinfo.exe

Mailbox and CAS

Mad.exe

Mailbox

Microsoft.Exchange.Antispamupdatesvc.exe

Hub, Edge

Microsoft.Exchange.Contentfilter.Wrapper.exe

Microsoft.Exchange.Cluster.Replayservice.exe

Mailbox

Microsoft.Exchange.Edgesyncsvc.exe

Hub

Microsoft.Exchange.Imap4.exe

CAS

Microsoft.Exchange.Imap4service.exe

CAS

Microsoft.Exchange.Infoworker.Assistants.exe

Mailbox

Microsoft.Exchange.Monitoring.exe

All Roles

Microsoft.Exchange.Pop3.exe

CAS

Microsoft.Exchange.Pop3service.exe

CAS

Microsoft.Exchange.Search.Exsearch.exe

Mailbox

Microsoft.Exchange.Servicehost.exe

CAS and Mailbox

Msexchangeadtopologyservice.exe

Mailbox, Hub, CAS, Unified Messaging

Msexchangefds.exe

CAS and Unified Messaging

Msexchangemailboxassistants.exe

Mailbox

Msexchangemailsubmission.exe

Mailbox

Msexchangetransport.exe

Hub Transport and Edge

Msexchangetransportlogsearch.exe

Mailbox, Hub Transport and Edge

Msftefd.exe

Mailbox Cluster

Msftesql.exe

Mailbox

Oleconverter.exe

Mailbox, Hub Transport

Powershell.exe

General

Sesworker.exe

Speechservice.exe

Unified Messaging

Store.exe

Mailbox

Transcodingservice.exe

Umservice.exe

Unified Messaging

Umworkerprocess.exe

Unified Messaging

W3wp.exe

IIS Service used by CAS and Mailbox

Table 1

Conclusion

In this tutorial we have seen how to deploy file-level antivirus software on Exchange Server 2007 independently of the file-level antivirus software installed. We have also seen which directories must be excluded from the file-level antivirus software, specific extensions, and the services running in memory as well.

More Information
Exchange Server antivirus software

About Anderson Patricio

Anderson Patricio photo Anderson Patricio is a consultant for Microsoft technologies. He works with Exchange Server, ISA Sever and Active Directory deployments at a Microsoft Gold Partner in Toronto, Canada. In the Technet Brasil community, he contributes news, articles and web casts.

Click here for Anderson Patricio's section.

Share this article

Receive all the latest articles by email!

Get all articles delivered directly to your mailbox as and when they are released on MSExchange.org! Choose between receiving instant updates with the Real-Time Article Update, or a monthly summary with the Monthly Article Update. Sign up to the MSExchange.org Monthly Newsletter, written by Exchange MVP Henrik Walther, containing news, the hottest tips, Exchange links of the month and much more. Subscribe today and don't miss a thing!



Receive all the latest articles by email!

Receive Real-Time & Monthly MSExchange.org article updates in your mailbox. Enter your email below!
Click for Real-Time sample & Monthly sample

Become an MSExchange.org member!

Discuss your Exchange Server issues with thousands of other Exchange experts. Click here to join!

Limited time offer!

SolarWinds screenshot

Subscribe to MSExchange.org Newsletters today and get a free copy of the new SolarWinds Exchange Monitor!

Solution Center

Readers' Choice

Which is your preferred Hosted Exchange service?