PMDF System Manager's Guide


Previous Contents Index

29.4.3 Logging and Tracking Messages and Connections

This section points out some message logging and tracking techniques.

Snapshots of message traffic, and information on TCP/IP connections handled by the PMDF Service Dispatcher, are also available.

29.4.3.1 Identifying the Source of Incoming SMTP Messages

The identtcp or identtcpnumeric channel keyword when placed on your tcp_local channel causes PMDF to attempt an IDENT query on incoming SMTP connections. If the sending system is running an IDENT server, it will return to PMDF the SMTP sender's identity for PMDF to insert in the Received: header PMDF constructs. If the sending system is not running an IDENT server, PMDF will just use the port number (port 25) and the sending system IP number or name. While IDENT information, when available, is desirable to have, note that unfortunately IDENT servers are not in particularly widespread use. Performing an IDENT query is an extra step under the best of circumstances and in the case of sending systems not running and IDENT server if likely to incur a noticeable performance hit: increasingly routers simply "black hole" attempted connections to ports that they don't recognize and if this happens on an IDENT query, then PMDF does not hear back until the connection times out (a TCP/IP package controlled timeout, typically on the order of a minute or two).

With identtcpnumeric, PMDF uses the IDENT information (if any) and the actual IP number of the sending system; with identtcp, PMDF also attempts to translate the IP number to a system name by performing a DNS reverse lookup. Thus identtcpnumeric incurs slightly less overhead because it does not do the DNS reverse lookup, and the actual IP number can perhaps be considered somewhat more authoritative that the name resulting from a DNS query. However, using the system name as with identtcp can be considered more user-friendly.

Identifying information in Received: headers can assist in detecting spoofed e-mail and in holding the senders of such spoofed e-mail accountable. Note that user-friendly identifying information is a not insignificant feature: even a naive user can notice that a Received: header in a suspicious message contains an unexpected address, e.g., anonymous@SpoofersAreUs.edu, but only a fairly sophisticated user is liable to pay attention to any IP numbers showing up in Received: headers. So a choice between these keywords can be affected by whether you are looking to provide forewarning to users that they can have received spoofed e-mail, or whether you merely want to preserve the identifying information for use in investigating cases of spoofed e-mail.

See Section 2.3.4.39 for more details on these channel keywords.

29.4.3.2 Logging Messages Passing through PMDF

The logging channel keyword causes PMDF write a log file entry for each pass of a message through a PMDF channel; see Section 2.3.4.84 for details. The LOG_CONNECTION PMDF option can be used to cause PMDF to log TCP/IP connections, such as SMTP, POP, and IMAP connections; such connection entries can either be included in the regular PMDF message log file, or written to a separate file. See Section 7.3.6 for discussion of the LOG_CONNECTION and SEPARATE_CONNECTION_LOG options. Note that with logging turned on, the cumulative mail.log file in the PMDF log directory will continue to grow and grow; PMDF itself never does anything with this log file and it is up to you to periodically write it to backup and delete it, or truncate it, or whatever your site prefers; the same is true for the connection.log file if TCP/IP connections are logged separately. Section 32.1.1 has a further discussion of managing the PMDF log files.

In addition to the base set of data logged when the logging keyword is used, there are options to cause the log output to include additional details, as discussed in Section 29.4.3.2.1 below.

29.4.3.2.1 Extra Logging Detail

In addition to the base set of logging enabled via the logging channel keyword, PMDF has options that cause additional information to be included in the entries written to the mail.log* files. Note that logging such additional information tends to incur additional overhead.

In particular, setting LOG_MESSAGE_ID=1, LOG_CONNECTION=7, and LOG_FILENAME=1 in your PMDF option file can be of interest on a PMDF e-mail firewall. Logging the message ID makes it easier to find entries in the log file corresponding to a particular message, or to correlate different entries in the log file corresponding to a single message. Logging the SMTP client connection information can be useful to show just what system really sent the message to your PMDF firewall. Logging the process id also logs the thread id in the case of multithreaded channels; while the process ids themselves normally will be rather monotonous on a PMDF firewall system, being that of a Dispatcher Worker Process (for SMTP messages received) or a PMDF Process Symbiont process (for SMTP messages sent), having the process id and thread id logged is quite useful for correlating message entries with connection entries. Logging the filename can be useful if you want to correlate log file entries with actual message files currently in the PMDF queue area.

Setting LOG_HEADER=1 can be of interest if you want to save certain message headers to the mail.log* files.

Additionally, setting LOG_USERNAME=1 on a PMDF firewall system ought generally to result in fairly monotonous extra information being logged, as the username would normally just be the username of the user who last started the PMDF Service Dispatcher. Enable this options if you want to confirm that the username of processes enqueuing messages are as expected.

See Section 7.3.6 for more details on such logging options.

29.4.3.3 Snapshots of Message Traffic through PMDF

PMDF maintains channel counters based on the Mail Monitoring MIB, RFC 1566. These counters can provide "snapshots" of the state of the PMDF queues and a feel for the volume of messages passing through PMDF. See Chapter 32 for details.

29.4.3.4 Monitoring TCP/IP Connections to the Dispatcher

The PMDF Service Dispatcher maintains statistics on connections it handles, e.g., the number of recent SMTP connections and the hosts from which the connections were made. See Section 11.7 for details.


Previous Next Contents Index