| ## |
| ## Example config file for clamav-milter |
| ## |
| |
| # Comment or remove the line below. |
| Example |
| |
| |
| ## |
| ## Main options |
| ## |
| |
| # 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: no default |
| #MilterSocket /tmp/clamav-milter.socket |
| #MilterSocket inet:7357 |
| |
| # Define the group ownership for the (unix) milter socket. |
| # Default: disabled (the primary group of the user running clamd) |
| #MilterSocketGroup virusgroup |
| |
| # Sets the permissions on the (unix) milter socket to the specified mode. |
| # Default: disabled (obey umask) |
| #MilterSocketMode 660 |
| |
| # Remove stale socket after unclean shutdown. |
| # |
| # Default: yes |
| #FixStaleSocket yes |
| |
| # Run as another user (clamav-milter must be started by root for this option to work) |
| # |
| # Default: unset (don't drop privileges) |
| #User clamav |
| |
| # Initialize supplementary group access (clamav-milter must be started by root). |
| # |
| # Default: no |
| #AllowSupplementaryGroups no |
| |
| # Waiting for data from clamd will timeout after this time (seconds). |
| # Value of 0 disables the timeout. |
| # |
| # Default: 120 |
| #ReadTimeout 300 |
| |
| # Don't fork into background. |
| # |
| # Default: no |
| #Foreground yes |
| |
| # Chroot to the specified directory. |
| # Chrooting is performed just after reading the config file and before dropping privileges. |
| # |
| # Default: unset (don't chroot) |
| #Chroot /newroot |
| |
| # This option allows you to save a process identifier of the listening |
| # daemon (main thread). |
| # |
| # Default: disabled |
| #PidFile /var/run/clamav/clamav-milter.pid |
| |
| # Optional path to the global temporary directory. |
| # Default: system specific (usually /tmp or /var/tmp). |
| # |
| #TemporaryDirectory /var/tmp |
| |
| ## |
| ## Clamd options |
| ## |
| |
| # 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:/var/run/clamd/clamd.socket |
| # 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 |
| ClamdSocket /var/run/clamav/clamd |
| |
| |
| ## |
| ## Exclusions |
| ## |
| |
| # 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 orignated, non-smtp, email use the keyword "local" |
| # |
| # Default: unset (scan everything regardless of the origin) |
| #LocalNet local |
| #LocalNet 192.168.0.0/24 |
| #LocalNet 1111:2222:3333::/48 |
| |
| # 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 whitelisted. |
| # If the field is missing, "To:" is assumed. |
| # Lines starting with #, : or ! are ignored. |
| # |
| # Default unset (no exclusion applied) |
| #Whitelist /etc/whitelisted_addresses |
| |
| # 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 whitelisting based on SMTP auth) |
| #SkipAuthenticated ^(tom|dick|henry)$ |
| |
| # Messages larger than this value won't be scanned. |
| # Make sure this value is lower or equal than StreamMaxLength in clamd.conf |
| # |
| # Default: 25M |
| #MaxFileSize 10M |
| |
| |
| ## |
| ## Actions |
| ## |
| |
| # The following group of options controls the delievery process under |
| # different circumstances. |
| # The following actions are available: |
| # - Accept |
| # The message is accepted for delievery |
| # - Reject |
| # Immediately refuse delievery (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 |
| # |
| # Action to be performed on clean messages (mostly useful for testing) |
| # Default: Accept |
| #OnClean Accept |
| |
| # Action to be performed on infected messages |
| # Default: Quarantine |
| #OnInfected Quarantine |
| |
| # 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 |
| #OnFail Defer |
| |
| # This option allows 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 |
| #RejectMsg |
| |
| # 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 |
| #AddHeader Replace |
| |
| # When AddHeader is in use, this option allows to arbitrary 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 |
| #ReportHostname my.mail.server.name |
| |
| # 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 delievery |
| # Default: disabled |
| #VirusAction /usr/local/bin/my_infected_message_handler |
| |
| ## |
| ## Logging options |
| ## |
| |
| # Uncomment this option to enable logging. |
| # LogFile must be writable for the user running daemon. |
| # A full path is required. |
| # |
| # Default: disabled |
| #LogFile /var/log/clamav/clamav-milter.log |
| |
| # By default the log file is locked for writing - the lock protects against |
| # running clamav-milter multiple times. |
| # This option disables log file locking. |
| # |
| # Default: no |
| #LogFileUnlock yes |
| |
| # Maximum size of the log file. |
| # Value of 0 disables the limit. |
| # You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes) |
| # and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size |
| # in bytes just don't use modifiers. If LogFileMaxSize is enabled, log |
| # rotation (the LogRotate option) will always be enabled. |
| # |
| # Default: 1M |
| #LogFileMaxSize 2M |
| |
| # Log time with each message. |
| # |
| # Default: no |
| #LogTime yes |
| |
| # Use system logger (can work together with LogFile). |
| # |
| # Default: no |
| #LogSyslog yes |
| |
| # Specify the type of syslog messages - please refer to 'man syslog' |
| # for facility names. |
| # |
| # Default: LOG_LOCAL6 |
| #LogFacility LOG_MAIL |
| |
| # Enable verbose logging. |
| # |
| # Default: no |
| #LogVerbose yes |
| |
| # Enable log rotation. Always enabled when LogFileMaxSize is enabled. |
| # Default: no |
| #LogRotate yes |
| |
| # This option allows 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 |
| #LogInfected Basic |
| |
| # This option allows 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 |
| #LogClean Basic |
| |
| # 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 |
| #SupportMultipleRecipients yes |
| |