IMF
INTELLIGENT MESSAGE FILTER
We keep seeing the Junk mail folder in our Outlook with unread messages having sometimes strange characters. Mails which have no purpose. There are lot more such mails which enter our Exchange server but not our mailbox. Imagine those junk mails in your Inbox instead.. say daily 4 or 5 or more than that. I wouldn't like to see them in my Inbox. Nor do any professional. How do we ensure that these junk mails have their own place to stay? The Junk mail folder or not even that!!! There shouldn’t be a place these unsolicited commercial email (UCE) deserve. Let’s talk about one such topic, the IMF. This document is good for admins who are not aware of IMF and who would like to start learning in a simple manner.
What is IMF?
I'm sure Exchange administrators are going to curse me for this question. Well, sorry guys. This article is for folks with no knowledge on IMF and I tried my best to include everything about IMF in this blog.
As the name suggests, IMF is all about filtering emails intelligently. Let's discuss:
1. How to Operate IMF?
2. How IMF is setup and enabled?
3. How to monitor IMF and ensure that it does the best of filtering.
IMF is available for download on Microsoft site and the installation is easy (Only IMF version1).
Just download the executable file and install on the Exchange server of your choice. Wow! Isn't that really easy?
You can install IMF on the gateway or Internet bridgehead server. IMF does require Exchange Server 2003 and will not install on Exchange Server 2000. Well, IMF can be installed on interior mailbox servers as well but don't you think installing at former will make more sense? You are right. It is recommended that IMF be installed either on the gateway or Internet bridgehead server. Installing the server on a bridgehead protects multiple servers with one installation. Filtering and marking done by the IMF carries over to any other Exchange server, including Exchange 2000 and Exchange 5.5 servers.
Microsoft's SmartScreen Technology is the backbone of the Intelligent Message Filter. It analyzes over 500,000 characteristics from e-mail known to be spam. That is HUGE!!! As more and more of these characteristics are matched, the message's spam confidence level (SCL) rises. The SCL is an indicator of how likely it is that a message will be spam.
Once the SCL rises above a threshold, the Intelligent Message Filter performs the actions that it's been configured for. All other messages pass without modification. The message is not stored anywhere if it is not marked as spam.
There are two spam confidence level thresholds. The first is the gateway threshold. This is the value at which the filter itself will take action to potentially prevent the message from reaching a user. If the threshold is reached on the client, the filter can be configured not to pass the message at all, preventing it from appearing in the user's Inbox or Junk E-mail folder.
This setting should be relatively high, as messages that stop here stay on the gateway unless the administrator intervenes.
The second threshold is the store threshold or client level. If the SCL threshold is exceeded here, the client will not see their message in the Inbox. Rather, it will be delivered to the Junk E-mail folder found in the user's mailbox. Outlook 2003 users can use built-in tools to further refine how client-side filters work.
Higher spam confidence levels mean there is a greater chance a message truly is spam. For example, a message with an SCL of 9 is or should be a spam message and has met several criteria, while an SCL of 3 or 4 leaves room for some doubt, and an SCL of 0 or might not be spam.
The Intelligent Message Filter must be enabled on each virtual server for which filtering is desired. For most applications, this will be the default SMTP virtual server, since it's the only one. However, if multiple virtual servers have been created and they receive mail from the Internet, the IMF will need to be enabled on each one.
How to configure & enable IMF?
Open Exchange System Manager.
Under Global Settings--->Select Message Delivery.
Open properties of Message delivery.
You will see a tab named 'Intelligent Message Filtering'.



As shown in the above picture, when you choose the dropdown box, you have a selection from 1 to 9. Here, choosing a higher value means that fewer messages will potentially be flagged as spam, but those messages that are flagged, it's more likely that they will be actual spam instead of legitimate e-mail.
Under Gateway Blocking Configuration, we see an option "When blocking messages:". This determines what the filter will do with the message once that gateway SCL has been reached. There are four choices:
1. Archive
2. Delete
3. No Action
4. Reject
Most often, Exchange Administrators choose the Archive setting, as this will save the message on disk and it can later be reviewed. It's recommended that you take a look at the Archive folder for the SCL at least once or twice a month to make sure that no legitimate messages are being blocked.
We also see the Store Junk E-mail Configuration. This has same setting options from 1 to 9, and you can choose whichever one is appropriate. Exchange admins chose 3 to 6, so that messages that are possibly spam but we're not sure about can be delivered to the user's Junk E-mail folder, and they can figure it out from there. Click Apply and OK.
You can also see other configuration settings such as Connection Filtering, Sender Filtering, Recipient Filtering and Sender ID filtering.
To enable intelligent message filtering on a virtual server:
1. Start System Manager: On the Start menu, point to Programs, point to Microsoft Exchange, and then click System Manager.
2. Move to the SMTP virtual server, starting with Servers.
3. Right-click the SMTP virtual server, and then click Properties.
4. On the General tab, click Advanced.
5. In Identification, select the Apply Intelligent Message Filtering check box, and then click OK.
Once you have set this, the setting will take effect immediately, and the IMF will be in effect for all messages coming through that virtual server. Again, if you have more than one virtual server, if messages are received on, say, the second virtual server, and the IMF has not been enabled, then it will not process those messages.
MONITORING IMF
Monitoring IMF can be done in three different ways:
1. Using Event Viewer
2. Using Performance Monitor
3. Using Registry Editor
From Diagnostics Logging, set the SMTP protocol to medium or higher under MSExchangeTransport. This helps in IMF writing event IDs when an error occurs.
These are some of the more common event IDs seen in the IMF.
7152 indicates that a message was deleted or rejected by the filter. Again, this is only displayed at medium or higher logging.
7153 indicates the IMF was installed or updated or the SMTP service was restarted.
NOTE: If you restart the SMTP virtual server and you don't see a 7153 event, then the IMF is either not enabled on that virtual server or the IMF has become uninstalled.
7514 indicates an error when loading the IMF, and
7515 indicates that the IMF could not process an incoming message.
The reasons why an IMF could not process an incoming message are fairly slim, usually indicating that the message was pulled by antivirus first before the IMF could get to it.
Performance monitor counters for IMF:
"Total messages scanned for UCE" is basically a count of all incoming messages that the IMF looked at.
"Percentage UCE out of total messages scanned" is a rough percentage of the number of messages that were flagged as actual spam instead of receiving a score of 0 (zero), which is not spam at all.
Then there are nine different categories for the next one, "Total messages assigned an SCL rating of number", where number is 1 through 9. So this gives you a count of each message that was flagged with an SCL of 1, 2, 3, and so on.
The last one is "Total messages actioned", where action corresponds to the gateway settings such as Deleted, Rejected, or Archived. You will have a counter for each one of the actions except No Action.
IMF is most effective when used with Outlook 2003. It is because Outlook 2003 has a Junk E-mail folder built in, and it allows the user to specify that a message is not spam and should not be moved to the Junk E-mail folder. This will cause messages to be moved to the Inbox and will improve overall filtering for the Exchange organization.
IMF used in conjunction with other Exchange 2003 filtering settings, such as connection filtering which utilizes Realtime Block Lists, or recipient filtering where enables checking against the AD, your incoming spam protection is now even more effective.
GOOD TO KNOW INFO on IMF:
à Intelligent Message Filter v1 was the first version of IMF which was an add-in tool. Exchange Server 2003 Service Pack 2 (SP2) includes Intelligent Message Filter v2. You must uninstall IMF v1 before you install Exchange 2k3 SP2.
To manually remove the version 1 of IMF, delete the ContentFilterVersion sub key from the registry .HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange key.
à IMF does not work on a clustered server. You cannot use IMF in a cluster. You need to implement it in a Front-End server or separated server.
à MSExchange Intelligent Message Filter is the Performance Object you can add as a counter for monitoring IMF using System monitor.
à By default, Intelligent Message Filter does not save the SCL rating on messages that it archives. To customize these settings, you must create a registry key value under the following registry key with DWORD value of 1:
HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\ContentFilter
To change the location of the archive directory
1. In Registry Editor (regedit), in the details pane, right-click ContentFilter, click New, and then click String value.
2. Type ArchiveDir for the registry key value.
3. Right-click ArchiveDir, and then click Modify.
4. In Edit String, under Value Data, enter the full directory path where you want to archive messages filtered by Intelligent Message Filter. For example, type C:\IMF\Archive.
àIf you are doing the first installation of the Intelligent Message Filter V1 in the Organization, you will need to login with an account that has Exchange Full Administrator rights at the Organization level to install it. For all subsequent installations of the IMF, you only need to have Exchange Full Administrator rights at the Administrative Group level.
àIn order to allow the sending server/s to bypass your Intelligent Message Filter, add the server or servers IP addresses in Exchange System Manager under, Global Settings, Message Delivery properties, Connection Filtering tab, Accept button.
Ashwin Kumar
Bangalore, Microsoft.
missiontechie@gmail.com


Ashwin that was a nice one on IMF, but I would like to add that Exchange IMF, by default, will not scan email messages that are larger than 3 MB. If Exchange IMF runs into a message that's more than 3 MB, it'll log an Event 7515 error in the Application log with the following text: An error occurred while Microsoft Exchange Intelligent Message Filter attempted to filter a message with ID ####, #### From smtp: #### and Subject ####. This message will not be filtered. The error code is 0x800710f0.
Reply to this
Any reason why it will not scan messages more than 3 MB ? It sounds so funny for a software by Microsoft thats designed for Exchange by Microsoft has such a funny
Reply to this
Hi Rishi,
You are correct, IMF will not scan the file which is more then 3 MB and it is by design, because Spam e-mail will not be more then 3 Mb in size. As size increase the cost will also increase.
For more information :
http://support.microsoft.com/kb/907691
Reply to this
Can anyone provide me any documents or Notes on
How to install Veritas Netbackup on Exchange Clusters
Quick response would be highly appreciated.
Reply to this
Hello Friends,
I have given steps for installation on veritas netbackup on exchange cluster please let me know if anyone require it so that i could post it in this blog.
Regards,
Ismail Mohammed
Reply to this
Sorry for making u confused. Actually i send the installation of veritas backup on exchange cluster to Abdul if anyone require the procedure please let me know so that i can post it in our blog.
Regards,
Ismail Mohammed
Reply to this
Isn't it possible to change the "store threshold"/"Client level"?, make it higher or lower scl filter than default?
I found an article on the net that specified a registry key that could be added to change the filter, I am just not finding this again. Any idea on this?
Reply to this
Make be this will help.
Manipulating the Database Size Limit
Let me be honest and say it’s a bit cumbersome to manipulate the database size limit, as you’ll need to do so via registry keys (nope as some of you might have hoped for this cannot be done via the Exchange System Manager).
You can configure a logical database size (logical size means the physical size of the .EDB and .STM files minus the logical free space aka white space in each) limit for each Exchange database by creating a DWORD registry key named “Database Size Limit in GB”. This key should be created under the following location for the mailbox database and public folder database respectively:
GUID is short for Globally Unique Identifier which is a unique 128 bit number generated by Windows or a Windows application, in this case Exchange.
In Figure 1 below I’ve configured the “Database Size Limit in GB” for the Mailbox Store on an Exchange 2003 SP2 Standard Edition to a decimal value of 50, which means the database has a limit of 50GB.
If you wanted to set a limit of 40GB for the Public Folder Store, you would simply need to create the same key under the Public-GUID and configure it with a decimal value of 40.
After the Mailbox/Public Folder Store has been configured with a new logical database limit, you will have to dismount/mount the given store (or simply restart the Information Store service) in order for the changes to take effect. When doing so Event ID 1216 will be logged in the Application log as shown in Figure 2 and 3 below.
Database Size Buffer in Percentage
Another improvement in Exchange 2003 SP2 is that when an Exchange server database has grown to within 10% of the configured database size limit a warning event is logged in the Application log. But you can change the threshold at which you want to be notified by creating a registry DWORD key called “Database Size Buffer in Percentage” under the following locations (depending on whether we're talking about mailbox or public folder stores):
You have to specify a value of 1–100 (where 1 equals 1% and so on) in the Value data field of the “Database Size Buffer in Percentage”. In Figure 4 below I’ve, for example, configured the database with a database size limit of 75GB and a warning buffer of 15%.
If or when an Exchange server grows to within 15%, an event Warning (Event ID 9688) will be logged in the Application log.
The first time the size of a given database is above the configured limit an Error event (Event ID 9690) will be logged in the Application log, second time an additional Error event will be logged in the Application log and the database will be dismounted. When this happens you can still re-mount the database but it will be dismounted again during the next check (specified time value in the “Database Size Check Start Time in Hours From Midnight” registry key which I'll explain in the next section). So re-mounting the database should only be a temporary solution, and you should immediately take the appropriate actions necessary in order to resolve the issue.
Database Size Check Start Time
There’s also another registry key with which you can specify the time of the day that the Exchange server should check the logical database size limits based on the limits that have been configured. By default the Exchange server will check the size of each Exchange database 5 hours after midnight or more specifically at 05:00. In order to change this time you should create a DWORD registry key called “Database Size Check Start Time in Hours From Midnight” under the following location (depending on whether we're talking about mailbox or public folder stores::
Then you’ll need to specify a value of 1-24 in the Value data field, where 1 is equal to 01:00 or 1 AM and so on.
Exchange 2003 Enterprise Edition
Although the new database limit registry key’s primarily are intended for the Exchange 2003 Standard edition, they can be used with the Enterprise edition as well. As most of you know the limit of a database running on an Exchange 2003 enterprise edition is 8000 GB, but this is a theoretical limit, the actual limit is based on the hardware used for the Exchange server and any storage subsystem.
When installing Exchange 2003 SP2 on an Exchange 2003 Enterprise edition server, you can use these same registry keys as the ones mentioned in this article, the only difference is that you can configure the database limit to a value up to 8000 GB instead of 75 GB.
The Database Size Limit in GB key and DisasterRecovery switch
Should you for some reason need to restore your Exchange Server(s) using the /DisasterRecovery switch (which you can read more about in one of my previous articles), it’s important you bear in mind that you need to re-create the “Database Size Limit in GB” key’s manually after the server has been restored using this switch.
Conclusion
Finally we’re over that annoying 16GB database limit, but this doesn’t mean you simply should rush out and set the database size limit on your Exchange 2003 Standard edition server(s) to 75 GB just like that. There’s actually a reason why the Microsoft Exchange team configured it with a default limit of 18 GB, they did this because they know most organizations running the standard edition have provisioned their servers’ database partition(s) for 16GB databases. So be sure you properly plan any database size limit changes thoroughly, as failing to do so could end up in a very sad situation.
Reply to this
IMF Confusion - Store threshold rating text in UI
A major source of confusion regarding the Store threshold value used by Intelligent Message Filter is the IMF UI itself. This is documented in Intelligent Message Filter release notes.In Global Settings (Message Delivery | properties | Intelligent Message Filtering tab) the Store Junk E-mail Configuration section reads "Move messages with an SCL rating greater than or equal to". If you never read the Release Notes - and I know many of us don't, particularly in smaller environments where IMF is more popular - you follow what the UI says and assume setting a store SCL fo 6 would makes messages with a SCL of 6 or higher to be moved to the Junk Mail folder.
The Release Notes clarify this - the UI should say "Move messages with an SCL rating greater than". Only messages with a higher SCL than that value are moved to Junk Mail.
Apparently, Exchange Server 2003 SP2 did not fix this either and SP2 Release Notes make no mention of this. For many Exchange environments that did not use IMF v1 - a separate download - SP2 is their first encounter with IMF.
Reply to this