NAME
clamav-milter.conf - Configuration file for clamav-milter
DESCRIPTION
clamav-milter.conf contains the configuration options for clamav-milter(8).
FILE FORMAT
The file consists of comments and options with arguments. Each line which starts with a hash (#) symbol is ignored by the parser. Options and arguments are case sensitive and of the form Option Argument. The arguments are of the following types:
BOOL |
Boolean value (yes/no or true/false or 1/0). | ||
STRING |
String without blank characters. | ||
SIZE |
Size in bytes. You can use ’M’ or ’m’ modifiers for megabytes and ’K’ or ’k’ for kilobytes. | ||
NUMBER |
Unsigned integer. |
MAIN OPTIONS
Example
If this option is set clamav-milter will not run.
MilterSocket STRING
Define the interface through
which we communicate with sendmail. This option is
mandatory!
Possible formats are:
[[unix|local]:]/path/to/file - to specify a unix domain
socket
inet:port@[hostname|ip-address] - to specify an ipv4 socket
inet6:port@[hostname|ip-address] - to specify an ipv6 socket
Default: unset
MilterSocketGroup STRING
Define the group ownership for
the (unix) milter socket.
Default: disabled (the primary group of the user running
clamd)
MilterSocketMode STRING
Sets the permissions on the
(unix) milter socket to the specified mode.
Default: disabled (obey umask)
FixStaleSocket BOOL
Remove stale socket after
unclean shutdown.
Default: yes
User STRING
Run as another user
(clamav-milter must be started by root for this option to
work)
Default: unset (don´t drop privileges)
ReadTimeout NUMBER
Waiting for data from clamd
will timeout after this time (seconds).
Default: 120
Foreground BOOL
Don´t fork into
background.
Default: no
Chroot STRING
Chroot to the specified
directory. Chrooting is performed just after reading the
config file and before dropping privileges.
Default: unset (don´t chroot)
PidFile STRING
Write the daemon’s pid to
the specified file.
Default: disabled
TemporaryDirectory STRING
Optional path to the global
temporary directory.
Default: system specific (usually /tmp or /var/tmp).
CLAMD OPTIONS
ClamdSocket STRING
Define the clamd socket to
connect to for scanning. This option is mandatory! Syntax:
ClamdSocket unix:path
ClamdSocket tcp:host:port
The first syntax specifies a local unix socket (needs an
absolute path) e.g.:
ClamdSocket unix:/run/clamav/clamd.sock
The second syntax specifies a tcp local or remote tcp
socket: the host can be a hostname or an ip address; the
":port" field is only required for IPv6 addresses,
otherwise it defaults to 3310 e.g.:
ClamdSocket tcp:192.168.0.1
This option can be repeated several times with different
sockets or even with the same socket: clamd servers will be
selected in a round-robin fashion.
Default: no default
EXCLUSIONS
LocalNet STRING
Messages originating from these
hosts/networks will not be scanned. This option takes a
host(name)/mask pair in CIRD notation and can be repeated
several times. If "/mask" is omitted, a host is
assumed. To specify a locally originated, non-smtp, email
use the keyword "local"
Default: unset (scan everything regardless of the
origin)
AllowList STRING
This option specifies a file
which contains a list of basic POSIX regular expressions.
Addresses (sent to or from - see below) matching these
regexes will not be scanned. Optionally each line can start
with the string "From:" or "To:" (note:
no whitespace after the colon) indicating if it is,
respectively, the sender or recipient that is to be allowed.
If the field is missing, "To:" is assumed. Lines
starting with #, : or ! are ignored.
Default: unset (no exclusion applied)
SkipAuthenticated STRING
Messages from authenticated
SMTP users matching this extended POSIX regular expression
(egrep-like) will not be scanned. As an alternative, a file
containing a plain (not regex) list of names (one per line)
can be specified using the prefix "file:". e.g.
SkipAuthenticated file:/etc/good_guys. Note: this is the
AUTH login name!
Default: unset (no allowing based on SMTP auth)
MaxFileSize SIZE
Messages larger than this value
won´t be scanned. Make sure this value is lower or
equal than StreamMaxLength in clamd.conf
Default: 100M
ACTIONS
The following
group of options controls the delivery process under
different circumstances. The following actions are
available:
- Accept: The message is accepted for delivery
- Reject: Immediately refuse delivery (a 5xx error is
returned to the peer)
- Defer: Return a temporary failure message (4xx) to the
peer
- Blackhole (not available for OnFail): Like Accept but the
message is sent to oblivion
- Quarantine (not available for OnFail): Like Accept but
message is quarantined instead of being delivered. NOTE: In
Sendmail the quarantine queue can be examined via mailq -qQ.
For Postfix this causes the message to be placed on hold.
OnClean STRING
Action to be performed on clean
messages (mostly useful for testing)
Default: Accept
OnInfected STRING
Action to be performed on
infected messages
Default: Quarantine
OnFail STRING
Action to be performed on error
conditions (this includes failure to allocate data
structures, no scanners available, network timeouts, unknown
scanner replies and the like)
Default: Defer
RejectMsg STRING
This option allows you to set a
specific rejection reason for infected messages and
it´s therefore only useful together with
"OnInfected Reject". The string "%v", if
present, will be replaced with the virus name.
Default: MTA specific
AddHeader STRING
If this option is set to
"Replace" (or "Yes"), an
"X-Virus-Scanned" and an
"X-Virus-Status" headers will be attached to each
processed message, possibly replacing existing headers. If
it is set to Add, the X-Virus headers are added possibly on
top of the existing ones. Note that while
"Replace" can potentially break DKIM signatures,
"Add" may confuse procmail and similar filters.
Default: no
ReportHostname STRING
When AddHeader is in use, this
option allows you to set the reported hostname. This may be
desirable in order to avoid leaking internal names. If unset
the real machine name is used.
Default: disabled
VirusAction STRING
Execute a command (possibly
searching PATH) when an infected message is found. The
following parameters are passed to the invoked program in
this order: virus name, queue id, sender, destination,
subject, message id, message date. Note #1: this requires
MTA macroes to be available (see LogInfected below). Note
#2: the process is invoked in the context of clamav-milter.
Note #3: clamav-milter will wait for the process to exit. Be
quick or fork to avoid unnecessary delays in email delivery.
Default: disabled
LOGGING OPTIONS
LogFile STRING
Enable logging to selected
file.
Default: no
LogFileUnlock BOOL
Disable a system lock that
protects against running clamd with the same configuration
file multiple times.
Default: no
LogFileMaxSize SIZE
Limit the size of the log file.
The logger will be automatically disabled if the file is
greater than SIZE. Value of 0 disables the limit.
Default: 1M
LogTime BOOL
Log time for each message.
Default: no
LogSyslog BOOL
Use system logger (can work
together with LogFile).
Default: no
LogFacility STRING
Specify the type of syslog
messages - please refer to ’man syslog’ for
facility names.
Default: LOG_LOCAL6
LogVerbose BOOL
Enable verbose logging.
Default: no
LogInfected STRING
This option allows you to tune
what is logged when a message is infected. Possible values
are Off (the default - nothing is logged), Basic (minimal
info logged), Full (verbose info logged)
Note: For this to work properly in sendmail, make sure the
msg_id, mail_addr, rcpt_addr and i macroes are available in
eom. In other words add a line like:
Milter.macros.eom={msg_id}, {mail_addr}, {rcpt_addr}, i to
your .cf file. Alternatively use the macro:
define(’confMILTER_MACROS_EOM’, ’{msg_id},
{mail_addr}, {rcpt_addr}, i’)
Postfix should be working fine with the default settings.
Default: disabled
LogClean STRING
This option allows you to tune
what is logged when no threat is found in a scanned message.
See LogInfected for possible values and caveats.
Useful in debugging but drastically increases the log size.
Default: disabled
SupportMultipleRecipients BOOL
This option affects the
behaviour of LogInfected, LogClean and VirusAction when a
message with multiple recipients is scanned:
If SupportMultipleRecipients is off (the default) then one
single log entry is generated for the message and, in case
the message is determined to be malicious, the command
indicated by VirusAction is executed just once. In both
cases only the last recipient is reported.
If SupportMultipleRecipients is on then one line is logged
for each recipient and the command indicated by VirusAction
is also executed once for each recipient.
Note: although it’s probably a good idea to enable
this option, the default value is currently set to off for
legacy reasons.
Default: no
NOTES
All options expressing a size are limited to max 4GB. Values in excess will be reset to the maximum.
FILES
/etc/clamav/clamav-milter.conf
AUTHOR
aCaB <acab [AT] clamav.net>