Manual Assp 2 5 5
Manual Assp 2 5 5
Manual Assp 2 5 5
5(16366)
Table of Contents:
Read all positions in this section carefully (multiple times is recommended!!!)! A wrong configuration sequence or wrong
configuration values can lead in to a destroyed ASSP configuration!
If set, the configuration value and option files synchronization will be enabled. This synchronization belong to the configuration values, to the
file that is possibly defined in a value and to the include files that are possibly defined in the configured file. If you don't want a specific
configuration file or include file to be synchronized (send and receive), write
# assp-no-sync
as a comment anywhere in the file. A possible reason can be for example 'localDomains' - if ASSP1 is hosting DOMAIN1 and DOMAIN2 but
ASSP2 is hosting only DOMAIN2 - so the entry for DOMAIN2 could be put in a not synchronized include file on ASSP1 and the synchronized main
config file contains the entry for DOMAIN1.
If the configuration of all values in this section is valid, the synchronization status will be shown in the GUI for each config value that is, or can
be shared. There are several configuration values, that can not be shared. The list of all shareable values can be found in the distributed file
assp_sync.cfg
For an initial synchronization setup set the following config values in this order: setup syncServer, syncConfigFile, syncTestMode and as last
syncCFGPass (leave isShareSlave and isShareMaster off). Use the default (distributed syncConfigFile assp_sync.cfg) file and configure all
values to your needs - do this on all peers by removing lines or setting the general sync flag to 0 or 1 (see the description of syncConfigFile ).
If you have finished this initial setup, enable isShareMaster or isShareSlave - now assp will setup all entries in the configuration file for all
sync peers to the configured default values (to 1 if isShareMaster or to 3 if isShareSlave is selected). Do this on all peers. Now you can
configure the synchronization behavior for each single configuration value for each peer, if it should differ from the default setup.
For the initial synchronization, configure only one ASSP installation as master (all others as slave). If the initial synchronization has finished,
which will take up to one hour, you can configure all or some assp as master and slave. On the initial master simply switch on isShareSlave.
On the inital slaves, switch on isShareMaster and change all values in the sync config file that should be bidirectional shared from 3 to 1. As
last action enable enableCFGShare on the SyncSlaves first and then on the SyncMaster.
After such an initial setup, any changes of the peers (syncServer) will have no effect to the configuration file (syncConfigFile)! To add or
remove a sync peer after an initial setup, you have to configure syncServer and you have to edit the sync config file manually.
This option can only be enabled, if isShareMaster and/or isShareSlave and syncServer and syncConfigFile and syncCFGPass are
configured!
Because the synchronization is done using a special SMTP protocol (without "mail from" and "rcpt to"), this option requires an
installed Net::SMTP module in PERL. If you want the sync feature to use a secured connection (using STARTTLS) , DoTLS has to
be set to "do TLS". This special SMTP protocol is not usable to for any MTA for security reasons, so the "sync mails" could not be
forwarded via any MTA.
For this reason all sync peers must have a direct or routed TCP connection to each other peer.
If you build a sync topology with more than two ASSP, please notice, that it is not allowed to build any ring-synchronization. Only a chain-, tree-
or star- topology is supported. It is also not allowed to build a sync ring inside any of the three allowed topologies!
show sync status
Define all configuration sync peers here (to send changes to or to receive changes from). Separate multiple values by "|". Any value must be a
pair of hostname or ip-address and :port, like 10.10.10.10:25 or mypeerhost:125 or mypeerhost.mydomain.com:225 or [2202::00FF]:25.
The :port must be defined!
The target port can be the listenPort , listenPort2 , relayPort or if syncUsesSSL is enabled, it has to be the listenPortSSL of the peer.
0 - no sync - changes of this value will not be sent to this syncServer - I will ignore all change requests for this value from there
1 - I am a SyncMaster, the value is still out of sync to this peer and should be synchronized as soon as possible
2 - I am a SyncMaster, the value is still in sync to this peer - I am also a SyncSlave to this peer (bidirectional sync) if isShareSlave is enabled
3 - I am not a SyncMaster but a SyncSlave - only this SyncMaster (peer) knows the current sync status to me
4 - I am a SyncMaster and a SyncSlave (bidirectional sync) - a change of this value was still received from this syncServer (peer) and should
not be sent back to this syncServer - this flag will be automatically set back to 2 at the next synchronization check
The password that is used and required (additionally to the sending IP address) to identify a valid sync request. This password has to be set
equal in all ASSP installations, from where and/or to where the configuration should be synchronized.
The password must be at least six characters long.
If you want or need to change this password, first disable enableCFGShare here and on all peers, change the password on all peers, enable
enableCFGShare on SyncSlaves then enable enableCFGShare on SyncMasters.
nothing shown - there is no entry defined for this parameter in the syncConfigFile or it is an unsharable parameter
"(shareable)" - the parameter is shareable but the general sync sign in the syncConfigFile is zero
"(shared: ...)" - the detail sync status for each sync peer
If not selected, only different colored bulls are shown at the top of each configuration parameter like:
If you move the mouse over the bull, a hint box will show the detail synchronization status. A click on the bull or link will open a sync config
dialog box for the single configuration parameter.
If INBOUND is used in the SMTP Destination field, the rules specified here are used to route the inbound IP address to a different outbound IP
address. You must specify a port number with the outbound IP address.
Example:141.120.110.1=>141.120.110.129:25|141.120.110.2=>141.120.110.130:125|141.120.110.3=>SSL:141.120.110.130:125
You need to use the "file: ..." option for this parameter!
On windows systems at least Vista/2008 is required!
On multihomed systems with multiple default gateways, it could be required to define the local IP address (source) used for outgoing SMTP and
Transparent Proxy ( ProxyConf ) connections.
This parameter allows to define local IP addresses used for specific targets (IP's or hosts) - based on the local address, the system will use the
right gateway/interface.
Define one entry per line, comments (#) are allowed. The syntax for an entry is 'target=>local-IP'.
target could be any of: IP(4/6) network, IP(4/6) address, hostname, domain-name with wildcard (*).
for example:
22.* => 192.168.1.1 # IP4 Network
2222:333:* => FE81::1 # IP6 Network
22.23.24.25 => 10.1.1.1, # host IP4
1:2:3:4:5:6:7:8 => FE94::5 # host IP6
*.domain.com => 10.1.1.1 # domain
host.domain.com => 192.168.1.1 # host
* => 172.16.1.1 # default - if not defined, the system default is used
NOTICE: assp will NOT check, that the local IP address is available and bound to a local interface! It will also NOT check the system routing
table! YOU SHOULD KNOW WHAT YOU DO!
The port number on which ASSP will listen for incoming secure (SSL only) SMTP connections (normally 465). You can specify both an IP address
and port number to limit connections to a specific interface. Separate multiple entries by "|".
Examples: 465, 127.0.0.1:465, 127.0.0.1:465|127.0.0.2:465
. More configuration options are smtpSSLRequireClientCert, SSLSMTPCertVerifyCB and SSLSMTPConfigure .
The IP address! and port number to connect to when mail is received on the SSL listen port. If the field is blank, the primary SMTP destination
will be used.
If you need to connect to the SSL destination host using native SSL, write 'SSL:' in front of the IP/host definition. In this case the Perl module
IO::Socket::SSL must be installed and enabled ( useIOSocketSSL ).
Examples:127.0.0.1:565, 565
A secondary port number on which ASSP can accept SMTP connections. This is useful as a dedicated port for VPN clients or for those who cannot
directly send mail to a mail server outside of their ISP's network because the ISP is blocking port 25. You may also specify an IP address to limit
connections to a specific interface. Separate multiple entries by "|".
Examples: 2525, 127.0.0.1:2525, 192.168.0.100:25000
The IP address and port number to connect to when mail is received on the second SMTP listen port. If the field is blank, the primary SMTP
destination will be used. The purpose of this setting is to allow remote users to make authenticated connections and transmit their email without
encountering SPF failures. If you need to connect to the second SMTP destination host using native SSL, write 'SSL:' in front of the IP/host
definition. In this case the Perl module IO::Socket::SSL must be installed and enabled ( useIOSocketSSL ).
Examples: 587, 127.0.0.1:587, SSL:127.0.0.1:465
Define any transparent TCP Port Proxy here. ASSP will proxy/forward (NOT route !) incoming TCP packets to a specific destination.
For example: if you want incoming TCP connections on port 465 (SMTP-SSL) to be forwarded to your email server.
Example:10.1.1.1:22=>172.16.22.33:22|0.0.0.0:465=>192.168.1.25:465<=12.1.1.3,34.5.6.0/16,67.23.2.1-67.23.2.5|10.1.1.1:1477=>192.168.1.23:1234<=120.5.1.3,134.5.19
[allow_proxy_1234]
Those connection are not especially SMTP related and they are not inspected by assp. Any application that uses the TCP layer, can use such a
proxy (eg. SSH, RDP, VNC, POP3, HTTP, LDAP, Notes ...).
Proxy connections can be define in any direction: privat<->privat , privat<->public , public<->privat and public<->public
The file-option (eg. file:files/proxy_conf.txt) is supported - if used, define one proxy configuration per line.
You have to configure the IP-address and IP-port for both - local and forward values! The optional AllowfromIP extension are comma separated
values of IP-addresses (eg. 192.168.1.1), IP-networks (eg. 10.1.1.0/24) and IP-address ranges (172.16.1.3-172.16.1.10) from where
connections are allowed. Groups definitions (eg. [allow_ssh_proxy]) may be used in AllowfromIP. If there is no allow value defined, all source
IP addresses will be accepted!
This disables the SMTP AUTH command on the defined listenPorts independent from any other setting. This option works for listenPort ,
listenPort2 and listenPortSSL . The listener definition here has to be the same like in the port definitions. Separate multiple entries by "|".
Examples: 25, 127.0.0.1:25, 127.0.0.1:25|127.0.0.2:25
If configured and a helo matches this regular expression, the AUTH offer will be removed from the EHLO reply and the AUTH command will be
disallowed. For example: ^\w+\.noauthdomain\.com$,
If configured and a helo does not match this regular expression, the AUTH offer will be removed from the EHLO reply and the AUTH command
will be disallowed. For example: ^\w+\.onlyauthdomain\.com$,
Relaying is allowed for these IPs. They contribute also to the whitelist. Before setting this option, please read the complete section - it is
recommended to configure relayPort to send mails from your LAN to the Internet. This can take either a directly entered list of IP's separated
by pipes or a file 'file:files/acceptall.txt'.
For example: 145.145.145.145|146.145.
Enter any addresses that are your ISP or backup MX servers, separated by pipes (|).
These addresses will (necessarily) bypass Griplist, IP Limiting, Delaying, Penalty Box, SPF, DNSBL & SRS checks unless the IP can be
determined by (ispHostnames) ISP/Secondary Hostnames. For example: 127.0.0.1|172.16..
Put anything here to identify messages which should bypass the PenaltyBox, Sender Validation, Griplist, IP Limiting, Delaying, SPF, DNSBL &
SRS checks. For example: email addresses of people who are forwarding from other accounts to their mailbox on your server.
Hostnames (regular expression) to lookup the IP that connected to the ISP/Secondary server.
If found, this address is used to perform IP-based checks on forwarded messages.
For example: mx1\.yourisp\.com or mx1\.yourisp\.net|mx2\.yoursecondary\.com . This hostnames are found in the 'Received:' header, like
'Received: from ...123.123.123.123... by mx1.yourisp.com'. Leave this blank to disable the feature.
Enter the DB database filename of your POP before SMTP implementation with records stored for dotted-quad IP addresses.
For example: /etc/mail/popip.db
The username used for SMTP AUTH authentication to the relayhost - for example, if your ISP need authentication on the SMTP port! Supported
authentication methods are PLAIN, LOGIN, CRAM-MD5 and DIGEST-MD5 . If the relayhost offers multiple methods, the one with highest
security option will be used. The Perl module Authen::SASL must be installed to use this feature! The usage of this feature will be skipped, if
the sending MTA uses the AUTH command. Leave this blank, if you do not want use this feature.
The password used for SMTP AUTH authentication to the relayhost ! Leave this blank, if you do not want use this feature.
Tell your mail server to connect to this IP/port as its smarthost / relayhost. For example: 225
Note that you'll want to keep the relayPort protected from external access by your firewall. To restrict access to the relayPort per IP address
or network, use allowRelayCon .
You can supply an interface:port to limit connections. Separate multiple entries by "|".
Examples: 225, 127.0.0.1:225, 192.168.1.1:225|192.168.2.1:225 !
Enter any addresses that are allowed to use the relayPort , separated by pipes (|). If empty, any ip address is allowed to connect to the
relayPort. If this option is defined, keep in mind : Addresses defined in acceptAllMail are NOT automatically included and have to be also
defined here, if them should allow to use the relayPort. For example: 127.0.0.1|172.16..
If you use MS Office 365, you should define the EOP IP addresses here and you should configure your firewall to redirect connection from the
hosted Exchange server to the relayPort .
A list of local addresses, for which the 'local frequency check' should be done. Leave this field blank (default), to do the check for every address.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com). Wildcards are supported
(fribo*@domain.com).
For example: fribo*@thisdomain.com|jhanna|@sillyguys.org
A list of local IP-addresses, for which the 'local frequency check' should not be done.
For example: 145.145.145.145|145.146.
The file that contains the DKIM configuration. A description how to configure DKIM could be found in the default file dkim/dkimconfig.txt.
Notes On Relaying
Notes
Mail from any of these IP numbers will pass through without checking maximum number of simultaneous SMTP sessions. For example:
145.145.145.145
If the value of (number of [rcpt to] * [message size]) exceeds maxRealSize in bytes the transmission of the local message will be canceled. No
limit is imposed by ASSP if the field is left blank or set to 0. This option allows admins to limit useless bandwidth wasting based on the total
transmit size.
Use this parameter to set individual maxRealSize values for email addresses, domains, user names and IP addresses. A file must be specified if
used.
Accepts specific addresses ([email protected]), user parts (user), entire domains (@domain.com) and IP addresses (IP-ranges and CIDR
notation like 123.1.101/32 and IPv6 shortening like FE80::1 is here NOT supported!) - group definitions could be used. Use one entry per line.
Wildcards are supported (fribo*@domain.co?) except for IP addresses. A second parameter separated by "=>" specifies the size limit in byte.
For example:
fribo*@thisdomain.co?=>1000000
jhanna=>0
@sillyguys.org=>500000
101.1.2.16=>0
[admins]=>0
If multiple matches (values) are found in a mail for any IP address in the transport mail chain, any envelope recipient and the envelope sender,
the highest value or 0 (no limit) will be used! If no match (value) is found in a mail, the definition in maxRealSize will take place. NoProcessing
(except npsize) will skip this check.
If the value of (number of [rcpt to] * [message size]) exceeds maxRealSizeExternal in bytes the transmission of the external message will be
canceled. No limit is imposed by ASSP if the field is left blank or set to 0. This option allows admins to limit useless bandwidth wasting based on
the total transmit size.
Use this parameter to set individual maxRealSizeExternal values for email addresses, domains, user names and IP addresses. A file must be
specified if used.
If the value of ([message size]) exceeds maxSize in bytes the transmission of the local message will be canceled. No limit is imposed by ASSP
if the field is left blank or set to 0. This option allows admins to limit useless bandwidth wasting based on the transmit size.
Use this parameter to set individual maxSize values for email addresses, domains, user names and IP addresses. A file must be specified if
used.
Accepts specific addresses ([email protected]), user parts (user), entire domains (@domain.com) and IP addresses (IP-ranges and CIDR
notation like 123.1.101/32 and IPv6 shortening like FE80::1 is here NOT supported!) - group definitions could be used. Use one entry per line.
Wildcards are supported (fribo*@domain.co?) except for IP addresses. A second parameter separated by "=>" specifies the size limit in byte.
For example:
fribo*@thisdomain.co?=>1000000
jhanna=>0
@sillyguys.org=>500000
101.1.2.16=>0
[admins]=>0
If multiple matches (values) are found in a mail for any IP address in the transport mail chain, any envelope recipient and the envelope sender,
the highest value or 0 (no limit) will be used! If no match (value) is found in a mail, the definition in maxSize will take place. NoProcessing
(except npsize) will skip this check.
If the value of ([message size]) exceeds maxSizeExternal in bytes the transmission of the external message will be canceled. No limit is
imposed by ASSP if the field is left blank or set to 0. This option allows admins to limit useless bandwidth wasting based on the transmit size.
Use this parameter to set individual maxSizeExternal values for email addresses, domains, user names and IP addresses. A file must be
specified if used.
Accepts specific addresses ([email protected]), user parts (user), entire domains (@domain.com) and IP addresses (IP-ranges and CIDR
notation like 123.1.101/32 and IPv6 shortening like FE80::1 is here NOT supported!) - group definitions could be used. Use one entry per line.
Wildcards are supported (fribo*@domain.co?) except for IP addresses. A second parameter separated by "=>" specifies the size limit in byte.
For example:
fribo*@thisdomain.co?=>1000000
jhanna=>0
@sillyguys.org=>500000
101.1.2.16=>0
[admins]=>0
If multiple matches (values) are found in a mail for any IP address in the transport mail chain, any envelope recipient and the envelope sender,
the highest value or 0 (no limit) will be used! If no match (value) is found in a mail, the definition in maxSizeExternal will take place.
NoProcessing (except npsize) will skip this check.
If an IP (/24 network is used for incoming mails) exceeds this number of authentication errors (535 or 530) the transmission of the current
message will be canceled and any new connection from that IP will be blocked for 5-10 minutes.
Every 5 Minutes the 'AUTHError' -counter of the IP will be decreased by one. autValencePB is used for the penalty box.
No limit is imposed by ASSP, if the field is left blank or set to zero (zero cleans the related cache 'AUTHError'). This option allows admins to
prevent external bruteforce or dictionary attacks via AUTH command. Whitelisted, noBlockingIPs , noMaxAUTHErrorIPs and NoProcessing
IP's are ignored like any relayed connection.
List of IP's for which MaxAUTHErrors counter should be cleared immediatly after a successful login. For example: 145.145.145.145|145.146.
It is not recommended to use this option for security reasons, but it may required for client networks behind a NAT.
List of IP's which should not be checked for MaxAUTHErrors . For example: 145.145.145.145|145.146.
If the authentication methodes PLAIN, LOGIN or CRAM-MD5 are used by clients, two space separated values specify the number of different IP's
and a timeframe in seconds, which should not be exeeded by a user.
For example "2 600" - notice these are the minimum values for IP-number and seconds.
The example disallows a user to authenticate (using PLAIN or LOGIN) from two or more different IP-addresses within 600 seconds. In other
words - an user is allowed to authenticate from another IP-address, 601 seconds after the last authentication.
Each attempt to authenticate is counted by this feature.
MaxAUTHErrors is counted, if a user breakes this rule.
Leave this blank to disable this feature.
AUTHIP Cache
A list of local addresses, for which the 'subject frequency check' should be done. Leave this field blank (default), to do the check for every
address.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com). Wildcards are supported
(fribo*@domain.com).
For example: fribo*@thisdomain.com|jhanna|@sillyguys.org
A list of local addresses, for which the 'subject frequency check' should not be done.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com). Wildcards are supported
(fribo*@domain.com).
For example: fribo*@thisdomain.com|jhanna|@sillyguys.org
Mail from any of these IP numbers will pass through without checking the equality of subjects. For example: 145.145.145.145
If you don't want to use group definitions, leave this field blank otherwise a file definition like 'file:files/groups.txt' is required.
Group definitions could be used in any other configuration value where multiple user names, email addresses or domain names or IP addresses
could be defined.
Groups are defined and used using the same syntax [group-name] (including the brackets) in a single line. In the configuration parameters,
the line [group-name] will be replaced by the content of the group definition, that is done here.
All group definitions are case sensitive. Group names can only contain the following characters: A-Z, a-z, 0-9, - , _ and @ !
The structure of this file has to be as follows:
[super_spamlovers]
myBoss
ldap:{host=>my_LDAP_server:389,base=>(sep)DC=domain,DC=tld(sep),user=>(sep)CN=admin,DC=domain(sep),password=>(sep)pass
(sep),timeout=>2,scheme=>ldap,STARTTLS=>1,version=>3},{(CN=management)}{member},{(CN=%USERID%)}{mailaddress}
entry
exec:/usr/bin/list_postfix_users --domain mydomain --group postoffice
entry
...
[admins]
ldap:{host=>domino1.mydomain.com:389,base=>(sep)DC=domain,DC=tld(sep),user=>(sep)Administrator(sep),password=>(sep)pass
(sep),timeout=>2,scheme=>ldap,STARTTLS=>1,version=>3},{(CN=LocalDomainAdmins)}{member},{(CN=%USERID%)}{mailaddress}
entry
# include files/other.file.txt entry
...
[specialIPList]
1.2.3.4
123.234.0.0/16
::1
Lines starting with a # OR ; are consider a comment. Empty lines will be ignored. A group definition stops, if a new group definition starts or at
the end of the file. Comments are not allowed inside a definition line.
There are two possible methods to import entries from an external source in to a group - the execution of a system command or an LDAP query.
To import entries via a system command like (eg. cat|grep or find or your self made shell script), write a single line that begins with exec:
followed by the command to be executed - like:
exec:cat /etc/anydir/*.txt|grep '@'
The executed system command has to write a comma(,) or pipe(|) or linefeed(LF,CRLF) separated list of entries to STDOUT, that should
become part of that group, where this line is used. There could be multiple and any combination of entry types in one group definition.
Be carefull! The external script should never BLOCK, DIE or RUN longer than some seconds. It is may be better, to schedule the script by a
system cron job, write the output of the script to a file and to include this file here.
If you are familar with the usage of LDAP, you can define LDAP queries to import entries from one or more LDAP server. This is done, defining
one query per line. The syntax of such a line is:
ldap:{host_and_protocol},{LDAP_group_query_filter}{LDAP_group_query_attribut_to_return},{LDAP_entry_query_filter}
{LDAP_entry_query_attribut_to_return}
If the 'host_and_protocol' part is empty {}, the default LDAP configuration will be used. A 'host_and_protocol' part should contain the following
entries in the following structure:
{host=>127.0.0.1:389,base=>(sep)DC=domain,DC=tld(sep),user=>(sep)...(sep),password=>(sep)pass
(sep),timeout=>..,scheme=>ldap/ldaps,STARTTLS=>0/1,version=>2/3}
The 'host' has to be set, if you want to define any other LDAP parameter. If any other parameter is not defined, the default LDAP configuration
value will be used, except user and password. The port definition (:xxx) in the host setting is optional - if not defined, the default LDAP ports
389(LDAP) and 636(LDAPS) will be used. It is possible to define a comma(,) separated list of hosts for failover functionality like
'host=>"localhost:389,192.168.1.1:389,...."' - notice the quotes as terminator which are required in this case!
The value of the base, password and user parameter has to start and end with a single character (sep) as terminator, that is not part of the
value and is not used in the value. The parameter "base" defines the LDAP search root like LDAPRoot .
The 'LDAP_group_query_filter' and 'LDAP_group_query_attribut_to_return' are used to query an LDAP group for it's members (users). The
resulting list will contain the requested attributes of all group members. The definition of these two parameters could look as follows:
{(&(objectclass=dominoGroup)(CN=LocalDomainAdmins))}{member}
It is possible to modify each returned value with a callback-code. This is for example useful for MS-AD queries on the attribute 'proxyaddresses',
which returns a list of all available mail addresses (SMTP,smtp,X400...).
example: ldap:{},{(&(CN=firstname lastname)(proxyaddresses=smtp:*))<=s/^\s*smtp:\s*(.+)\s*$/$1/i}{proxyaddresses},{}{}
<= is the required separator, s/^\s*smtp:\s*(.+)\s*$/$1/i is the callback code.
The callback code has to return a value of not zero or undef on success. The code gets the LDAP result in the variable $_ and has to modify this
variable in place on success.
It is not allowed to use any of the following characters in the callback definition of an ldap line: {}|
The 'LDAP_entry_query_filter' and 'LDAP_entry_query_attribut_to_return' are used to query each member from the first query, for it's email
address. The literal '%USERID%' in the 'LDAP_entry_query_filter' will be replaced by each LDAP-attribute result of the first query. The definition
of these two parameters could look as follows:
{(&(objecttype=person)(CN=%USERID%)(o=%USERID%))}{mailaddress}
or more simple
{(&(objecttype=person)(CN=%USERID%))}{mailaddress}
A callback code could be used the same way like for 'LDAP_group_query_filter' - {(&(objecttype=person)(CN=%USERID%))<=callback-code}
{mailaddress}.
To break long lines in to multiple, terminate a continued line with a slash "/"
If you are able to get all results (eg. email addresses or domain names) with the 'LDAP_group_query' query, leave the definition of
'LDAP_entry_query_filter' and 'LDAP_entry_query_attribut_to_return' empty {}{}.
s
Reload the Groups definitions every this minutes (GroupsReloadEvery)
60
ASSP will reload the Groups definition every this minutes, if the exec: or ldap: option is used in Groups.
A value of zero disables the scheduled reload. Defaults to 60 minutes.
If an incoming email subject contains the TAG generated based on this value, it will be considered as defined in NotSpamTagProc . The literal
'NOTSPAMTAG' (will be replaced by a 10 digit not-spam-tag) can be used in any 5xx error Reply of:
SpamError
SenderInvalidError
PenaltyError
SPFError
RBLError
URIBLError
UuencodedError
bombError
scriptError
to ask the sender for resending the mail with the TAG in the subject.
For example: SpamError may be set to:
554 5.7.1 ERROR mail appears to be unsolicited - send the mail again and append 'NOTSPAMTAG' to the mail subject - or send error reports to
postmaster@LOCALDOMAIN
Randomly picked up bit sequences of the text defined here, are used as "SALT" to calculate a 10 digit not-spam-tag. This value must be at least
12 characters long. Leave this value empty to disable this feature.
Every generated TAG can be used by the sender exactly one time. Every additional usage of a TAG will be ignored, and the sender may get a
new generated TAG.
To define your own static TAGs, use whiteRe and/or npRe and change the error reply definitions accordingly.
To generate a random 80 character string, run 'perl -e "print chr(int(rand(94))+33)for(0...79);"' from command line and copy and paste the
result to here.
All assp (eg. backup MX), that are processing mails for the same domains, have to used the same value for this parameter!
If a mail fails on some specific checks (for example SPF, all HELO checks, local sender, spoofing, ForceRBLCache), NOTSPAMTAG is not
provided (empty).
An sender who makes these mistakes, should never get the chance to bypass using the NOTSPAMTAG.
If this is set, ASSP will deliver a copy of spam mails to this address. For example: [email protected]. The literal USERNAME is
replaced by the user part of the recipient, the literal DOMAIN is replaced by the domain part of the recipient. For example:
[email protected], USERNAME+Spam@DOMAIN, catchallspamthis@DOMAIN. Separate multiple entries by comma or space. To deliver
copy of spams based on the domain name (only some special hosted domains), use ccSpamInDomain .
If the domain of the recipient-address is matches one in this list, ASSP will deliver an additional copy of spam emails of a domain to this address
(even if sendAllSpam is not set). For example: [email protected]|[email protected].
IP address and port to connect to when Spam messages are copied. If blank they go to the main SMTP Destination. eg "10.0.1.3:1025",
"SSL:10.0.1.3:465", "1025", etc.
Restricts Copy Spam to these recipients. Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com).
Wildcards are supported (fribo*@domain.com).
Copy Spam to these recipients regardless of collection mode. Accepts specific addresses ([email protected]), user parts (user) or entire
domains (@domain.com). Wildcards are supported (fribo*@domain.com).
Never Copy Spam regardless of collection mode. Put anything here to identify messages which should not be copied.
Messages whose score exceeds this threshold will not be copied. For example: 75
IP address and port to connect to when Ham messages are copied. If blank they go to the Spam SMTP Destination. eg "10.0.1.3:1025",
"SSL:10.0.1.3:465",, "1025", etc.
If you put an address in this box ASSP will forward a copy of notspam messages from outside to this address. The literal USERNAME is replaced
by the user part of the recipient, the literal DOMAIN is replaced by the domain part of the recipient. For example: [email protected],
[email protected], catchallforthis@DOMAIN
If you put an address in this box ASSP will forward a copy of outgoing notspam messages to this address.
Copy Not-Spam to these addresses only. Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com).
Wildcards are supported (fribo*@domain.com).
Do Not Copy Ham to these addresses. Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com).
Wildcards are supported (fribo*@domain.com).
This option and all SpamLover-Options (...SpamLovers) below accept a second score parameter like "[email protected]=>70"
If such a parameter is defined in any option for an entry and the recipient address matches this entry and the message score exceeds the
parameter value, the message will be considered spam.
If there are multiple possible matches for a recipient address found, the generic longest match (and assigned value) will be used.
ASSP will use the highest found value for all envelope recipients of an email.
Notice: the settings for [Local]PenaltyMessageLimit and [Local]PenaltyMessageLow will be overwritten for the mail, if a match is found.
The according ...Low limit is calculated as:
for incoming mails: value - ( PenaltyMessageLimit - PenaltyMessageLow )
or
for outgoing and local mails: value - ( LocalPenaltyMessageLimit - LocalPenaltyMessageLow )
If a message matches this regular expression it will be considered a Bayesian Spam-Lover message. For example: password|news
Spam-Haters are used to override Spam-Lovers. Example: If you have set your entire domain as a Spam-Lover(s), but there are still some
addresses you still wish to block spam for. If you add those addresses to the Spam-Haters field allows messages to only those addresses to be
blocked while still allowing the messages to the other Spam-Lovers pass through. The message will only be blocked if all recipients are Spam-
Haters. Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com). Wildcards are supported
(fribo*@domain.com).
For example: *[email protected]|jhanna|@sillyguys.org
Notes On Spam-Lover
Notes
Mail from any of these IP's will pass through without processing. (some attachments may be processed)
For example: 145.145.145.145|146.145.
To define IP's only for specific email addresses or domains (recipients) you must use the file:... option
An entry (line) may look as follows:
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
It is possible to define a predefined group on any or both sides of the '=>' separator, like:
[ipgroup]=>[usergroup]|user@mydomain
NOTICE: the following combination of two entries, will lead in to a user/domain based matching - the global entry will be ignored!
145.146.0.0/16 # comment
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
Mail solely to or from any of these addresses are proxied without processing. The envelope sender and recipients are checked. Like a more
efficient version of Spam-Lovers & redlist combined. Accepts specific addresses ([email protected]), user parts (user) or entire domains
(@domain.com). Wildcards are supported (fribo*@domain.com). If you register TO addresses here, all recipients for a single mail must be
marked as noprocessing to flag the mail as "noprocessing".
Mail solely from any of these addresses are proxied without processing. Accepts specific addresses ([email protected]), user parts (user) or
entire domains (@example.com). Wildcards are supported (fribo*@example.com).
If a message matches this Perl regular expression ASSP will treat the message as a 'No Processing' mail. For example: 169\.254\.122\.|172\.16
\.|\[autoreply\].
If the Enable Process Only Addresses check box is checked, mail solely to or from any of the addresses in this list (envelope only) will be
processed by ASSP. All others will be proxied without processing. Accepts specific addresses ([email protected]), user parts (user) or entire
domains (@domain.com). Wildcards are supported (fribo*@domain.com).
Note that if an address matches both the NoProcessing and the OnlyTheseProcessing lists, the NoProcessing rules take precedence.
Notes On No Processing
Notes
They contribute to the Whitelist and to Notspam. For example: 145.145.145.145|146.145.|146.145.0.0/16. It is recommended to use the CIDR
notation.
To define IP's only for specific email addresses or domains (recipients) you must use the file:... option
An entry (line) may look as follows:
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
It is possible to define a predefined group on any or both sides of the '=>' separator, like:
[ipgroup]=>[usergroup]|user@mydomain
NOTICE: the following combination of two entries, will lead in to a user/domain based matching - the global entry will be ignored!
145.146.0.0/16 # comment
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
If an incoming email matches this Perl regular expression, it will be considered whitelisted.
For example: Secret Ham Password|307\D{0,3}730\D{0,3}4[12]\d\d
For help writing regular expressions click here.
IMPORTANT: The body is scanned in a later stage AFTER all sender related checks are performed. So a white regular expression here might not
prevent the message to be blocked by eg. invalid PTR. Set the sender related checks to score only if you want to make sure that the white
regular expression will be seen. Some things you might include here are your office phone number or street address, spam rarely includes these
details. .
Domains and addresses from which you want to receive all mail. Your ISP, domain registration, mail list servers, stock broker, or other key
business partners might be good candidates. Be careful not to put widely used or local domains here like google.com or hotmail.com or
mydomain.com. Note this matches the end of the address, so if you don't want to match subdomains then include the @. Note that
example.com would also match spamexample.com but .example.com won't match example.com. Wildcards are supported. For example:
sourceforge.net|group*@google.com|.example.com
It is possible to make email addresses whitelisted only for a set of local domains and/or local users. Use wildcards (* and ?) to define domains.
Use the following syntax to do this:
*@anydomain=>*@any_local_domain - for domain to domain
*@*.anydomain=>*@any_local_domain - for any sub-domain to domain
user@anydomain=>*@*.any_local_domain - for user to any sub-domain
It is possible to define more than one entry at the left and the right side of the definition (=>), like:
*@anydomain|*@other_domain=>*@any_local_domain|*@other_local_domain - always separate multiple entries by pipes
It is also possible to use a GroupDefinition in any or both sides, like:
[sendergroup]=>[recipientgroup]
[sendergroup1]|[sendergroup2]|*@domain=>[recipientgroup1]|[recipientgroup2]|user@local_domain
NOTICE - that the local email addresses and domains are not checked to be local once
If you use a local provider of the list.dnswl.org zone, your local provider zone name has to contain 'list.dnswl.org' - for example:
list.dnswl.org.yourdns.local
For list.dnswl.org or any equivalent local provider, it is possible to override the reported trust value based on the reported category. To do this,
use the following syntax in the service provider definition:
serviceprovider:category=>trust_value[,category_from-category_to=>-trust_value][,*=>+trust_value]
* is used, if no other match is found. Any or all categories may be defined for the override. If no override is found for a category, the reported
trust value is used.
+ and - are math operations to the reported trust value.
2 = Financial services
0 = none
1 = low
2 = medium
3 = high
Enter IP addresses that you don't want to be RWL validated, separated by pipes (|). For example: 145.145.145.145|146.145.
(0) global & private - this email address is automatically whitelisted for all other local users
(1) domain & private - this email address is automatically whitelisted for all other local users in the same local domain
(2) private only - this email address is only whitelisted for this single local user
(0-1) unless another user has removed this email address from his whitelist. Default is zero, which is the legacy setting.
NOTICE: independent from this setting, the whitelistdb is filled with all three entries (global,domain,private), to make it possible to change
this value.
Mail solely to or from any of these addresses are excluded from automatic whitelist additions. Accepts specific addresses ([email protected]),
user parts (user) or entire domains (@domain.com). Wildcards are supported (fribo*@domain.com).
Only users with a local domain in mailfrom contribute to the whitelist. (WhitelistLocalFromOnly)
Check this box to prevent sender with non-local domains from contributing to the whitelist. (for example: redirected messages).
s
Save Whitelist (UpdateWhitelist)
3600
Save a copy of the white list every this many seconds. Empty or Zero will prevent any saving and the cleanup of old records.
Notes On Whitelist
Notes
Mails to any of these recipients or domains are handled transparent immediatly after a possible SRS check, BATV processing, Recipient-
Replacement, RFC822 checks, ORCPT check and a feature match is found in the currently processed "RCPT TO:" SMTP command (envelope
recipient).
What means "transparent handled" ? ASSP acts like a transparent Proxy. No filter actions are taken for the mail. Nothing is analyzed. Nothing is
verfied. Nothing is stored. Nothing is logged (except reply codes if configured) - only debugging will work.
NOTICE: If a connection is moved in to the transparent proxy mode, this connection will stay in this mode until "MAIL FROM:" or "RSET" is used
or the connection is closed by any peer.
You can list specific addresses ([email protected]), addresses at any local domain (user), or entire domains (@mydomain.com). Wildcards
are supported (fribo*@domain.com). (|).
For example: [email protected]|jhanna|@sillyguys.org or place them in a plain ASCII file one address per line -
file:files/transparentuser.txt.
ASSP will deliver messages addressed to all postmasters of your local domains to this address. For example: [email protected]
ASSP will deliver messages to all abuse addresses of your local domains to this address. For example: [email protected]
These email addresses are the list of your local addresses. You can list specific addresses ([email protected]), addresses at any local
domain (user), or entire domains (@mydomain.com). Wildcards are supported (fribo*@domain.com). (|).
For example: [email protected]|jhanna|@sillyguys.org or place them in a plain ASCII file one address per line - file:files/localuser.txt.
NOTICE: The VRFY definition described below is depricated in this configuration parameter - use localDomains instead!
You can use entries like @mydomain.com=>[SSL:]vrfyhost:port to VRFY users on your MTA, for more information read localDomains. You can
use an entry like ALL=>vrfyhost:port to define a VRFY host for all domain entries ( better use Groups ).
If the port :465 is defined for VRFY-MTA, or "SSL:" is prepended to the VRFY-MTA, a SSL connection will be used ( read DoVRFY ).
Notice: If an equal domain entry is defined in localDomains , the entry in localDomains will be used!
If you define only one domain definition line - using ALL
ALL=>[SSL:]vrfyhost:port
here and ldaplistdb is configured and DoVRFY is enabled and LDAPFail is set to ON, local domains will be additionaly collected in to
ldaplistdb from verfied addresses, domains and URL's (eg. DoLocalSenderAddress , local recipient checks ). The postmaster account must
exists for every local domain and subdomain at the MTA!
Using such a configuration, you must know what you are doing and have a properly configured MTA! Be carefull, the URIBL check
( ValidateURIBL ) can lead in to alot of domain lookups and verifications (possibly several hundred per mail). The same applies to
the header recipient address validation ( DoHeaderAddrCheck )!
If ANY recipient is on reject list, message will not be delivered. Used for disabled legitimate accounts, where a user may have left the company.
This stops wildcard mailboxes from getting these messages.
Define MTA's here for which you want ASSP to force the usage of MAIL FROM:,RCPT TO: instead of the VRFY command. The definition of each
MTA has to be the same as defined in LocalAddresses_Flat and/or localDomains (after the '=>') for example:
smtp.mydomain.com|SSL:mx.other.com:port|10.1.1.1|10.1.1.2:125 .
ASSP will send to this address if no valid user is found in LocalAddresses_Flat/LDAP and no match is found in Catchall per Domain.
For example: [email protected]
ASSP will dump a message silently when encountering such an address in "MAIL FROM:" or "RCPT TO:". Accepts specific addresses
([email protected]), user parts (nobody) or entire domains (@example.com).
These local addresses accept mail only from local domains. Accepts specific addresses ([email protected]), user parts (user) or entire domains
(@domain.com). Wildcards are supported (fribo*@domain.com).
These local addresses accept mail only from local domains and whitelisted external senders. Accepts specific addresses ([email protected]),
user parts (user) or entire domains (@domain.com). Wildcards are supported (fribo*@domain.com).
recommented if used: file:files/rcptreplrules.txt - default empty ! This enables recipient replacement. If you do not use file:, separate the rules
with |. The replacement will be done before any ASSP check. Use this option carefully - for example: if you have enabled DKIM check, the DKIM
check will fail, if the recipient of the mail was modified. For a more detailed description of the rules and options, read the file:
files/rcptreplrules.txt!
The good helos and weights are stored together with the helo blacklist.
Local Domains, IP's and Hostnames are often use to fake (forge) the Helo. Include all IP addresses and hostnames for your server here,
localhost is already included. Include Local Domains of your choice here, if you deactivated the automatic use of the local domain list. For
example: 11.22.33.44|mx.YourDomains.com|here.org
HELO / EHLO greetings on this list will be excluded from all HELO checks. For example: host123.isp.com|host456.*.com
Addresses & Domains from which you always want to reject mail, they only send you spam. Note this matches the end of the address, so if you
don't want to match subdomains then include the @. Note that buy.com would also match spambuy.com but .buy.com won't match buy.com.
[email protected] will match [email protected] but won't match [email protected]. Wildcards are supported. For example:
cc|info|biz|[email protected]|sell*@basf.com
It is possible to make email addresses blacklisted only for a set of local domains and/or local users. Use wildcards (* and ?) to define domains.
Use the following syntax to do this:
*@anydomain=>*@any_local_domain - for domain to domain
*@*.anydomain=>*@any_local_domain - for any sub-domain to domain
user@anydomain=>*@*.any_local_domain - for user to any sub-domain
It is possible to define more than one entry at the left and the right side of the definition (=>), like:
*@anydomain|*@other_domain=>*@any_local_domain|*@other_local_domain - always separate multiple entries by pipes
It is also possible to use a GroupDefinition in any or both sides, like:
[sendergroup]=>[recipientgroup]
[sendergroup1]|[sendergroup2]|*@domain=>[recipientgroup1]|[recipientgroup2]|user@local_domain
NOTICE - that the local email addresses and domains are not checked to be local once
Check Message IDs will check incoming messages for invalid Message-IDs.
Enter IP's that you want to be checked for spoofing. If this is set, ONLY these IP's will be checked. For example:145.145.145.145|145.146.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@example.com). Wildcards are supported
(fribo*@example.com). If set, ONLY these addresses/domains will be checked for spoofing.
Enter IP's that you don't want to be checked for spoofing. For example:145.145.145.145|145.146.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@example.com). Wildcards are supported
(fribo*@example.com).
To remove any headers : "ReturnReceipt: , Return-Receipt-To: and Disposition-Notification-To:" from not whitelisted and not noprocessing
incoming mails, define the unwanted headers as regular expression.
for example: Disposition-Notification-To
or: Disposition-Notification-To|Return-Receipt-To
or: Disposition-Notification-To|Return-Receipt-To|ReturnReceipt
or any other possible combination. Notice: do NOT define the trailing ":"!
Define this to prevent unwanted whitelisting of spammers that request a Disposition Notification. Another way to prevent autowhitelisting
because of an autoresponder is to use redRe .
Mail from or to any of these envelope addresses will not be tagged and checked for DKIM. Accepts specific addresses ([email protected]), user
parts (user) or entire domains (@domain.com).
Enter IP's that you want to exclude from DKIM check, separated by pipes (|).
Domains and addresses which have to SMIME or PGP sign or encrypt all mail. If a match is found for a sender and the email is not signed or
encryped, the mail will be rejected!
If configured, this check is done regardless any other assp setting - it will affect all incoming mails!
If a match is found and the mails is signed or encrypted, the mail will be processed as whitelisted mail!
Note this matches the end of the address, so if you don't want to match subdomains then include the @. Note that example.com would also
match spamexample.com but .example.com won't match example.com. Wildcards are supported. For example:
sourceforge.net|group*@google.com|.example.com
It is possible to make the senders signing requirement recipient dependend (eg: on a set of local domains and/or local users). Use wildcards (*
and ?) to define domains.
Use the following syntax to do this:
*@anydomain=>*@any_local_domain - for domain to domain
*@*.anydomain=>*@any_local_domain - for any sub-domain to domain
user@anydomain=>*@*.any_local_domain - for user to any sub-domain
It is possible to define more than one entry at the left and the right side of the definition (=>), like:
*@anydomain|*@other_domain=>*@any_local_domain|*@other_local_domain - always separate multiple entries by pipes
It is also possible to use a GroupDefinition in any or both sides, like:
[sendergroup]=>[recipientgroup]
[sendergroup1]|[sendergroup2]|*@domain=>[recipientgroup1]|[recipientgroup2]|user@local_domain
NOTICE - that the local email addresses and domains are not checked to be local once
Enable simple delaying for IP's in black penaltybox with totalscore above this value. A value of zero or empty disables this feature.
Manually maintained list of IP's which should be blocked. IP's in noPB, noDelay, acceptAllMail, ispip, whiteListedIPs, noProcessingIPs,
whitebox (PBWhite) will pass. For example: file:files/blockip.txt.
To define IP's only for specific email addresses or domains (recipients) you must use the file:... option
An entry (line) may look as follows:
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
It is possible to define a predefined group on any or both sides of the '=>' separator, like:
[ipgroup]=>[usergroup]|user@mydomain
NOTICE: the following combination of two entries, will lead in to a user/domain based matching - the global entry will be ignored!
145.146.0.0/16 # comment
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
Manually maintained list of IP's which should not be blocked. For example: 145.145.145.145|145.146.
To define IP's only for specific email addresses or domains (recipients) you must use the file:... option
An entry (line) may look as follows:
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
It is possible to define a predefined group on any or both sides of the '=>' separator, like:
[ipgroup]=>[usergroup]|user@mydomain
NOTICE: the following combination of two entries, will lead in to a user/domain based matching - the global entry will be ignored!
145.146.0.0/16 # comment
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
Manually maintained list of IP's which should strictly be blocked after address verification and before body and header is downloaded. Contrary
to denySMTPConnectionsFrom IP's in noDelay, acceptAllMail, ispip, whiteListedIPs, noProcessingIPs, whitebox (PBWhite) will not pass if
listed here.
Automatically downloaded (http://www.spamhaus.org/drop/drop.lasso) list of IP's which should be blocked right away. This list could be used in
addition to denySMTPConnectionsFrom and/or denySMTPConnectionsFromAlways!
Notes On IP Blocking
Notes
will be done instead/after/before (WHOIS only/SenderBase first/WHOIS first) the Senderbase queries to CISCO's Ironport servers to get
informations about an IP address. ARIN will be the first queried WHOIS server.
For the two '...first' options, the alternative second check is done, if the first check fails or assp has got no result for the county code.
This is useful, if your DNS-servers don't get answers for senderbase queries or senderbase queries are too slow.
In most cases WHOIS queries are much more faster than senderbase queries!
NOTICE: you must open the WHOIS-port (43) for TCP on your firewall for outgoing traffic from assp (if not already done)!
If the organization, domain or hostname in the SenderBase IP description matches this Perl regular expression, the message will be considered
non-spam. For example file:files/whiteorg.txt
NOTICE: If only the hostname matches an entry and DoOrgWhiting is set to "whiting", the domain+organization pair will not be added to the
white organizations!
edit White-Org-List
If the organization, domain or hostname in the SenderBase IP description matches this Perl regular expression, the message will be considered
spam.
Put here your own country code(s) (for example: US). Messages from IP's based in these countries will decrease, messages from other
countries will increase the MessageScore.
Enter IP's that you don't want to be penalized. These IP's will also be automatically removed from BlackBox (PBBlack). For example:
127.0.0.1|172.16.
Enter IP's that you want to be penalized. These IP's will also be automatically removed from WhiteBox (PBWhite).
Addresses which should not be used for traps. This list is also opponent to spamtrapaddresses . Accepts specific addresses
([email protected]), user parts (user) or entire domains (@domain.com). Wildcards are supported (fribo*@domain.com).
If set SMTP reply for Penalty Deny. eg: '554 5.7.1 Error, send your mail to postmaster@LOCALDOMAIN to ensure delivery'. The literal
LOCALDOMAIN will be replaced by the recipient domain. The literal LOCALUSER will be replaced by the recipient user part. For example:554
5.7.1 Mail appears to be unsolicited -- send error reports to postmaster@LOCALDOMAIN.
s
Clean Up PB Databases (CleanPBInterval)
3
Delete outdated entries from blackbox (PBBlack) and whitebox (PBWhite) databases every this many hours.
Defaults to 3 hours.
Enter IP's that you don't want to be extreme penalized. IP's in noPB are already included. For example: 127.0.0.1|172.16.
Don't do Extreme Profiling for Mails from any of these Addresses* (noExtremePBAddresses)
Mails from any of these addresses will not be extreme profiled if DoPenaltyExtremeSMTP is not set. Accepts specific addresses
([email protected]), user parts (user) or entire domains (@domain.com). Wildcards are supported (fribo*@domain.com).
s
Export BlackBox Extreme File Interval (exportInterval)
6
Exported Penalty Black Box Extreme File every this hours.
Defaults to 6 hours.
IP's in Penalty BlackBox (PBBlack) which surpassed the extreme level will be regularly stored into this file. This file may be used for setting the
firewall or similar applications. The file can be downloaded via the STATS-interface " webStatPort "! The download URL, used by your firewall,
should look like: http://assp.domain.local:55553/extremeblack .
This option and all other *ValencePB options with a "+" at the end of the description, accepts a second comma or pipe separated value like:
"20,10" .
In this case the first value is used for message scoring and the second value is used for IP scoring.
If only the first value is defined, this value is used for both scoring mechanism.
If a *ValencePB option is related to any feature which allowes the usage of weighted penalties, the message scoring value is used to calculate
the weighted penalty and the result is used calculating (result * ipscorevalence / messagescorevalence ) for IP scoring.
The directory/file with the delay database file. If you change the filename in section Filepath ( delaydb ) you must change it here too.
The directory/file with the save delay database file. If you change the filename in section Filepath ( delaydb ) you must change it here too.
s
Clean Up Delaying Database (CleanDelayDBInterval)
10800
Delete outdated entries from triplets and safelisted tuplets databases every this many seconds.
Defaults to 3 hour.
Enter IP addresses that you don't want to be delayed, separated by pipes (|). There are misbehaving MTAs that will not be able to get a
It is possible to define a predefined group on any or both sides of the '=>' separator, like:
[ipgroup]=>[usergroup]|user@mydomain
NOTICE: the following combination of two entries, will lead in to a user/domain based matching - the global entry will be ignored!
145.146.0.0/16 # comment
145.146.0.0/16=>*@local.domain|user@mydomain|user2@*.mydomain # comment
Enter senders and/or recipient email addresses that you don't want to be delayed, separated by pipes (|). You can list specific addresses
([email protected]), addresses at any domain (user), or entire domains (@anydomain.com). Wildcards are supported
(fribo*@domain.com). (|).
For example: [email protected]|jhanna|@sillyguys.org or place them in a plain ASCII file one address per line:file:files/nodelayuser.txt.
Groups definitions are also allowed to be used.
Notes On Delaying
Notes
Set override to define SPF records for domains that do publish (or not) but which you want to override anyway. If you specify only domains the
Local SPF Record ( SPFlocalRecord ) below will be used as default. Wildcards are supported. For example: abc.com=>v=spf1 a/24 mx/24 ptr
-all|cello.ch=>v=spf1 ip4:213.46.243.0/26 ~all|abc.com|*.def.com .
To generate a SPF record for a domain:
- go to http://www.senderbase.org
- lookup the domain information in "Look up your network"
- right beside "Addresses in domain used to send email" click on export, and export the list in to plain text
- copy and past the list in to an editor and generate a comma separated IP list
- go to an online SPF record generator - for example: http://www.royhochstenbach.com/projects/spfgenerator and generate the SPF
record
- put "domain=>SPF-record" in any of SPFoverride or SPFfallback
- define the policy as strict as possible
Set fallback to define "pretend" SPF records for domains that don't publish them yet. If you specify only domains the Local SPF Record
( SPFlocalRecord ) below will be used as default. Wildcards are supported. For example: abc.com=>v=spf1 a/24 mx/24 ptr
-all|cello.ch=>v=spf1 ip4:213.46.243.0/26 ~all|abc.com|*.def.com
Softfail/Neutral will be failed for these sending addresses. Put anything here to identify the addresses
Notes On SPF
Notes
Put any sender domain (or address) in to this list, for which you want to disable the DMARC check - for example if an invalid DMARC record is
published.
Use 'noDMARCReportDomain' if you only want to disable DMARC reports.
Accepts entire domains (@example.com) (specific addresses ([email protected]) and user parts (user) are accepted, but not usefull!).
Wildcards are supported (@*example.com or @*.example.com).
The email address to be used as FROM: address to send DMARC reports. If blank, no DMARC reports will be sent! If only the user name is
defined, assp will add the domain name that belongs to the report.
Put any DMARC report recipient domain or address (ruf/rua) in to this list - for example if DMARC reports could be never delivered for any
reason.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@example.com). Wildcards are supported
(fribo*@example.com).
Don't rewrite addresses when messages come from these addresses. Accepts specific addresses ([email protected]), user parts (user) or entire
domains (@domain.com).
For example: [email protected]|jhanna|@sillyguys.org
Enter IP addresses that you don't want to validate bounces from, separated by pipes (|). For example: 127.0.0.1|172.16..
Notes On SRS
Notes
Enter IP addresses that you don't want to be DNSBL validated, separated by pipes (|). For example: 127.0.0.1|172.16..
Names of DNSBLs to use separated by "|". You may set for every provider a weight like zen.spamhaus.org=>50|bl.spamcop.net=>25.
Defaults are:
zen.spamhaus.org=>1|bl.spamcop.net=>1|psbl.surriel.com=>2|ix.dnsbl.manitu.net=>2|
l2.apews.org=>3|combined.njabl.org=>1|safe.dnsbl.sorbs.net=>1|dnsbl-1.uceprotect.net=>2|
dnsbl-2.uceprotect.net=>2|dnsbl-3.uceprotect.net=>2|blackholes.five-ten-sg.com=>3".
DNSBL providers can get a "weight" like bl.spamcop.net=>1.
The value of the weight can be set directly like=>45 or as a divisor of RBLmaxweight. Low numbers < 6 are divisors . So if RBLmaxweight =
50 (default) bl.spamcop.net=>50 would be the same as bl.spamcop.net=>1, bl.spamcop.net=>2 would be the same as bl.spamcop.net=>25.
If the sum of weights surpasses RBLmaxweight, the DNSBL check fails. If not, the DNSBL check is scored as "neutral" even with RBLmaxhits
reached. Setting Showmaxreplies will allow ALL replies to contribute to the total weight regardless of RBLmaxhits.
Some RBL Service Providers, like blackholes.five-ten-sg.com, provides different return codes in a single DNS-zone: like 127.a.b.c - where a,b,c
are used to identify a weight or type (or what ever) of the returned entry. If you want to care about special return codes, or if you want to use
different weights for different return codes, you should use the following enhanced entry syntax:
RBL-Service-Provider=>result-to-watch=>weight (like:)
blackholes.five-ten-sg.com=>127.0.0.2=>3
blackholes.five-ten-sg.com=>127.0.0.5=>4
blackholes.five-ten-sg.com=>127.0.?.*=>5
You can see, the wildcards * (multiple character) and ? (single character) are possible to use in the second parameter. Never mix the three
possible syntax types for the same RBL Service Provider. A search for a match inside such a definition is done in reverse ASCII order, so the
wildcards are used as last.
Some RBL Service Providers, provides different return codes using a bitmask in any part of the reply. To define weights for bitmasks, place a
single 'M' in front of the mask number, like
sp.com=>127.0.0.M2=>25
sp.com=>127.0.0.M4=>41
sp.com=>127.0.M1.5=>56
sp.com=>127.0.M64.*=>11
sp.com=>127.0.0.2=>22
sp.com=>127.0.*.*=>1
Valid bitmasks are 1,2,4,8,16,32,64 and 128. The resulting weight will be the weight sum of all matching bitmasks (if no full qualified definition
is found). For example: a return code of 127.0.0.6 for sp.com will result in a weight of 66 (25+41), a reply of 127.0.0.2 will result in 22
Because each single bitmask indicates a set of 128 numbers you should prevent the usage of something like 127.0.M16.M1 - this will lead in to
a set of (128*128) 16384 addresses, which is really too much!
For the same service provider, first define all bitmask definitions, after that all full qualified definitions and than all definitions with wildcards,
like in the example above! If your definition order is wrong, the resulting weights will be unexpected!
Notes On DNSBL
Notes
Domain Names of URIBLs to use separated by "|". You may set for every provider a weight like multi.surbl.org=>50|black.uribl.com=>25.
The value of the weight can be set directly like=>45 or as a divisor of URIBLmaxweight . Low numbers < 6 are divisors . So if
URIBLmaxweight = 50 (default) multi.surbl.org=>50 would be the same as multi.surbl.org=>1, multi.surbl.org=>2 would be the same as
multi.surbl.org=>25.
If the sum of weights surpasses URIBLmaxweight, the URIBL check fails. If not, the URIBL check is scored as "neutral" even with
URIBLmaxhits reached. Setting Showmaxreplies will allow ALL replies to contribute to the total weight regardless of URIBLmaxhits.
Some URIBL Service Providers, like multi.surbl.org and black.uribl.com , provides different return codes in a single DNS-zone: like 127.a.b.c -
where a,b,c are used to identify a weight or type (or what ever) of the returned entry. If you want to care about special return codes, or if you
want to use different weights for different return codes, you should use the following enhanced entry syntax:
URIBL-Service-Provider=>result-to-watch=>weight (like:)
multi.surbl.org=>127.0.0.2=>2
multi.surbl.org=>127.0.0.4=>3
multi.surbl.org=>127.0.0.?=>4
multi.surbl.org=>127.0.0.*=>5
You can see, the wildcards * (multiple character) and ? (single character) are possible to use in the second parameter. Never mix the three
possible syntax types for the same URIBL Service Provider. A search for a match inside such a definition is done in reverse ASCII order, so the
wildcards are used as last.
Some URIBL Service Providers, provides different return codes using a bitmask in any part of the reply. To define weights for bitmasks, place a
single 'M' in front of the mask number, like
sp.com=>127.0.0.M2=>25
sp.com=>127.0.0.M4=>41
sp.com=>127.0.M1.5=>56
sp.com=>127.0.M64.*=>11
sp.com=>127.0.0.2=>22
sp.com=>127.0.*.*=>1
Valid bitmasks are 1,2,4,8,16,32,64 and 128. The resulting weight will be the weight sum of all matching bitmasks (if no full qualified definition
is found). For example: a return code of 127.0.0.6 for sp.com will result in a weight of 66 (25+41), a reply of 127.0.0.2 will result in 22
Because each single bitmask indicates a set of 128 numbers you should prevent the usage of something like 127.0.M16.M1 - this will lead in to
a set of (128*128) 16384 addresses, which is really too much!
For the same service provider, first define all bitmask definitions, after that all full qualified definitions and than all definitions with wildcards,
like in the example above! If your definition order is wrong, the resulting weights will be unexpected! Default is: multi.surbl.org|black.uribl.com
Don't validate URIBL when messages come from these addresses. Accepts specific addresses ([email protected]), user parts (user) or entire
domains (@domain.com).
For example: [email protected]|jhanna|@sillyguys.org
Every IP in a URI and every IP resolved for a hostname in a URI is checked against this list of IP's or networks. For
example:145.145.145.145|145.146.|1.2.0.0/16
This high security feature will follow the rules in URIBLWL, URIBLNP, URIBLLocal and URIBLISP - but if a match is found, it will block the
email ( ignores scoring, monitoring, testmodes and spamlover ).
Notes On URIBL
Notes
This regular expression is used to identify Level 2 attachments that should be blocked.
Level 2 already includes all rejected extensions from Level 1.
For example:
(ad[ep]|asx|ba[st]|chm|cmd|com|cpl|crt|dbx|exe|hlp|ht[ab]|in[fs]|isp|js|jse|lnk|md[abez]|mht|ms[cipt]|nch|pcd|pif|prf|reg|sc[frt]|sh[bs]
|vb|vb[es]|wms|ws[cfh]).zip
This regular expression is used to identify Level 3 attachments that should be blocked.
Level 3 includes Level 2 and Level 1.
For example:
zip|url
This regular expression is used to identify attachments that should be allowed. All others are blocked. Separate entries with a pipe |. The dot .
is assumed to precede these, so don't include it.
For example:
ai|asc|bhx|dat|docx?|eps|gif|htm|html|ics|jpg|jpeg|hqx|od[tsp]|pdf|p7[mscz]|ppt|rar|rpt|rtf|snp|txt|xls|zip|7z
This set of regular expression is used to identify attachments that should be allowed or blocked for specified users and/or domains. Separate
entries with a any of '=> , ; space'. Separate multiple regex entries with pipe '|'. The dot . is assumed to precede the regex, so don't include it
anywhere (except the user name).
To define entries you have to use the 'file:...' option. Define one entry per line - comments are not allowed in a definition line.
The syntax of an entry is as follows:
username => good => goodAttachRegex , good-out => goodoutRegex , good-in => goodinRegex , block => blockAttachRegex , block-out =>
blockoutRegex , block-in => blockinRegex
username - Mail solely to or from any of these addresses. Accepts specific addresses ([email protected]), user parts (user) or entire domains
(@domain.com) or a Group definition [GROUP]. Wildcards are supported (fribo*@domain.com).
good => goodAttachRegex - good attachment for incoming and outgoing mails
good-out => goodoutRegex - good attachment for outgoing mails
good-in => goodinRegex - good attachment for incoming mails
block => blockAttachRegex - bad attachment for incoming and outgoing mails
block-out => blockoutRegex - bad attachment for outgoing mails
block-in => blockinRegex - bad attachment for incoming mails
For example:
At least one of the above option must be defined in a line - a maximum of all (six) could be defined, if this makes sense.
This feature replaces the above level definitions. If at least one valid regular (not zip:... from the ASSP_AFC Plugin) attachment blocking rule is
defined here, all level definitions are ignored for all emails!
The defined blocking rules for the sender and the first envelope recipient are combined together using an OR logic.
good, good-out and good-in - and also - block, block-out and block-in - will be logical OR combined according to the mail flow.
Notice: if a bad attachment is found on a user based attachment check, the penalty box IP address scoring is skipped.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com).
Enter IP addresses that you don't want to be scanned for virus , separated by pipes (|). For example: 145.145.145.145|145.146.
Put anything here to identify messages which should not be checked for viruses.
If a ClamAV or FileScan result matches this expression it will be scored with the suspicious virus score ( vsValencePB ) and the message will
not be blocked.
It is possible to weight such results. Every weighted regex that contains at least one '|' has to begin and end with a '~' - inside such regexes it
is not allowed to use a '~', even it is escaped - for example: ~abc\~|def~=>23 or ~abc~|def~=>23 - instead use the octal (\126) or hex
(\x7E) notation , for example ~abc\126|def~=>23 or ~abc\x7E|def~=>23 . Every weighted regex has to be followed by '=>' and the weight
value. For example:
Phishing\.=>1.45|~Heuristics|Email~=>50
or
~(Email|HTML|Sanesecurity)\.(Phishing|Spear|(Spam|Scam)[a-z0-9]?)\.~=>4.6|Spam=>1.1|~Spear|Scam~=>2.1 .
The multiplication result of the weight and the penaltybox valence value will be used for scoring, if the absolute value of weight is less or equal
6. Otherwise the value of weight is used for scoring.
If set, an email containing the Message ID, Remote IP, Message Subject, Sender email address, Recipient email address, and the virus detected
will be sent to these addresses. For example: [email protected] .
It is possible to define multiple addresses separated by pipe (|) e.g: [email protected]|[email protected] .
In addition, a leading 'IN:' or 'OUT:' can be specified in front of each address for incoming or outgoing/local mails. e.g:
[email protected]|IN:[email protected]|OUT:[email protected] .
The literals 'USER' and 'DOMAIN' will be replaced by the user part and domain part of the sender for outgoing/local mails and the recipient for
incoming mails.
If set the intended recipient of the message will be sent a copy of the Virus Report. If "for HAM only" is selected, the report will only be sent, in
case the mail is not detected as SPAM before the virus check is done.
ASSP will call this system command and expects a returned string from this command. This returned string is checked against 'FileScanBad'
Put anything here to identify bad messages by the string returned from the FileScanCMD. If defined and this regular expression matches, the
message is consider infected.
Put anything here to identify good messages by the string returned from the FileScanCMD. If defined and this regular expression matches and
'FileScanBad' does not, the message is consider not infected.
If both FileScanBad and FileScanGood are defined, FileScanBad has not to match and FileScanGood has to match, to consider a mail not
infected!
A regular expression that will be used over the text returned from the FileScanCMD. The result of this regex is used as virus name ($infection)
in AvError. For example: infected by ([^\r\n]+)
Scan Resent and Stored Files for Virus with FileScan (FileLogScan)
scan resend folder and collected files
If virus check is enabled ( DoFileScan ), every file/mail (except reports - eg. n10000123456.eml) in the 'resendmail' folder and if selected,
every collected file is scanned for virus before it is sent or stored.
If a virus is found, the file/mail is not (re)sent (it will get the extension '.virus') and a notification mail will be sent to local users. Infected
collected files are moved in to the SpamVirusLog folder.
To force the resend of a virus infected mail, the header tag 'X-ASSP-ForceResend:' must be added to the file!
If 'scan resend folder and collected files' is selected, it could be possible, that the virus scanner ( FileScanCMD ) forces a very high system
workload.
If you are not sure what to set here, leave the setting at the default 'scan resend folder only'!
If the ASSP_AFC Plugin is installed and configured to be used, the files in the resend folder will be scanned by FileScan and ClamAV if any of
FileLogScan or ClamAVLogScan is configured.
Under normal conditions the scan will be done by the SMTP-worker, if assp is under a havy workload, the scan request will be transfered to the
High-Workers (10000/10001).
A socket specified in the clamav.conf file - LocalSocket. For example /tmp/clamd. If the socket has been setup as a TCP/IP socket (see the
TCPSocket option in the clamav.conf file), then specify the TCP socket. For example: 3310 .
For remote host TCP connections define the hostname or IP-address in front of the port definition - example: clamhost:3310 or
192.168.0.1:3310 . If the hostname is not defined, localhost will be used as default.
It is possible to define multiple hosts to balance the workload - define them separated by pipe (|) - example: clamhost:3310|192.168.0.1:3310
If multiple hosts are defined, they are used in a random round-robin mode.
Scan Resent and Stored Files for Virus with ClamAV (ClamAVLogScan)
scan resend folder and collected files
If virus check is enabled ( UseAvClamd ), every file/mail (except reports - eg. n10000123456.eml) in the 'resendmail' folder and if selected,
every collected file is scanned for virus before it is sent or stored.
If a virus is found, the file/mail is not (re)sent (it will get the extension '.virus') and a notification mail will be sent to local users. Infected
collected files are moved in to the SpamVirusLog folder.
To force the resend of a virus infected mail, the header tag 'X-ASSP-ForceResend:' must be added to the file!
If 'scan resend folder and collected files' is selected, it could be possible, that the virus scanner (clamd) forces a very high system workload.
If you are not sure what to set here, leave the setting at the default 'scan resend folder only'!
If the ASSP_AFC Plugin is installed and configured to be used, the files in the resend folder will be scanned by FileScan and ClamAV if any of
FileLogScan or ClamAVLogScan is configured.
Regular Expression to early Identify Spam in Handshake and Header Part* (preHeaderRe)
file:files/preheaderre.txt Edit file
Until the complete mail header is received, assp is processing the handshake and header content line per line, but the first mail content check is
done after the complete mail header is received.
It is possible, that some content (malformed headers, forbidden characters or character combinations) could cause assp to die or to run in to a
unrecoverable exception.
Use this regular expression to identify such incoming mails based on a line per line check, at the moment where a single line is received.
This setting does not affect any other and is not affected by any other configuration setting, except that this check is only done for incoming
mails.
If a match is found, assp will immediately send a '421 <myName> closing transmission' reply to the client and will immediately terminate the
connection.
Default setting is file:files/preheaderre.txt
Even if any of the following bomb parameters is set to "block", but the sum of the resulting weighted penalty value is less than the
corresponding "Penalty Box Valence Value" (because of lower weights) - only scoring will be done!
A description of how of weighting regular expressions is done and working, could be found at the bottom this web page.
Part of DoBombHeaderRe: header will be checked against this Regex if DoBombHeaderRe is enabled. For example
file:files/bombheaderre.txt
Part of DoBombHeaderRe : the mail header will be checked against this Regex if DoBombHeaderRe is enabled. If DoBombHeaderRe is
enabled, the mail subject will be automatically checked against RFC2047 (for NON printable characters in the undecoded MIME content).
Header and Data will be checked against this Regular Expression if DoBombRe is enabled. For example:
IMG [^>]*src=['"]cid|<BODY[^>]*>(<[^>]+>|\n|\r)*<IMG[^>]+>(<[^>]+>|\n|\r)*</BODY>
If you want to search for attachment names, define a line with 'attachment:the_attachment_name'.
Regular Expression to define header tags, that will be skipped for bombSuspiciousRe, bombHeaderRe, bombRe and blackRe - like 'DKIM-
Signature|Domainkey-Signature' - the always followed collon (:) is added by assp. For example
file:files/bombskipheadertagre.txt
Data part will be checked against the Regular Expression if DoBombRe is enabled. For example:
IMG [^>]*src=['"]cid|<BODY[^>]*>(<[^>]+>|\n|\r)*<IMG[^>]+>(<[^>]+>|\n|\r)*</BODY>
If you want to search for attachment names, define a line with 'attachment:the_attachment_name'.
Sender, Header and Data will be checked for scoring only. Put here anything which might be suspicious. bombSuspiciousValencePB will be
used to increase the score.
For example:
unsubscribe
NOTICE: BombSuspiciousRe is processed per default for all mails (incoming and outgoing) regardless of noprocessing and
whitelisting! Only noBombScript is observed in every case.
To change this behavior, use the enhanced regular expression syntax (NWIL) described at the bottom of the GUI!
Don't detect spam bombs or scripts in messages from these addresses. Accepts specific addresses ([email protected]), user parts (user) or
entire domains (@domain.com).
If an incoming email ( except acceptAllMail ) matches this Perl regular expression it will be strictly considered spam . For example: \breplica
watches\b|\bMegaDik\b|\bcock\b|\bpenis\b|\bpills\b|\bOriginal Viagra\b|\bbetter sex life\b|\baverage
penis\b|\benlargement\b|\borgasm\b|\berections\b|\bViagra\b|\bbig
dick\b|\bsperma\b|\bSexual\b|\bErectionsk\b|\bStamina\b|\bsildenafil\b|\bcitrate\b|\bErectile\b
Spam mails may contain mobile scripting code, eg activex and java or php. You can use this feature to block those messages.
Leave this blank to disable the feature. For example:
\<applet|\<embed|\<iframe|\<object|\<script|\<?php|onmouseover|onload|onfocus|onblure|onclick|javascript:
This value is ignored, if DoHMM is not enabled or set to monitor or DoBayesian is disabled.
The Bayesian check will only run, if the spam/ham probability of the HMM check is in a given value range or the HMM check has given too few
results or the confidence ( baysConf ) of the detection is too low.
Leave this blank to run the Bayesian check every time, independent from any HMM result (default).
To set this value, define a probability value range like 0.4-0.6 or 0.3-0.7 - eg: best set it according to the setting of baysProbability ( [ 1 -
baysProbability ]-baysProbability ).
Use also private entries for the Bayesian Spamdb and Hidden Markov Model databases (DoPrivatSpamdb)
NO
If enabled, private entries (based on the local recipient and/or the report sender email address) will be added to the Bayesian and HMM
databases. These private entries have a three times higher priority for users (full email address) and two times higher priority for domains
(domain part of the email address) than global entries. To enable this option "spamdb" must be set to use a database "DB:" first!
Setting this option to ON, will increase the record count for the spamdb and the HMM databases dramaticaly!
Mail from/to any of these addresses are ignored by Bayesian- and HMM check, mails will not be stored in spam/notspam collection. Accepts
specific addresses ([email protected]), user parts (user) or entire domains (@domain.com)
Mail from any of these local addresses are ignored by Bayesian- and HMM checks, mails will not be stored in spam/notspam collection. Accepts
specific addresses ([email protected]), user parts (user) or entire domains (@domain.com)
Do Bayesian and HMM Check ONLY for this local senders* (Bayesian_localOnly)
Only mail from any of these local addresses are processed by the Bayesian- and HMM checks, except they are also defined in
noBayesian_local . BayesLocal must be switched on to make this option working. Accepts specific addresses ([email protected]), user parts
(user) or entire domains (@domain.com)
Maximum most significant results used per mail to calculate Bayesian- and HMM-Probability (maxBayesValues)
60
Maximum count of most significant values used to calculate the Bayesian/HMM-Spam-Probability and the confidence of that probability.
The Bayesian/HMM Spam probability will be fine with 30 and will get more exact, than higher this value is - until a value of 60.
The confidence of the Bayesian/HMM Spam probability will get better, than higher this value is.
Values above 60 are possible, but could lead in to a performance penalty, without getting a better spam detection.
If the HMM check gets less than ( maxBayesValues / 3 + 1 ) results, the HMM check is set to scoring for the mail.
If the HMM check gets less than ( maxBayesValues / 12 + 1 ) results, the HMM check is set to monitoring for the mail.
Default is '60', minimum is '30'.
The following default Bayesian math (prob = p1 / (p1 + p2)) is used to calculate the SpamProb value for 'n' found Bayesian-Word-Pairs or
HMM-Sequences, each with a spam-weight 'p' - where 0<p<1 :
The following math is used to calculate the SpamProbConfidence value for 'n' found Bayesian-Word-Pairs or HMM-Sequences doing 'q' database
queries, each result with a spam-weight 'p' - where 0<p<1 :
extreme_confidence_count = |(0 < p1...n < 0.01)| - |(0.99 < p1...n < 1)|
extreme_confidence_count = 0 - if ( extreme_confidence_count < 0 and SpamProb > 0.5) or ( extreme_confidence_count > 0 and SpamProb
<= 0.5) == TRUE;
extreme_confidence_count = abs( extreme_confidence_count )
mail_confidence = abs((P1 * P2 * ... * Pk) - ((1 - P1) * ( 1 - P2 ) * ... * (1 - Pk))) - for all elements P1...k in (0.01 < p1...n < 0.99)
int(abs(1 - corpus_norm) * 10)
corpus_confidence = 1 / ((abs(1 - corpus_norm) + 1) ) - the exponent is limited to a maximum of 4
q = max( n , min( q , maxBayesValues ))
extreme_confidence_count 2
SpamProbConfidence = 0.01 * mail_confidence * corpus_confidence * ( n / q )
Notes On Bayesian
Notes
Mail to any of these addresses will be tagged and checked by FBMTV. Accepts specific addresses ([email protected]), user parts (user) or
entire domains (@domain.com). If empty, FBMTV is done for all addresses.
Use this to skip the Message-ID tagging depending on the content of the email. If the content of the email matches this regular expression
(checking MaxBytes only), FBMTV will not be done. For example: 'I am out of office' .
store incoming strange BATV-Tags to remind them for outgoing bounce mails (remindBATVTag)
If defined, any incoming stange BATV-signature will be stored and any recipient of outgoing bounce mails will be checked against this list. If
there is found a valid (not older than 7 days) BATV-Tag for that recipient, it will be mangled in to the recipient address. This will also work, if
DoBATV is disabled.
The name of the local file that is used for this IP-list. The content of this file is filled in to the 'Backscatter-DNS Cache' ( BackDNSInterval ).
IP's from this list will be removed after one day from the cache.
The following configurations are valid for all Backscatter Detection Options!
If the contents of a mail matches these regular expressions, all BackScatter checks will be skipped.
Mail to and from any of these addresses will not be tagged and checked by any backscatter option. Accepts specific addresses
([email protected]), user parts (user) or entire domains (@domain.com).
Enter IP's that you want to exclude from FBMTV and Backscatter check, separated by pipes (|).
Setting a filter to testmode will tell ASSP not to reject the mail but rather build up the whitelist and spam and notspam collections. This can go
on for some time without disturbing normal operation. After this very important phase TestMode can be used to tag the message: if TestMode
and the message is spam Spam Subject gets prepended to the subject of the email. For example: [SPAM]
These users are in test mode / mark subject only for bayesian spam, even with test mode above off
Notes On Testmode
Notes
NOTICE: It is possible to define any MIME-header lines in any report file after the first (subject) line. This makes it possible to define MIME
encoding and/or charset settings.
If a definition of MIME encoding and/or charset is found in a report file, assp converts the report from UTF-8 in to the defined encodings. Don't
forget to terminate your MIME-header with an empty line!
It is also possible to include files at any line of such a file, using the following directive
# include filename
where filename is the relative path (from c:/assp) to the included file like reports/mime-header.txt (one file per line). The line will be internaly
replaced by the contents of the included file!
If set internal warnings/infos will be sent to this address. For example: [email protected]
Port to connect to when Email Interface or Block reports are send. If blank they go to the main smtpDestination.
If you need to connect to the EmailReportDestination host using native SSL, write 'SSL:' in front of the IP/host definition. In this case the
Perl module IO::Socket::SSL must be installed and enabled ( useIOSocketSSL ).
eg 10.0.1.3:1025 SSL:10.0.1.3:465, etc.
Mail from any of these addresses can add/remove to/from redlist, spamlovers, noprocessing, blacklist. May request an EmailBlockReport for a
list of users. Accepts specific addresses ([email protected]), user parts (user) or entire domains (@example.com)
Enable the EmailInterface and BlockReports for these local domains ONLY (NOT RECOMMENDED). If used, you have also to define
'@assp.local' (if required). If not used, all localdomains and '@assp.local' take place ( see EmailInterfaceOk ). Accepts entire domains
(@domain.com|domain.com)
Allow these external domains/addresses to report to the email interface (NOT RECOMMENDED). The reply address for the reports must be set to
a local one. By default, ASSP only accepts reports from local or authenticated users. Accepts specific addresses ([email protected]), user parts
(user) or entire domains (@domain.com)
Mail from any of these addresses are not accepted from Email Interface, except "Help Report", "Analyze Report" and "Block Report/Resend".
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@example.com). The user will get informed about the
denied request.
Mail from any of these addresses are not accepted from Email Interface. Accepts specific addresses ([email protected]), user parts (user) or
entire domains (@example.com). The user will get not informed about the denied request.
Any mail sent by local/authenticated users to this username will be interpreted as a request for help. Do not put the full address here, just the
user part. For example: assphelp
Any mail sent or forwarded by local/authenticated users to this username will be interpreted as a spam report. Multiple attachments get
truncated to MaxBytesReports. Do not put the full address here, just the user part.
For example: asspspam . Use a fake domain like @assp.local or @assp-nospam.org when you send the email- so the full address would be then
[email protected].
You can sent multiple mails as attachments and/or zipped file(s). Each attached email-file must have the extension defined in "maillogExt". In
this case only the attachments will be processed. To use this multi-attachment-feature an installed Email::MIME module in PERL is needed. It
is also possible to send MS-outlook '.msg' files (possibly zipped). To use this MS-outlook-feature in addition an installed
Email::Outlook::Message module in PERL is needed.
Any mail sent or forwarded by local/authenticated users to this username will be interpreted as a false-positive report. Multiple attachments get
truncated to MaxBytesReports. Do not put the full address here, just the user part.
For example: asspnotspam . Use a fake domain like @assp.local or @assp-nospam.org when you send the email - so the full address would be
Email sent from ASSP acknowledging your submissions will be sent to this address. For example: [email protected]
Any mail sent by local/authenticated users to this username will be interpreted as a request to add addresses to the whitelist. Do not put the full
address here, just the user part.
For example: asspwhite
If an address is added to whitelist, it will be removed from the Personal Blacklist of the sending user.
Any mail sent by local/authenticated users to this username will be interpreted as a request to remove addresses from the whitelist. Do not put
the full address here, just the user part.
For example: asspnotwhite
Email sent from ASSP acknowledging your submissions will be sent to this address. For example: [email protected]
Any mail sent by local/authenticated users to this username will be interpreted as a request to add the sender address to the redlist. Only the
users defined in EmailRedlistTo, EmailAdmins and EmailAdminReportsTo are able to define a list of email addresses in the mail body. Do
not put the full address here, just the user part.
For example: asspred.
Any mail sent by local/authenticated users to this username will be interpreted as a request to remove the sender address from the redlist. Only
the users defined in EmailRedlistTo, EmailAdmins and EmailAdminReportsTo are able to define a list of email addresses in the mail body.
Do not put the full address here, just the user part.
For example: asspnotred
Email sent from ASSP acknowledging your submissions will be sent to this address. For example: [email protected]
Any mail sent by local/authenticated users to this username will be interpreted as a request to add the sender address to spamLovers. Only
the users defined in EmailSpamLoverTo, EmailAdmins and EmailAdminReportsTo are able to define a list of email addresses in the mail
body. Do not put the full address here, just the user part.
For example: asspspamlover. To use this option, you have to configure spamLovers with "file:..." for example "file:files/spamlovers.txt" !
Any mail sent by local/authenticated users to this username will be interpreted as a request to remove the sender address from spamLovers.
Only the users defined in EmailSpamLoverTo, EmailAdmins and EmailAdminReportsTo are able to define a list of email addresses in the
mail body.
Do not put the full address here, just the user part.
For example: asspnotspamlover
Email sent from ASSP acknowledging your submissions will be sent to this address. For example: [email protected]
Any mail sent by local/authenticated users to this username will be interpreted as a request to add the sender address to the noProcessing
addresses. Only the users defined in EmailNoProcessingTo, EmailAdmins and EmailAdminReportsTo are able to define a list of email
addresses in the mail body. Do not put the full address here, just the user part.
For example: asspnpadd. To use this option, you have to configure noProcessing with "file:..." for example "file:files/noprocessing.txt" !
Any mail sent by local/authenticated users to this username will be interpreted as a request to remove the sender address from
noProcessing .
Do not put the full address here, just the user part. Only the users defined in EmailNoProcessingTo, EmailAdmins and
EmailAdminReportsTo are able to define a list of email addresses in the mail body.
For example: asspnprem. To use this option, you have to configure noProcessing with "file:..." for example "file:files/noprocessing.txt" !
Email sent from ASSP acknowledging your submissions will be sent to this address. For example: [email protected]
Any mail sent by local/authenticated users to this username will be interpreted as a request to add the sender address to the
blackListedDomains addresses. Only the users defined in EmailAdmins and EmailAdminReportsTo are able to request an addition. Do not
put the full address here, just the user part.
For example: assp-black. To use this option, you have to configure blackListedDomains with "file:..." for example "file:files/blacklisted.txt" !
Any mail sent by local/authenticated users to this username will be interpreted as a request to remove the sender address from
blackListedDomains .
Do not put the full address here, just the user part. Only the users defined in EmailAdmins and EmailAdminReportsTo are able to request a
removal.
For example: assp-notblack. To use this option, you have to configure blackListedDomains with "file:..." for example
"file:files/blacklisted.txt" !
Spam Reports will add email addresses to the Personal Blacklist, NotSpam Reports will remove addresses from the Personal Blacklist, if the
report senders address matches.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com). Wildcards are supported
(fribo*@domain.com).
Default is *@* , which matches all addresses.
Any mail sent by local/authenticated users to this username will be interpreted as a request to add the listed address(es) to the personal
full_sender_address
*@sender_domain or @sender_domain
@*sender_domain or *@*sender_domain
@*.sender_domain or *@*.sender_domain
Any mail sent by local/authenticated users to this username will be interpreted as a request to remove the listed address(es) from the personal
blackListed addresses .
Do not put the full address here, just the user part.
For example: assp-persnotblack.
The add and remove is done via email-interface, by sending specific email addresses to 'EmailPersBlackAdd' and 'EmailPersBlackRemove'.
A local user can force a complete report about all his personal black list entries by defining an email address that begins with 'reportpersblack' in
a remove or add request : eg: [email protected] or by sending an empty body.
Only an admin can force a complete cleanup of all personal black entries for a specific email address for all local users - sending an email to
'EmailPersBlackRemove' with the address followed by ',*' in the body eg: address_to_remove@the_domain.foo,* - be careful modifying
personal entries of other users!
The same wildcard combinations like in EmailPersBlackAdd are supported.
Notice: a remove request for a specific email address will remove ALL entries from the users personal blacklist, that would block
this email address (also all matching wildcard entries)!
Email sent from ASSP acknowledging your submissions will be sent to this address. For example: [email protected]
Any mail sent or forwarded by local/authenticated users to this username will be interpreted as a request for analyzing the mail. Do not put the
full address here, just the user part. For example: asspanalyze
Use a fake domain like @assp.local or @assp-nospam.org when you send the email- so the full address would be then [email protected].
You can sent multiple mails as attachments and/or zipped file(s). Each attached email-file must have the extension defined in "maillogExt". In
this case only the attachments will be processed. To use this multi-attachment-feature an installed Email::MIME module in PERL is needed. It
is also possible to send MS-outlook '.msg' files (possibly zipped). To use this MS-outlook-feature in addition an installed
Email::Outlook::Message module in PERL is needed.
A copy of the Analyze-Report will be sent to this address. For example: [email protected]
Spam and Ham Reports will trigger an additional Analyze Report (DoAdditionalAnalyze)
NO ADDITIONAL REPORT
Additional Analyze Report will be generated for Spam and Ham Reports. Setting the TO Address accordingly and choosing EmailAnalyzeTo will
send the Analyze Report to the admin only.
Email sent from ASSP acknowledging your submissions will not be sent to these addresses. Accepts specific addresses ([email protected]),
user parts (user) or entire domains (@example.com).
Analyze-, PersonalBlackList- and all virus related reports are ignored by this feature (are sent even a user is listed here).
A Report copy to EmailAnalyzeTo, EmailBlackTo, EmailNoProcessingTo, EmailSpamLoverTo, EmailRedlistTo, EmailWhitelistTo and
EmailErrorsTo is also ignored by this feature.
OK Mail (incomingOkMail)
okmail
The folder to save non-spam (message ok). These are messages which are considered as HAM, but are not stored in the standard HAM folder
because of our policy to use only confirmed HAM messages (whitelisted or local) for spamdb . If you want to keep copies of ok mail then put in
a directory name. This directory will not be used in building the spamdb . Default: okmail
It is recommended to use a database for all possible lists and caches for best performance, less memoryusage and stability! If you do not want
to install a database engine like MySql or Oracle, use BerkeleyDB! Please read the section DBdriver !
If you set this value to "DB:" and you want HMMdb to use the same database backend like spamdb, don't forget to disable HMMusesBDB !
To use this database shared between multiple ASSP's, set all ASSP to mysqlSlaveMode (except the master) and the adminusersdbpass must
be the same on all installations! If you want to change the adminusersdbpass, first change it on the master.
The file with the current Grey-IP-List database -- make this blank if you don't use it.
Notice: assp requires permanent database connections. Set database engine parameter like 'client-timeout' or 'connection-timeout' to very high
values (eg: 1/2 or 1 day)! ASSP requires one database connection per thread (typical 8 connections), plus up to five connection for imports,
exports and internal processing. Set the maximum allowed database connection in your database server configuration according!
Instead using local files for hashes and lists via shared memory, it is recommended to use BerkeleyDB (Perl-module) version 0.34 or higher for
highest performance and less memory usage. The BerkeleyDB (engine) version 4.5 or higher is required to use BerkeleyDB.
If you specify BerkeleyDB here, the values for myhost, mydb, myuser and mypassword will be ignored. All possible BerkeleyDB option must
be defined here - the option for '-Filename' is already set by ASSP! Options could be defined for example:
BerkeleyDB,-Pagesize=>number,-Env=>[-Cachesize=>number,-Mode=>mode,...,...],...,...
If '-Env=>[-Cachesize=>number]' (number in bytes) is specified, this cache size will be used at minimum for every single list. Setting the cache
size is not recommended (as long as do not you really know what you do), because ASSP does automatically calculate the right cache for every
list. You may setup configuration values for any BerkeleyDB, creating a file DB_CONFIG (case sensitive) in the corresponding
directory ./tmpDB/[list]. Please use the BerkeleyDB documentation if you don't know the syntax of this file. Any value defined in that file will
overwrite the corresponding internal ASSP configuration for this DB.
As with each other database engine, you should know how to handle BerkeleyDB large shared BDB-environments (CDB - DB_INIT_CDB and
DB_INIT_MPOOL), how to repair database files and all the other important stuff. ASSP has several buildin mechanism to detect and repair
corrupt BerkeleyDB files, but they may not work in every case!
If you have specified BerkeleyDB here and your system shows unexpected SEGV or ASSP died unexpected, think about the BDB settings. If you
can't fix such an issue, it may be an good idea to switch over to MySQL or another database engine.
KEEP IN MIND: BerkeleyDB files are shared opened and accessed by all threads using BDB-CDB. The last terminated thread closes the BDB-files
(shutdown the BDB-engine) for the systems file system. It is important, that (especially) linux and unix system shutdown scripts are waiting
until ALL assp/perl processes are ended (this may take up to one minute - see MaxFinConWaitTime )! Otherwise, the kernel will kill the
assp/perl process at shutdown and the BerkeleyDB DB-files and environment-files WILL BE DESTROYED and cause to 100% unexpected
behavior or crashes at the next start or run! The same applies to Windows systems, if assp is not running as system service - the windows
system-service-manager will wait until the process is finished.
The options for all drivers and their possible or required order depends on the DBD driver used, please read the driver's documentation, if you
do not know the needed option.
The username, password, host and databasename are always used from this configuration page.
This database must exist before starting ASSP, necessary tables will be created automatically into this database.
This is a slave of more then one assp-computers accessing the same database (mysqlSlaveMode)
If you are running more then one assp-computers accessing the same or (better because of SPOF) a bidirectional replicated database
this is a slave-assp and no database maintenance will be done by this one!
Maintenance should only be done by the first assp - the master!
Maintenance for file based caches and lists will always be done!
This user must have CREATE privilege on database to create tables automatically
If set to a value between 1 and 9, the corresponding backup file for any list/hash that configured to use a database will be copied from the
backupDBDir to the importDBDir. The resulting file name will has an extension of ".rpl", so a possible import will replace the current table
content. If a value of "L" is defined, the last backup will be used. Possible values are L or 1 - 9 or blank. Any configured value will be reset to
blank after the copy is finished.
import all files from the importDBDir Directory in to the database - now. (ImportMysqlDB)
All files from the "importDBDir" will be imported in to database . Please define the directory above, before using the import!
Apply Changes and Run DB Import Now (if checked) Refresh Browser
export all tables from the database and plain hash files (ExportMysqlDB)
All tables of the database and all plain hash files will be exported to the "exportDBDir" directory. Please define the directory above, before
using the export function!
In addition the running configuration and all encrypted option files in use will be exported.
If you plan to upgrade the OS or perl, or you plan to move to a new system or a different OS - it is recommended to do an export first!
NOTICE: both encrypted tables/hashes, AdminUsersRight and AdminUsers, will be exported unencrypted (eg. in plain text), the same applies to
the exported configuration file and the exported option files!
If possible, assp will compress the config files, option files and the AdminUsersRight and AdminUsers to the file 'config.zip' in the
"exportDBDir" directory.
If possible, assp will encrypt the config.zip to config.zip.aes using openssl or Crypt::CBC. To decrypt this file, use the OS commandline:
NOTICE: The password / key, used for the export encryption function, may change at the next assp start or if the assp.cfg gets an external
update! Record the password after each export!
Apply Changes and Run the Export NOW (if checked) Refresh Browser show the decryption password
s
backup database Interval (backupDBInterval)
2
backup the database (all tables used by assp at the time) every this hours.
Defaults to 2 hours.
s
Runtime MaxLogAge (MaxLogAgeSchedule)
1
Runtime hour for deleting old logfiles. Set a number between 0 and 23. 0 means midnight, 1 is default.
Mail to any of these addresses are always spam and will contribute to the spam-collection unless from someone on the whitelist - for example
honeypott addresses. Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com). The addresses are
not validated, they are readdressed to ccallspam, however you can supersede this by putting a valid address into sendAllCollect below.
Accepts specific addresses ([email protected]), user parts (user) or entire domains (@domain.com).
If the content of a collected file (incl. X-ASSP-... headers) matches this regular expression, it will be deleted from the collection after the mail is
completely processed.
If the ASSP_ARC plugin is used, the file will be deleted from the collection after it was archived. This is the only "no collect" option which
removes an already collected file, all other options will prevent assp from creating a collection file - if set to "no collection". The check is limited
to MaxBytes or at max 100000 Bytes.
Messages their subject matches this regular expression will be collected regardless the setting in MaxAllowedDups .
s
Runtime for MaintBayesCollection and MaxNoBayesFileAge (MaxFileAgeSchedule)
1
Runtime hour for deleting old collected files (bayes and non bayes). Set a number between 0 and 23. 0 means midnight, 1 is default. If empty a
cleanup will not be scheduled. This could be fine, if a rebuildspamdb is scheduled, which will also do the cleanup based on the settings of
MaintBayesCollection , MaxBayesFileAge and MaxCorrectedDays - but it will not maintain incomingOkMail , discarded and viruslog
based on MaxNoBayesFileAge !
OK Mail (baysNonSpamLog)
no collection
Where to store non spam (message ok) messages. These are messages which are considered as HAM, but should not stored in the standard
HAM folder because of our policy to use only confirmed HAM messages (whitelisted or local) for SpamDB. Set incomingOkMail accordingly if
you choose 'okmail folder'. Default: no collection
Scripts (scriptLog)
spam folder & sendAllSpam
Where to store scripted messages. Recommended: spam folder ( spamlog ) & sendAllSpam
Notes On Collecting
Notes
Email address(es) to which you want ASSP to send a notification email per default, if a matching log entry ( NotifyRe , NoNotifyRe ) is found.
Separate multiple entries by comma ",".
NOTICE: that groups are not allowed to be used here!
Regular Expression to identify loglines for which a notification message should be send.
useful entries are:
Info: new assp version - to get informed about new available assp versions
info: autoupdate: new assp version - to get informed about an autoupdate of the running script
adminupdate: - for config changes
admininfo: - for admin information
option list file: - for option file reload
error: - for any error
warning: - for any warning
restart - to detect a ASSP restart
notification: too many recipients - for local frequency abuse once per day and sender
warning: too many recipients - for every local frequency abuse
MainThread started - to detect a start of ASSP
Admin connection - for GUI logon
You may define a comma separated list (after '=>') of recipients in every line, this will override the default recipient defined in 'Notify'.
for example: adminupdate:=>[email protected],[email protected].
NOTICE: that groups are not allowed to be used for the second parameter!
As third parameter after a second ('=>') you can define the subject line for the notification message.
for example: adminupdate:=>[email protected],[email protected]=>configuration was changed
or: adminupdate:=>=>configuration was changed.
Regular Expression to identify loglines for which no notification message should be send.
for example:
user root - if root does anything
\[root.*?\] - if root changes the config
Syslog IP (sysLogIp)
NOTICE: If you change this value, BlockReports and Griplist-uploads will not work for log entries in the past (from now)!
An value has to be defined for every part of the date/time, the date must be the first part. Allowed separators in date part are '_ -./' - in time
part '-_.:' .
Enter IP addresses that you want to be debugged, separated by pipes (|). The local and the remote IP of the connection will be checked!
Not blank sends debugging info to a .dbg file. Leave this blank unless there is a program error you are trying to track down.
This can be IP address of the SMTP service monitoring agent. For example: 127.0.0.1|172.16.
Put a code line here, to detect messages that you want to debug. The code line has to return 0 or 1. A return of 1 will switch on debug.
for example:
$Con{$fh}->{isbounce}
This code line will switch on debug for all bounce messages.
To use this option, you need to know the internal ASSP variables and their usage!
Enter IP addresses that you don't want to be logged, separated by pipes (|). The local and the remote IP of the connection will be checked!
This can be IP address of the SMTP service monitoring agent. For example: 127.0.0.1|172.16.
Put anything here to identify messages that you don't want to be logged.
Put anything here to identify messages from/to addresses you want to look at for problem solving. Messages identified will also be set to
StoreCompleteMail.
Put anything here to identify log Lines that you don't want to be logged.
Notes On Logging
Notes
Most LDAP servers require a login and password before they allow queries.
Enter the DN specification for a user with sufficient permissions here.
For example: cn=Administrator,cn=Users,DC=yourcompany,DC=com
The LDAP lookup will use this container and all sub-containers to match the local domain query.
The literal DOMAIN is replaced by the domain part of SMTP recipient (eg. domain.com) during the search.
For example: DC=yourcompany,DC=com.
If you use DOMAIN here, you must check "LDAP failures return false" below or non local domains will be treated as local. If not defined,
LDAPRoot will be used.
This filter is used to query the LDAP database. This strongly depends on the LDAP structure.
The filter must return an entry if the domain must be relayed.
The literal DOMAIN is replaced by the domain name during the search.
for example: (&(|(|(|(|(&(objectclass=user)(objectcategory=person))(objectcategory=group))(objectclass=publicfolder))(!
(objectclass=contact)))(objectclass=msExchDynamicDistributionList))(proxyaddresses=smtp:*@DOMAIN))
The LDAP lookup will use this container and all sub-containers to match the local email address query.
The literal DOMAIN is replaced by the domain part of SMTP recipient (eg. domain.com) during the search.
For example: DC=yourcompany,DC=com.
If you use DOMAIN here, you must check "LDAP failures return false" below or non local domains will be treated as local.
This filter is used to query the LDAP database. This strongly depends on the LDAP structure.
The filter must return an entry if the recipient address matches with that of any user.
The literal EMAILADDRESS is replaced by the fully qualified SMTP recipient (eg. [email protected]) during the search.
The literal USERNAME is replaced by the user part of SMTP recipient (eg. user) during the search.
The literal DOMAIN is replaced by the domain part of SMTP recipient (eg. domain.com) during the search.
For example: (proxyaddresses=smtp:EMAILADDRESS) or (|(mail=EMAILADDRESS)(mailaddress=EMAILADDRESS)) or
(&(|(|(|(|(&(objectclass=user)(objectcategory=person))(objectcategory=group))(objectclass=publicfolder))(!(objectclass=contact)))
(objectclass=msExchDynamicDistributionList))(proxyaddresses=smtp:EMAILADDRESS))
s
Clean Up local LDAP/VRFY Database (LDAPcrossCheckInterval)
12
Delete outdated entries from the LDAP/VRFY cache. Check the LDAP cache to the LDAP server and/or VRFY-MTA and delete not existing entries.
Defaults to 12 hours. Is only used, if ldaplistdb is defined in the database section!
The directory/file with the LDAP cache database file. If you change ldaplistdb in section Filepath you must change it here too.
You need to use the "file: ..." option for this parameter!
On windows systems at least Vista/2008 is required!
On multihomed systems with multiple default gateways, it could be required to define the local IP address (source) used for outgoing LDAP
connections.
This parameter allows to define local IP addresses used for specific targets (IP's or hosts) - based on the local address, the system will use the
right gateway/interface.
Define one entry per line, comments (#) are allowed. The syntax for an entry is 'target=>local-IP'.
target could be any of: IP(4/6) network, IP(4/6) address, hostname, domain-name with wildcard (*).
for example:
22.* => 192.168.1.1 # IP4 Network
2222:333:* => FE81::1 # IP6 Network
22.23.24.25 => 10.1.1.1, # host IP4
1:2:3:4:5:6:7:8 => FE94::5 # host IP6
*.domain.com => 10.1.1.1 # domain
host.domain.com => 192.168.1.1 # host
* => 172.16.1.1 # default - if not defined, the system default is used
NOTICE: assp will NOT check, that the local IP address is available and bound to a local interface! It will also NOT check the system routing
table! YOU SHOULD KNOW WHAT YOU DO!
Notes On LDAP
Notes
You need to use the "file: ..." option for this parameter!
On windows systems at least Vista/2008 is required!
On multihomed systems with multiple default gateways, it could be required to define the local IP (source) address used for DNS connections.
This parameter allows to define local IP addresses used for specific targets (IP's or hosts) - based on the local address, the system will use the
right gateway/interface.
Define one entry per line, comments (#) are allowed. The syntax for an entry is 'target=>local-IP'.
target could be any of: IP(4/6) network, IP(4/6) address, hostname, domain-name with wildcard (*).
for example:
22.* => 192.168.1.1 # IP4 Network
2222:333:* => FE81::1 # IP6 Network
22.23.24.25 => 10.1.1.1 # host IP4
1:2:3:4:5:6:7:8 => FE94::5 # host IP6
*.domain.com => 10.1.1.1 # domain
host.domain.com => 192.168.1.1 # host
* => 172.16.1.1 # default - if not defined, the system default is used
NOTICE: assp will NOT check, that the local IP address is available and bound to a local interface! It will also NOT check the system routing
table! YOU SHOULD KNOW WHAT YOU DO!
The *nix user name to assume after startup (*nix only). use the autorestart features careful, because any restart from inside ASSP will be done
with the permission of this user!
Examples: assp, nobody
requires ASSP restart
The *nix group to assume after startup (*nix only). If you need to define supplementary groups, configure in addition
runAsGroupSupplementary .
Examples: assp, nobody
requires ASSP restart
The *nix supplementary groups to assume after startup (*nix only) - requires runAsGroup to be configured.
Examples: group1|group2
requires ASSP restart
The new root directory to which ASSP should chroot (*nix only). If blank, no chroot jail will be used. Note: if you use this feature, be sure to
copy or link the etc/protocols file in your chroot jail. Think about your automatic restart configuration (eg. perl location) if you use this feature!
And think about what happens, if perl requires to load a module on demand or a system call is done by assp! Leave this blank, if you do not
really know what you do!
requires ASSP restart - in most cases, this feature will not work with all possible configuration setups !
If selected, ASSP will restart it self, if it detects a new or changed running script. An automatic restart will not be done, if ASSP is not running as
The OS level shell-command that is used to autorestart ASSP, if it runs not as a windows service! A possible value for your system is:
cmd.exe /C start "ASSPSMTP restarted" "C:\Perl\bin\perl.exe" "c:/assp/assp.pl" "c:/assp"
Leave this field blank, if ASSP runs inside an external loop (inside the OS like assp.sh or assp.cmd).
If running on NIX systems and runAsUser and/or runAsGroup is used, don't forget to switch back to root permissions in the script!
For daemon actions in /etc/init.d ( see AsADaemon ), 'sudo -b' in front of the command may be required in case runAsUser and/or
runAsGroup is used - like:
sudo -b /etc/init.d/assp restart or sudo -bs /etc/init.d/assp restart
In this case, the user in runAsUser must be able to 'sudo' without providing a password ( sudoers , wheel )!
s
Schedule Cron time for ASSP Restart (ReStartSchedule)
noschedule
If not set to "noschedule" (noschedule is default), ASSP uses scheduled times to shutdown or restart ( AutoRestartCmd )! The syntax is the
same like in "Vixie" cron! To disable this Scheduler leave this field blank! Never write quotes in to this field!
This requires an installed Schedule::Cron module in PERL.
Entry is the specification of the scheduled time in crontab format, which contains five mandatory time and date fields. Entry can be either a
plain string, which contains a whitespace separated time and date specification.
The time and date fields are (taken mostly from "Vixie" cron):
field values
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or as names)
day of week 0-7 (0 or 7 is Sunday, or as names )
seconds 0-59 (optional) not supported inside ASSP !!!
Ranges of numbers are allowed. Ranges are two numbers separated with a hyphen. The specified range is inclusive. For example, 8-11 for an
"hours" entry specifies execution at hours 8, 9, 10 and 11.
Lists are allowed. A list is a set of numbers (or ranges) separated by commas. Examples: "1,2,5,9", "0-4,8-12".
Step values can be used in conjunction with ranges. Following a range with "/number" specifies skips of the numbers value through the range.
For example, "0-23/2" can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is
"0,2,4,6,8,10,12,14,16,18,20,22"). Steps are also permitted after an asterisk, so if you want to say "every two hours", just use "*/2".
Names can also be used for the "month" and "day of week" fields. Use the first three letters of the particular day or month (case doesn't
matter).
Note:
The day of a command's execution can be specified by two fields -- day of month, and day of week. If both fields are restricted (ie, aren't *),
the command will be run when either field matches the current time. For example, "30 4 1,15 * 5" would cause a command to be run at 4:30
Examples:
The memory limit in megabyte the assp process could use at maximum on your system. Set this to empty or zero to disable the feature. The
check is done using the schedule defined in MemoryUsageCheckSchedule . If the assp process uses more memory than the limit at a
scheduled time and assp is able to restart it self - a restart will be done within 15 seconds. The user running assp must have read access
to /proc on nix systems or must have read access to the WMI provider on windows systems!
s
Schedule(s) to check the ASSP process memory usage (MemoryUsageCheckSchedule)
0-59/10 * * * *
The schedule(s) that is used to check the current memory usage of the assp process compared to the MemoryUsageLimit. Default value is
(0-59/10 * * * *), which means every 10 minutes. This requires an installed Schedule::Cron module in PERL.
My Name (myName)
ASSP.nospam
ASSP will identify itself by this name in the email "Received:" header and in the helo when sending report-replies. Usually the fully qualified
domain name of the host.
Examples: assp.mydomain.com, mail.mydomain.org
It is highly recommended to change this value - do NOT use the default value ASSP.nospam in production environments! Because
the same hostname can be used by any other server, that uses assp and sends emails to your system.
If you change this value after assp was running for a long time, add the old value to myNameAlso .
If myName was changed or you use shared folders (multiple ASSP) for the corpus files, define the old or other host names here - separate
multiple entries by pipe, space or comma. ASSP will use this host names in addition to myName, to detect the received headerlines while the
rebuildspamdb is running and in the mail analyzer.
My Helo (myHelo)
How ASSP will identify itself when connecting to the target MTA.
The values used for incoming and outgoing/local mails are separated by "|" - for example:
The left part "SENDERHELO - IP - MYNAME - FQDN" is used for incoming mails, the right part "MYNAME" is used for outgoing mails.
If any part is empty or the complete parameter is not defined, the helo of the sending host is used.
Using the "IP" literal, you can tell your local MTA the connected IP address.
Any RFC compatible text can be used. DO NOT define the SMTP command HELO/EHLO, the command used by the sending host will take place!
The following case sensitive literals will be replaced with:
Replace any of these information ( ip=127.0.0.1 helo=anyhost.local ) in our received header for outgoing mails. Use the syntax ip=127.0.0.1
and/or helo=anyhost.local .
Send this SMTP greeting (eg. 220 MYNAME is ready - using ASSP VERSION) instead of your MTA's SMTP greeting to the client. If not defined
(default), the MTA's greeting will be sent to the client. The literal MYNAME will be replaced with myName and the literal VERSION will be
replaced by the full version string of assp. If the starting '220 ' is not defined, assp will add it to the greeting.
assp.cfg* (asspCfg)
file:assp.cfg Edit file
For internal use only - it is assp.cfg file. Do not change this value.
Use this option to schedule configuration changes. You must use the file option like 'file:files/configchangeschedule.txt' to define schedules - an
empty value disables this feature.
Define one schedule per line - comments are not allowed in a schedule definition line!
The line has to start with the schedule string ( see ReStartSchedule ) followed by the variable (or hidden variable ) name to change, followed
by ':=', followed by the value to change the variable to - like:
8 0 * * * myNameAlso:=otherhost1.mydomain.tld
0 6 * * *|0 10 * * * myNameAlso:=otherhost2.mydomain.tld
0 1 * * * debug:=1
0 2 * * * debug:=
The schedule string can contain multiple schedule definitions separated by pipe'|'. You will get errors if:
- the schedule definition is wrong
- the variable name is wrong (does not exists)
- the syntax of the value is wrong
Notice - assp will only check the syntax at definition time - the logical correctness of the value will be checked at the scheduled time! So, assp
will (for example) not check any dependencies at definition time - if a dependency is wrong, the change request at the scheduled time will fail!
Notice - all configuration changes are done with 'root' permission! For this reason, this configuration parameter is only visible to root and it is
stored encrypted!
The Proxy Server to use when uploading global statistics and downloading the greylist.
Examples: 192.168.0.1:8080, 192.168.0.1
An optional list of IP addresses and/or hostnames from which you will accept web admin connections. Blank means accept connections from any
IP address.
Note: if you make a mistake here, you may disable your web administration interface and be forced to manually edit your configuration file to
fix it.
Examples:
127.0.0.1|172.16.
You need to use the "file: ..." option for this parameter!
On windows systems at least Vista/2008 is required!
On multihomed systems with multiple default gateways, it could be required to define the local IP address (source) used for outgoing HTTP
connections.
This parameter allows to define local IP addresses used for specific targets (IP's or hosts) - based on the local address, the system will use the
right gateway/interface.
Define one entry per line, comments (#) are allowed. The syntax for an entry is 'target=>local-IP'.
target could be any of: IP(4/6) network, IP(4/6) address, hostname, domain-name with wildcard (*).
for example:
22.* => 192.168.1.1 # IP4 Network
2222:333:* => FE81::1 # IP6 Network
22.23.24.25 => 10.1.1.1 # host IP4
1:2:3:4:5:6:7:8 => FE94::5 # host IP6
*.domain.com => 10.1.1.1 # domain
host.domain.com => 192.168.1.1 # host
* => 172.16.1.1 # default - if not defined, the system default is used
NOTICE: assp will NOT check, that the local IP address is available and bound to a local interface! It will also NOT check the system routing
table! YOU SHOULD KNOW WHAT YOU DO!
s
Cache Cleaning Interval (CleanCacheEvery)
6
This period (in hours) determines how frequently ASSP does cache-housekeeping.
s
Statistics Save Interval (SaveStatsEvery)
30
This period (in minutes) determines how frequently ASSP statistics are written to a local file.
s
Reload Option Files Interval (ReloadOptionFiles)
300
If set not to zero, ASSP reloads configuration option files (file:.....) every this many seconds if they have changed. It is not recommended (and
could make ASSP unavailable) to use rsync or any external tool to snychronize caches and list permanently. If you need to snychronize data
between ASSP installations, you better use a database of your choice!
Define the buffer size in byte used for TCP- and SSL socket read and write operations - defaults to empty.
Any or all of the following four values can be defined:
Multiple value definition have to be separated by comma or pipe, like: tcprcv = 65536, tcpsnd = 65536, ...
Possible size values are 8192-9999999 , special value for sslrcv and sslsnd is zero.
If a value is not specified for tcprcv or tcpsnd, the according TCP buffer size reported by the system is used - but at least 8192 byte.
If a value is not specified for sslrcv or sslsnd, a value of 16384 byte is used, which is the maximum size of a single SSL frame of the SSL layer.
If a value of zero is specified for sslrcv or sslsnd, the according system TCP socket buffer size is used.
Under normal conditions any setting here will be not required. But, if you notice a bad SSL transmission performance in relation to the speed of
plan TCP sockets, it may help to set both SSL buffer size to the size of the according system TCP buffer.
like: sslrcv = 0, sslsnd = 0
NOTICE that a too low setting of 'ulimit -n' may cause the same errors on all nix OS.
Entry is the specification of the scheduled time in crontab format, which contains five mandatory time and date fields. Entry can be either a
plain string, which contains a whitespace separated time and date specification.
The time and date fields are (taken mostly from "Vixie" cron):
field values
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or as names)
day of week 0-7 (0 or 7 is Sunday, or as names )
seconds 0-59 (optional) not supported inside ASSP !!!
Ranges of numbers are allowed. Ranges are two numbers separated with a hyphen. The specified range is inclusive. For example, 8-11 for an
"hours" entry specifies execution at hours 8, 9, 10 and 11.
Lists are allowed. A list is a set of numbers (or ranges) separated by commas. Examples: "1,2,5,9", "0-4,8-12".
Step values can be used in conjunction with ranges. Following a range with "/number" specifies skips of the numbers value through the range.
For example, "0-23/2" can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is
"0,2,4,6,8,10,12,14,16,18,20,22"). Steps are also permitted after an asterisk, so if you want to say "every two hours", just use "*/2".
Names can also be used for the "month" and "day of week" fields. Use the first three letters of the particular day or month (case doesn't
matter).
Note:
The day of a command's execution can be specified by two fields -- day of month, and day of week. If both fields are restricted (ie, aren't *),
the command will be run when either field matches the current time. For example, "30 4 1,15 * 5" would cause a command to be run at 4:30
am on the 1st and 15th of each month, plus every Friday
Examples:
Email address(es) to which you want ASSP to send a notification email after the rebuild task is finished. The file rebuildrun.txt is included in this
notification. Separate multiple entries by "|".
Rebuildspamdb-debug-output - create the file 'rebuilddebug.txt' to enable the debug mode - delete the file to stop the debug mode for the
rebuildspamdb task
Rebuildspamdb-debug-output
Notes On RebuildSpamdb
Notes
If defined, characterset conversion for inbound mails will be done. For example: if your email server does not understand UTF-8, ASSP will
convert the mail parts to the characterset of your choice. The rules specified here are used to convert text parts of inbound mails from one to
another characterset.
Example:UTF-8=>ISO-8859-1|ISO-8859-15=>ISO-8859-1
This requires an installed Email::MIME module in PERL.
This conversions are done for all (inbound,CC,report ..) mails except relayed mails. The converted mail will be not available on disk except
DEBUG.
If defined, characterset conversion for outbound mails will be done. For example: if your email server is unable to send mails in UTF-8, ASSP
will convert the mail parts to UTF-8. The rules specified here are used to convert text parts of outbound mails from one to another characterset.
Example:ISO-8859-1=>UTF-8|ISO-8859-2=>UTF-8|windows-1250=>UTF-8
This requires an installed Email::MIME module in PERL.
This conversions are done only for relayed mails!
Independent from the handshake format you can limit to set of accepted SSL versions by adding !version separated by ':'.
The default SSL_version is 'SSLv23:!SSLv3:!SSLv2' which means, that the handshake format is compatible to SSL2.0 and higher, but that the
successful handshake is limited to TLS1.0 and higher, that is no SSL2.0 or SSL3.0 because both of these versions have serious security issues
and should not be used anymore.
You can also use !TLSv1_1 and !TLSv1_2 to disable TLS versions 1.1 and 1.2 while still allowing TLS version 1.0.
Setting the version instead to 'TLSv1' might break interaction with older clients, which need a SSL2.0 compatible handshake. On the other side,
some clients just close the connection when they receive a TLS version 1.1 request. In this case setting the version to 'SSLv23:!SSLv2:!SSLv3:!
TLSv1_1:!TLSv1_2' might help.
If this option is set, the cipher list for the connection will be set to the given value, e.g. something like 'ALL:!LOW:!EXP:!ADH' or 'DEFAULT:!
aNULL:!RC4:!MD5'. Look into the OpenSSL documentation (http://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS) for
more details. Setting this value causes the 'SSL_honor_cipher_order' flag to be switched on (BEAST vulnerable)
If this option is not used (default) the IO::Socket::SSL builtin defaults are used, which are suitable for most cases.
This disables TLS/SSL on the defined listenPorts, if DoTLS is set to "do TLS". All other SMTP listeners will support TLS/SSL, if DoTLS is set to
"do TLS". This option works for listenPort , listenPort2 and relayPort . The listener definition here has to be the same like in the port
definitions. Separate multiple entries by "|".
Examples: 25, 127.0.0.1:25, 127.0.0.1:25|127.0.0.2:25
If a STARTTLS command is received on a port that is defined here, the connection will be moved in to the transparent proxy mode every time -
independent from the setting of DoTLS . This option works for listenPort , listenPort2 and relayPort . The listener definition here has to be
the same like in the port definitions. Separate multiple entries by "|".
Examples: 25, 127.0.0.1:25, 127.0.0.1:25|127.0.0.2:25
Optional parameter. If your private key ' SSLKeyFile ' is password protected, assp will need this password to decrypt the server's SSL private
key file.
Optional parameter to enable chained certificate validation at the client side. Full path to the file containing the server's SSL certificate
authority. If you provide the ca-certificate or certificate-chain together with the certificate file in the SSLCertFile parameter, leave this field
blank. For example : /usr/local/etc/ssl/certs/assp-ca.crt or c:/assp/certs/server-ca.crt. A general ca.crt file is already provided in
'c:/assp/certs/server-ca.crt'. The default value is empty and leave it empty as long as you don't know, how this parameter works.
Enter IP's that you want to exclude from starting SSL/TLS, separated by pipes (|). For example, put all IP's here, that making trouble to switch
to TLS every time, what will prevent ASSP from getting mails from or sending mails to this hosts.
Enter IP's that you want to exclude from being added to the SSL-failed-Cache, separated by pipes (|).
If used, assp will call the defined subroutine as SSL->SSL_verify_callback in an eval closure submitting the original ARRAY of parameters (see
the IO::Socket::SSL documentation).
The subroutine has to return 1 on certificate verification success - otherwise 0.
You can use/modify the module lib/CorrectASSPcfg.pm to implement your code. For example
sub checkWebSSLCert {
my ($OpenSSLSays,$CertStackPtr,$DN,$OpenSSLError, $Cert)=@_;
my $subject = Net::SSLeay::X509_NAME_oneline(Net::SSLeay::X509_get_subject_name($Cert));
my $chain = Net::SSLeay::PEM_get_string_X509($Cert);
...any code...;
my $success = eval{verify($Cert);};
return $OpenSSLSays if $@;
my $user = eval{get_owner($Cert);};
return $OpenSSLSays if $@;
If used, assp will call the defined subroutine in an eval closure submitting a reference to the assp predefined SSL-Socket-Configuration-HASH.
The HASH could be modified in place to your needs - please read the documentation of IO::Socket::SSL, Net::SSLeay and OpenSSL. Return
values are ignored.
You can use/modify the module lib/CorrectASSPcfg.pm to implement your code. For example
sub configWebSSL {
$parms = shift;
$parms->{timeout} = 10;
$parms->{'SSL_check_crl'} = 1;
$parms->{'SSL_crl_file'} = '/assp/certs/crl/crllist.pem';
return;
}
If used, assp will call the defined subroutine in an eval closure submitting a reference to the assp predefined SSL-Socket-Configuration-HASH.
Please follow the description for SSLWEBConfigure .
NOTICE: This option will possibly not work if you use any self signed certificate!
SMTP-Client requires valid SSL Certificate for SMTP SSL Connections (smtpSSLRequireClientCert)
If enabled, each client or server requesting a connection at the listenPortSSL requires a valid SSL client certificate. If no certificate is provided
by the client, the connection will fail! To extend the verification of the certificate, use SSLSMTPCertVerifyCB . Per default are used
'SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT | SSL_VERIFY_CLIENT_ONCE'
NOTICE: This option will possibly not work if you use any self signed certificate!
If used, assp will call the defined subroutine in an eval closure submitting a reference to the assp predefined SSL-Socket-Configuration-HASH.
Please follow the description for SSLWEBConfigure .
NOTICE: This option will possibly not work if you use any self signed certificate!
The Name of this global-client for registration on the global-server. This entry has to be the full qualified DNS-Name of the IP-address over
which ASSP is doing HTTP-requests! If you are using a HTTP-Proxy, this should be the public IP-address of the last Proxy in chain! This DNS-
Name has to be resolvable worldwide and the resolved IP-address has to match the ASSP-HTTP-connection-IP-address. It is not possible to use
an IP-address in this field! Dynamic DNS-Names like "yourdomain.dyndns.org" are supported!
To become a member of the exclusive global-penalty-box-users, you will need a subscription and you will have to pay a yearly maintenance fee.
To get registered and/or to get more information, please send an email with your personal/company details and the globalClientName to
"[email protected]".
The name of this client has to be known by the global server before it can be registered from here. Please wait until you have confirmation that
your client name is known by the global server.
If assp is unable to connect to the GPB-server for registration, check the IP - and - clientname relation! You may also try to set this parameter
to the value 'clean' one time - this will reset all GPB-internals and GPB-configuration parameters to there default value.
Make sure, the used assp version and the perl modules are uptodate!
In addition to Compress::Zlib this requires an installed LWP::UserAgent module in PERL.
If the global client is registered on the global-server, you will see a number of "*" in this field. This field is readonly.
The date of license/subscription expiration for this global client. If this date is exceeded, no upload and download of global PB will be done! This
field is readonly.
s
Runtime for Queued Requests (QueueSchedule)
0
Runtime hour for reports in QueueUserBlockReports. Set a number between 0 and 23. 0 means midnight and is default
If you are using more than one ASSP (backup MX), define the IP-address and relayPort (x.x.x.x:ppp - for SSL use SSL:x.x.x.x:ppp) of the
other ASSP here (separate multiple entries by "|"). The Blockreportrequest will be forwarded to this ASSP and the user will get a blockreport
from every ASSP. The forwarded request has the same sender and recipient like the original request. So EmailBlockReport and
EmailBlockReportDomain have to be configured identically on all ASSP!!!! Resend requests are automatic forwarded to the right (or next)
host, if ASSP finds the hostname in the subject of the request. If you have more than two ASSP, the logical sending structure must be a star. If
ASSP(A) (the sun) is in the middle and you have also ASSP(B), ASSP(C) and ASSP(D) (satellites), ASSP(A) should know C,B and D, and B,C and
D should only know A.
If a forward host is unreachable, the forward request will be queued for a maximum of 24 hours and the user will be informed sending the
'reports/blockreportforwarderror.txt' file.
The perl module Net::SMTP is required to use this feature (for SSL - Net::SMTP::SSL is required).
Email sent from ASSP acknowledging your submissions will be sent to this address. For example: [email protected]
A list of local addresses, which have the same rights like EmailAdmins, but only for all BlockReport functions (nothing else). Leave this field
blank (default), to disable this feature.
This is useful, if a user must request BlockReports or resend mails for other users like an EmailAdmin and BlockReportAdmin can do it, but
should not have other extended rights to use the EmailInterface.
Accepts specific addresses ([email protected]), user parts (user). Wildcards are supported (fribo*@domain.com).
For example: fribo*@thisdomain.com|jhanna
Use this parameter to restrict users registered in EmailAdmins, BlockReportAdmins, EmailAdminReportsTo and EmailBlockTo to a list of
domains or users, for which they can request BlockReports.
It is possible to use defined GROUPS on both sites. The file: option is required. Use the following syntax to define an entry (one per line):
EmailAdminAddress=>*@domain1,*@domain2,user@domain3,...
EmailAdminAddress1|EmailAdminAddress2=>*@domain1,*@domain2,user@domain3,...
[group_of_EmailAdminAddresses]=>*@domain1,*@domain2,user@domain3,...
[group_of_EmailAdminAddresses]=>[group_of_domains],...
Wildcards are allowed to be used only in the domain definition - like *@*.domain.tld - separate multiple domains by comma.
If an address of an EmailAdmin or BlockReportAdmin is defined multiple times, all entries are used in an "AND" logic.
If a BlockReport is requested for a not allowed email address, the complete BlockReport request will be ignored.
If an EmailAdmins or BlockReportAdmins address is not registered in this parameter, he/she is able to request BlockReports for all domains.
A list of local addresses, which are allowed to request a resend of blocked emails for other users, even they are not EmailAdmins or
BlockReportAdmins . Leave this field blank (default), to disable this feature.
This is useful, if a user gets automatic generated BlockReports (e.g via BlockReportFile ) for a group of users and should be able to manage
resends for them. Added here, the user is not allowed to request BlockReports for other users - in this case use EmailAdmins,
BlockReportAdmins and EmailAdminDomains instead.
The resend is done to the recipient stored in the X-Assp-Intended-For: ( requires AddIntendedForHeader ) header field and the requester, if
the address was found in a TO: header field.
Accepts specific addresses ([email protected]), user parts (user). Wildcards are supported (fribo*@domain.com).
For example: fribo*@thisdomain.com|jhanna
A file with BlockReport requests. ASSP will generate a block report for every line in this file (file:files/blockreportlist.txt - file: is required if
defined!) every day at midnight for the last day. The perl modules Net::SMTP and Email::MIME are required to use this feature. A report will
be only created, if there is at least one blocked email found! The syntax is:
QueryAddress=>ReportRecipient=>ReportDays - there are many possible combinations of this three parameters. For example:
user@domain and user@domain=>user@domain - will send a report for this user to this user
*@domain (better use) *@domain=>* - will send a report for every blocked user in this domain to this user
*@* - creates a report for all local users in all local domains
user@domain=>recipient@any-domain - will send a report for user@domain to recipient@any-domain
*@domain=>recipient@any-domain - will send a report for every blocked user in this domain to recipient@any-domain
It is possible to define a group ( Groups ) in the first parameter like:
[user@domain]=>recipient@any-domain
The group name must be a lower case email address of a local domain without any wildcard. This will create a combined block report for all
email addresses defined in this group - useful, if someone has multiple email addresses and want's to get a single report.
An optional third parameter can define the number of days for which the report should be created. The default (if empty or not defined) is one
day. This value is used to calculate the 'next run date'. For example:
*@domain=>recipient@any-domain=>2 - creates a report for two days.
*@domain=>*=>14 - creates a report for 14 days.
user@domain=>=>3 or user@domain=>*=>3 - creates a report for three days. The second parameter is here empty or *!
To overwrite the defined BlockReportFilter, you can define a fourth parameter, which contains the regular expression to use.
*@domain=>*=>14=>virus|newsletter - creates a report for 14 days and skips all lines that contains the words 'virus' or 'newsletter'.
A fifth parameter could be used to schedule (cron) a BlockReport. If this parameter is used, the line will be ignored at BlockReportSchedule.
For the syntax of the cron entry, please read RebuildSchedule . Multiple schedules in one line could be separated by pipe (|).
*@domain=>it_dep@domain=>7=>virus|newsletter=>0 0 * * 0 - creates a report every Sunday at 00:00 for the last seven days
*@domain=>it_dep@domain=>2=>virus|newsletter=>0 0 * * 2,4,6|0 12 * * 1 - creates a report every Tuesday,Thursday,Saturday at 00:00
and at every Monday at 12:00 for the last two days
Only Admins are able to request blockreports for non local email addresses. For example:
user@non_local_domain=>recipient@any-domain=>4
*@non_local_domain=>recipient@any-domain=>4
This will result in an extended blockreport for the non local address(es). Replace 'non_local_domain' with the domain name you want to query
for.
The hostname for HTTP(S) links in AdminUsers Blockreports. If not defined the local hostname will be used. do NOT define an IP address here!
List of users and domains that will get the left link only. The setting for BlockResendLink will be ignored for this entries!
List of users and domains that will get the right link only. The setting for BlockResendLink will be ignored for this entries!
The following OIDs (relative to the SNMPBaseOID) are available for SNMP-queries. The configuration values are changeable via snmp. The file
mib/ASSP-MIB could be used in SNMP browsers to get a human readable view of the OID's (copy it to the net-snmp MIB file location - eg:
[C:]/usr/share/snmp/mibs and the MIB location of your SNMP browser). Please keep in mind, that an extensive usage of SNMP queries will
slow down assp.
.1 - runtime information
.1.0 - assp healthy status boolean 0/1
.1.1 - assp healthy status text
.1.2 - ASSP runtime status boolean 0/1 0=shutdown in progress - 1=running
.1.3 - ASSP runtime status text
.1.4 - ASSP version string
.1.5 - ASSP script name
.1.6 - Perl version string
.1.7 - Perl executable name
.1.8 - operating system name
.1.9 - hostname where ASSP is running on
.1.10 - IP-host where ASSP is running on
.1.11 - myName
.1.12 - URL to new ASSP version download
.1.13 - currently running tasks
.1.14 - current assp memory usage in MB
.1.20 - schedule information
.1.20.1 - next BerkeleyDB sync
.1.20.2 - next scheduled Config reload
.1.20.3 - next BATVTag cache cleaning
.1.20.4 - next general cache cleaning
.1.20.5 - next IP-per-Domain cache cleaning
.1.20.6 - next DelayDB cache cleaning
.1.20.7 - next Penaltybox cache cleaning
.1.20.8 - next Database Backup
.1.20.9 - next Database Connection Check
.1.20.10 - next DNS Connection Check
.1.20.11 - next hourly job runs (at)
.1.20.12 - next Database Export
.1.20.13 - next upload for Global-Black
.1.20.14 - next upload for Global-White
.1.20.15 - next Hash-File-Check (option files)
.1.20.16 - next LDAP-cross-Check
.1.20.17 - next RebuildSpamDB
.1.20.18 - next ResendMail
.1.20.19 - next ASSPFileDownload (assp.pl)
.1.20.20 - next Version File Download (version.txt)
.1.20.21 - next BackDNS File Download
.1.20.22 - next Code Change Check
.1.20.23 - next Droplist Download
.1.20.24 - next Griplist Download
.1.20.25 - next POP3Collect
.1.20.26 - next Save Stats
.1.20.27 - next TLDlist Download
.1.20.28 - next Sync Config
.1.20.29 - next Groups File Reload
.1.20.30 - next BlockReport Schedule
.1.20.31 - next File Age Schedule
.1.20.32 - next BlockReport Queue Schedule
.2 - Configuration - X is the internal value number adapted from the language files
.2.H - heading description - H is the internal GUI heading number
.2.H.X - config value
The file with a valid POP3 configuration. Only the file: option is allowed to use.
If the file exists and contains at least one valid POP3 configuration line and POP3Interval is configured, assp will collect the messages from the
configured POP3-servers.
Each line in the config file contains one configuration for one user.
All spaces will be removed from each line.
Anything behind a # or ; is consider a comment.
If the same POP3-user-name is used multiple times, put two angles with a unique number behind the user name. The angles and the number
will be removed while processing the configuration.
e.g: pop3user<1> will result in pop3user - or - [email protected]<12> will result in [email protected]
It is possible to define commonly used parameters in a separate line, which begins with the case sensitive POP3-username "COMMON:=" -
followed by the parameters that should be used for every configured user.
A commonly set parameter could be overwritten in every user definition.
Each configuration line begins with the POP3-username followed by ":=" : e.g myPOP3userName:=
This statement has to be followed by pairs of parameter names and values which are separated by commas (,) - the pairs inside are separated
by an equal sign (=).
examples:
[email protected]:=POP3password=pop3_pass,POP3server=pop.gmail.com:995,SMTPsendto=demo@demo_smtp.local,POP3SSL=1,......
user1<1>:=POP3password=pop3_pass,POP3server=pop3.server.com:110,SMTPsendto=demo@demo_smtp.local,......
user1<2>:=POP3password=pop3_pass,POP3server=pop3.server2.com:110,SMTPsendto=demo@demo_smtp.local,......
The following case sensitive keywords are supported in the configuration file:
POP3password=pop3_password
POP3server=POP3-server or IP[:Port]
SMTPsender=email_address
SMTPsendto=email_address or <TO:> or <TO:email_address>
SMTPserver=SMTP-server[:Port]
SMTPHelo=myhelo
SMTPAUTHuser=smtpuser
SMTPAUTHpassword=smtppass
POP3SSL=0/1
SIZElimit=maximum number of bytes in a single message
s
POP3 Collecting Interval (POP3Interval)
0
The interval in minutes, assp should collect messages from the configured POP3-servers. A value of zero disables this feature.
Those definitions (notice the leading zip:) are only used inside compressed files.
The extension 'crypt-zip' could be used to allow or deni encrypted compressed attachments for users at any compression level.
The extension 'encrypt' could be used to allow or deni encrypted (eg. aes) for users.
If 'exe-bin' is defined, the Plugin will detect executable files based on there binary content. Detected will be all executables, libraries and scripts
for DOS and Windows (except .com files), MS office macros(VBA), MAC-OS and linux ELF (for all processor architectures).
If you want to skip the detection for a specific executable type, specify exe-bin (which detects all executables) and then add exceptions to
exclude specific types:Example: 'exe-bin|:MSOM|:WSH' - notice the single leading collon for the exceptions! This example will block all detected
executable files except for MS Office Macro files (:MSOM) and Windows Shell Scripts (:WSH)
The following compression formats are supported by the common perl module Archive::Extract:
tar.gz,tgz,gz,tar,zip,jar,ear,war,par,tbz,tbz2,tar.bz,tar.bz2,bz2,Z,lzma,txz,tar.xz,xz.
The detection of compressed files is done content based not filename extension based. The perl modules File::Type and MIME::Types are
required in every case!
Depending on your Perl distribution, it could be possible that you must install additionally 'IO::Compress::...' (for example:
IO::Compress:Lzma) modules to support the compression methodes with Archive::Extract.
If the perl module Archive::Rar and a rar or unrar binary for your OS are installed (in PATH), the RAR format is also supported.
If the perl module Archive::Rar and a 7z/7za/7zip or p7zip executable is available at the system (in PATH), the following formats are supported:
7z, XZ, BZIP2, BZ2, GZIP, GZ, TAR.GZ, TAR, ZIP, WIM, AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LHA, LZH,
LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR, Z.
If the perl module Archive::Libarchive::XS is available , the following formats are supported: 7z, XZ, BZIP2, BZ2, GZIP, GZ, TAR.GZ, TAR, ZIP,
WIM, AR, ARJ, CPIO, EXT, IHEX, ISO, LHA, LZH, LZMA, NSIS, QCOW2, RAR, RPM, SquashFS, UDF, XAR, Z.
You can increase the message score of a mail because of its size (in byte). Define the size and scores in a comma separated list using the
syntax 'size=>score[,othersize=>otherscore]'. The list will be processed in reversed numerical order of the size value. If the size of a mail is
equal or higher as the defined size, the associated message score will be added. An possible definition could be:
500000=>10,1000000=>5,1500000=>0
which meens: if the message size is >= 1500000 byte no score will be added
if the message size is >= 1000000 byte and < 1500000 byte a score of 5 will be added
if the message size is >= 500000 byte and < 1000000 byte a score of 10 will be added
if the message size is < 500000 byte no score will be added.
This feature will not process incomming mails, whitelisted mails and mail that are noprocessing - except mails, that are noprocessing only
because of there message size (npSize).
image\/
application\/pd[ft]
application\/zip
If the size of an undecoded attachment exceeds the ASSP_AFCinsize or ASSP_AFCoutsize parameter, assp will call this script and will
replace the attachment with the text returned by this script or executable.
If no text is returned by the script (a warning is written to the maillog.txt) or the returned text begins with the word "error", the attachment will
not be replaced.
The script has to write the resulting text or error to STDOUT.
The resulting text could be any of plain text or html code. The MIME-enconding and the Content-Type value of the resulting MIME-part will be
set accordingly.
The text should contain the link to download the attachment, possibly some explanation (eg. download life time), web login information or a
web-session-identifier - what ever is needed to fit the requirements of your web server.
You have to define the full path to the script and all parameters that should be pass to the script. The literal FILENAME will be replaced with the
attachment filename (including the full path) that was stored in the /transfer folder. Any literal starting with an '$', will be replaced by the
according connection hash value or the global variable with the name.
for example:
$relayok will be replaced by $Con->{relayok} - which identifies if it is an incoming (1) or outgoing/local (0) mail
The file has to be removed by the script. If not, assp will warn about this and will remove the file in the /transfer folder.
To keep the filenames unique, the assp message identifier is placed in front of the filename - like: M1-30438-02027_attachmentfilename.
Notice: if the filename contains unicode characters, assp will pass this characters in UTF-8 to your script!
Keep in mind, that if this script terminates it's own process - ASSP will die!
An "SMIME feature license" assigned to this host is required to use this feature!
Licenses are granted user based (10,50,100,250,500,1000) for a periode of two years.
An licensed user is an email address, that uses this feature at least one time, within the licensed periode.
For pricing information, please contact Thomas Eckardt via email or visit www.thockar.com .
Feature description:
This feature requires an installed Perl module Crypt::SMIME .
certfile - is required and specifys the full path to the certificate to use. The subject of the certificate has to include a valid email address. In
normal case, this email address is specified by the cert-subject-tag "emailAddress". The "FROM:" address in the mail header will be replaced by
this email address and a "Reply-To:" line with the original sender is added (or replaced) to the mail header.
If the subject of the certificate specifys the email address in another tag, define this tag (NOT the email address) after "emailaddress=".
keyfile - is required and specifys the full path to the file that contains the privat key
keypass - the tag is required, the value is optional - defines the password required (or not) for the privat key
examples:
The first example specifys a privat signing policy which exclude the recipient [email protected], the second and third example specifys a
corporate signing policy (with and without subdomains). The fourth example excludes the user "[email protected]" from SMIME processing.
The fives example excludes all subdomains of "your.domain" from SMIME processing. The last example excludes all domains, subdomains and
users defined in the group "[no_smime]" from SMIME processing.
After SMIME signing the mail, the related mail headers are the following:
The mail client of the recipient will validate the signature against the "From" address - which corresponds to the email address specified in the
subject of the certificate -> VALID
Pressing the "REPLY/ANSWER" button, the mail client will provide "[email protected]" as recipient address (To:) for the answer,
using the entry in the "Reply-To:" header.
Notice, that some bad and/or older mail clients are ignoring the "Reply-To:" header tag - in such case an answered mail will go to
"[email protected]".
ASSP will help you a bit to prevent this. In addition to the required mail header changes, assp will add or enhance the "References:" mail header
tag with a value of "assp-corp-smime-EMAILADDRESS" , where EMAILADDRESS is the original sender address.
If assp receives an answered mail, it will look for such an entry in the mail header and will add the found email address to the "To" header, if it
is not already found there.
If you are running dccifd on a second system, define the IP address or hostname and port of that daemon here. For example:
192.168.0.100:11111 or dccifd.mydomain.com:11111 . If this parameter is configured, the setting of ASSP_DCChomedir will be ignored!
Define the IP address that is used to authenticate assp at the dccifd here.
Define the hostname that is used to authenticate assp at the dccifd here.
example.com IN MX 10 mail.example.com
now, to adopt the "MX sandwich" (or Fake MX, as we call it) approach you'll need to add a couple MX records so, that the DNS will contain
something like
example.com IN MX 10 mx00.example.com
example.com IN MX 20 mail.example.com
example.com IN MX 90 mx99.example.com
Now comes the trick, the "mx00" will point to an IP address on which there isn't (and will NEVER be) a listener on 25/tcp; this means that any
connection attempted to mx00.example.com:25 will result into a TCP timeout error. The MX mail record (mail.example.com) will point to the
real listenPort (and there may be more by the way) and the mx99, that is the last MX will point to another listenPort and to
ASSP_FakeMXFakeMX
Now the question - how will such a construct (the MX sandwitch) prevent spam?
Real mail servers will try to connect to mx00.example.com first. This will fail and they will next try mail.example.com , because it is the next MX
in order, where they can connect and deliver the mail.
Some spam bots may also try to connect to mx00.example.com. This will also fail. But most spam bots never try a second MX - this is what we
want - no bot - no spam.
A second type of spam bots are connecting to MX records in revers order. They connect to mx99.example.com first - which is a fault. The IP will
get the configured score ( ASSP_FakeMXValencePB ). Future connections (even at the right MX records) from this IP can be blocked by the
PenaltyBox or DelayIP.
NoProcessing IP's and senders can use the FakeMX without any blocking.
Whitelisted IP's and senders can use the FakeMX without any blocking as long as procWhiteASSP_FakeMX is not set.
ISP IP's can use the FakeMX without any blocking.
IP's listed in acceptAllMail can use the FakeMX without any blocking.
NOTICE: If you set this option to "block" and TestASSP_FakeMX is switched "OFF" - YOU NEED to switch "OFF" EnableDelaying FIRST !
The FakeMX for a MX sandwitch - must be predefined the same way in listenPort and here .
default edit
readme
For defining any full filepaths, always use slashes ("/") not backslashes. For example: c:/assp/certs/server-key.pem !
s
Fields marked with one small ( ) - which are interval definitions - accept a single or a list of crontab entries separated by '|'. Such entries
could be used to flexible schedule the configured task. Schedule definitions requires an installed Schedule::Cron module in PERL.
Time and Date specification
Entry is the specification of the scheduled time in crontab format, which contains five mandatory time and date fields. Entry can be either a
plain string, which contains a whitespace separated time and date specification.
The time and date fields are (taken mostly from "Vixie" cron):
field values
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or as names)
day of week 0-7 (0 or 7 is Sunday, or as names )
seconds 0-59 (optional) not supported inside ASSP !!!
Fields marked with at least one asterisk (*) accept a list separated by '|' (for example: abc|def|ghi) or a file designated as follows (path
relative to the ASSP directory): 'file:files/filename.txt'. Putting in the file: will prompt ASSP to put up a button to edit that file. files is the
subdirectory for files. The file does not need to exist, you can create it by saving it from the editor within the UI. The file must have one
entry per line; anything on a line following a number sign or a semicolon ( # ;) is ignored (a comment).
It is possible to include custom-designed files at any line of such a file, using the following directive
# include filename
where filename is the relative path (from c:/assp) to the included file like files/inc1.txt or inc1.txt (one file per line). The line will be
internaly replaced by the contents of the included file!
Fields marked with two asterisk (**) contains regular expressions (regex) and accept a second weight value. Every weighted regex that
contains at least one '|' has to begin and end with a '~' - inside such regexes it is not allowed to use a tilde '~', even it is escaped - for
example: ~abc\~|def~=>23 or ~abc~|def~=>23 - instead use the octal (\126) or hex (\x7E) notation , for example ~abc\126|def~=>23
or ~abc\x7E|def~=>23 . Every weighted regex has to be followed by '=>' and the weight value. For example:
Phishing\.=>1.45|~Heuristics|Email~=>50 or ~(Email|HTML|Sanesecurity)\.(Phishing|Spear|(Spam|Scam)[a-z0-9]?)
\.~=>4.6|Spam=>1.1|~Spear|Scam~=>2.1 . The multiplication result of the weight and the penaltybox valence value will be used for
scoring, if the absolute value of weight is less or equal 6. Otherwise the value of weight is used for scoring. It is possible to define negative
values to reduce the resulting message score.
For all "bomb*" regular expressions and "blackRe", "scriptRe", "invalidFormatHeloRe", "invalidPTRRe" and "invalidMsgIDRe" it is possible to
define a third parameter (to overwrite the default options) after the weight like: Phishing\.=>1.45|~Heuristics|Email~=>50:>N[+-]W[+-]L
[+-]I[+-]. The characters and the optional to use + and - have the following functions:
use this regex (+ = only)(- = never) for: N = noprocessing , W = whitelisted , L = local , I = ISP mails . So the line
~Heuristics|Email~=>50:>N-W-LI could be read as: take the regex with a weight of 50, never scan noprocessing mails, never scan
whitelisted mails, scan local mails and mails from ISP's (and all others). The line ~Heuristics|Email~=>3.2:>N-W+I could be read as: take
the regex with a weight of 3.2 as factor, never scan noprocessing mails, scan only whitelisted mails even if they are received from an ISP .
If the third parameter is not set or any of the N,W,L,I is not set, the default configuration for the option will be used unless a default option
string is defined anywhere in a single line in the file in the form !!!NWLI!!! (with + or - is possible).
If any parameter that allowes the usage of weighted regular expressions is set to "block", but the sum of the resulting weighted penalty
value is less than the corresponding "Penalty Box Valence Value" (because of lower weights) - only scoring will be done!
If the regular expression optimization is used - ("perl module Regexp::Optimizer" installed and enabled) - and you want to disable the
optimization for a special regular expression (file based), set one line (eg. the first one) to a value of 'assp-do-not-optimize-regex' or 'a-d-
n-o-r' (without the quotes)! To disable the optimization for a specific line/regex, put <<< in front and >>> at the end of the line/regex. To
weight such line/regex write for example: <<<Phishing\.>>>=>1.45=>N- or ~<<<Heuristics|Email>>>~=>50 or ~<<<
(Email|HTML|Sanesecurity)\.(Phishing|Spear|(Spam|Scam)[a-z0-9]?)\.>>>~=>4.6 .
Using Perl 5.12 or higher, assp supports the usage of unicode block, unicode script and unicode character definitions in regular expressions,
llke: \P{Balinese} \p{Script:Greek} \P{Hebrew} \p{script=katakana} \N{greek:Sigma} \x{263a}
It is recommended to switch off the regular expression optimization, if a unicode regular expression definition is used (at least for the line,
where it is used)!
The literal 'SESSIONID' will be replaced by the unique message logging ID in every SMTP error reply.
The literal 'IPCONNECTED' will be replaced by the connected IP address in every SMTP error reply.
The literal 'IPORIGIN' will be replaced by the origin IP address in every SMTP error reply.
The literal 'NOTSPAMTAG' will be replaced by a random calculated TAG using NotSpamTag, in every SMTP permanent (5xx) error reply.
The literal 'MYNAME' will be replaced by the configuration value defined in 'myName' in every SMTP error reply.
If you define any SMTP-reply-code (like for example SpamError) as a temporary reply code (starting with 4 like 452 instead of the
default 5 like 550), the connection will be dropped at it's current state, regardless any collection or forwarding setting. These actions
may finished incomplete in this case!
If the internal name is shown in light blue like (uniqueIDPrefix) , this indicates that the configured value differs from the default value. To
show the default value, move the mouse over the internal name. A click on the internal name will reset the value to the default.
IP ranges are defined as for example 182.82.10. CIDR notation is accepted (182.82.10.0/24). Hyphenated ranges can be used
(182.82.10.0-182.82.10.255).
Text after the range (and before a number sign) will be accepted as comment to be shown in a match. For example:
182.82.10.0/24 Yahoo #comment to be removed
The short notation like 182.82.10. is only allowed for IPv4 addresses, IPv6 addresses must be fully defined as for example 2201:1::1 or
2201:1::/96
You may define a hostname instead of an IP, in this case the hostname will be replaced by all DNS-resolved IP-addresses, each with a /32
or /128 netmask. For example:
mta5.am0.yahoodns.net Yahoo #comment to be removed -> 66.94.238.147/32 Yahoo|... Yahoo|... Yahoo
'kill -HUP 4156' will load settings from disk. 'kill -NUM07 4156' will suspend or resume assp. 'kill -USR2 4156' will save settings to disk.
A
acceptAllMail - Network Setup, Limits and DKIM signing for AddConfidenceHeader - Hidden Markov Model and Bayesian
Relaying, Outgoing and Local Mail Options
AddDKIMHeader - Validate Sender - Addresses, Domains,
AddCustomHeader - SPAM Control
MsgID, PTR, MX and DKIM
AddIntendedForHeader - SPAM Control AddLevelHeader - SPAM Control
AddRBLHeader - DNSBL - RBL Validation AddRegexHeader - Logging and Notifications
AddRWLHeader - Whitelisting and RWL(DNSWL) AddScoringHeader - PenaltyBox - Message and IP Scoring
AddSpamProbHeader - Hidden Markov Model and Bayesian
AddSpamHeader - SPAM Control
Options
AddSpamReasonHeader - SPAM Control AddSPFHeader - Validate SPF, DMARC and SRS
AddSubjectHeader - SPAM Control AddURIBLHeader - URIBL and Obfuscation Detection
AddURIS2MyHeader - URIBL and Obfuscation Detection adminusersdb - File Paths and Database
adminusersdbNoBIN - File Paths and Database adminusersdbpass - File Paths and Database
ALARMtimeout - General Server Setup allLogRe - Logging and Notifications
allowAdminConnectionsFrom - General Server Setup AllowedDupSubjectRe - Collecting SPAM and HAM
AllowInternalsInRegex - Perl Regular Expression Filter and allowRelayCon - Network Setup, Limits and DKIM signing for
Spambomb Detection Relaying, Outgoing and Local Mail
allowStatConnectionsFrom - General Server Setup allTestMode - TestModes and SPAM Tagging
AsADaemon - General Server Setup ASSP_AFCblockEncryptedZIP - ASSP_AFC-Plugin
ASSP_AFCDetectSpamAttachRe - ASSP_AFC-Plugin ASSP_AFCinsize - ASSP_AFC-Plugin
ASSP_AFCMaxZIPLevel - ASSP_AFC-Plugin ASSP_AFCMSGSIZEscore - ASSP_AFC-Plugin
ASSP_AFCoutsize - ASSP_AFC-Plugin ASSP_AFCPriority - ASSP_AFC-Plugin
ASSP_AFCReplBadAttach - ASSP_AFC-Plugin ASSP_AFCReplBadAttachText - ASSP_AFC-Plugin
ASSP_AFCReplViriParts - ASSP_AFC-Plugin ASSP_AFCReplViriPartsText - ASSP_AFC-Plugin
ASSP_AFCSelect - ASSP_AFC-Plugin ASSP_AFCSMIME - ASSP_AFC-Plugin
ASSP_AFCWebScript - ASSP_AFC-Plugin ASSP_DCCClientIP - ASSP_DCC-Plugin
ASSP_DCCClientName - ASSP_DCC-Plugin ASSP_DCCdccifd - ASSP_DCC-Plugin
ASSP_DCChomedir - ASSP_DCC-Plugin ASSP_DCCLog - ASSP_DCC-Plugin
ASSP_DCCLogTo - ASSP_DCC-Plugin ASSP_DCCPriority - ASSP_DCC-Plugin
ASSP_DCCReportToDCC - ASSP_DCC-Plugin ASSP_DCCTimeout - ASSP_DCC-Plugin
ASSP_DCCValencePB - ASSP_DCC-Plugin ASSP_FakeMXFakeMX - ASSP_FakeMX-Plugin
ASSP_FakeMXLog - ASSP_FakeMX-Plugin ASSP_FakeMXLogTo - ASSP_FakeMX-Plugin
ASSP_FakeMXPriority - ASSP_FakeMX-Plugin ASSP_FakeMXValencePB - ASSP_FakeMX-Plugin
ASSP_OCRExec - ASSP_OCR-Plugin ASSP_OCRLog - ASSP_OCR-Plugin
ASSP_OCRocrmaxprocesses - ASSP_OCR-Plugin ASSP_OCRocrmaxsize - ASSP_OCR-Plugin
ASSP_OCRPriority - ASSP_OCR-Plugin ASSP_RazorLog - ASSP_Razor-Plugin
ASSP_RazorLogTo - ASSP_Razor-Plugin ASSP_RazorMaxNotSpamConf - ASSP_Razor-Plugin
ASSP_RazorPriority - ASSP_Razor-Plugin ASSP_RazorValencePB - ASSP_Razor-Plugin
asspCfg - General Server Setup asspCfgVersion - General Server Setup
asspCpuAffinity - General Server Setup asspLog - Logging and Notifications
atSpamLovers - SPAM Lover and SPAM Hater AttachmentError - Attachment Validation and Protection
AttachmentLog - Logging and Notifications attachTestMode - TestModes and SPAM Tagging
AUTHrequireTLS - Network Setup for Incoming Mail and
AUTHUserIPfrequency - SMTP Session Limits
Authentication
autoCorrectCorpus - Rebuild Hidden Markov Model and Bayesian
autoAddResendToWhite - Block Reporting - Schedule and Instant
Database
AutoReloadCfg - General Server Setup AutoRestart - General Server Setup
AutoRestartAfterCodeChange - General Server Setup AutoRestartCmd - General Server Setup
autoRestartDiedThreads - General Server Setup AutoUpdateASSP - General Server Setup
AvClamdPort - Virus Protection using ClamAV and OS-
autValencePB - PenaltyBox - Message and IP Scoring
FileScanner
AvError - Virus Protection using ClamAV and OS-FileScanner
B
Back250OKISP - Outgoing Message Tagging, NDR Validation and
Backscatter Detection
BackDNSInterval - Outgoing Message Tagging, NDR Validation
BackLog - Collecting SPAM and HAM
and Backscatter Detection
BacksctrLog - Logging and Notifications
D
DataBaseDebug - Logging and Notifications DBCacheMaxAge - File Paths and Database
DBdriver - File Paths and Database debug - Logging and Notifications
debugCode - Logging and Notifications debugIP - Logging and Notifications
debugNoWriteBody - Logging and Notifications debugRe - Logging and Notifications
defaultLocalHost - Network Setup, Limits and DKIM signing for
DebugSPF - Validate SPF, DMARC and SRS
Relaying, Outgoing and Local Mail
DelayAddHeader - Delaying - Greylisting delaydb - File Paths and Database
DelayEmbargoTime - Delaying - Greylisting DelayError - Delaying - Greylisting
DelayExpireOnSpam - Delaying - Greylisting DelayExpiryTime - Delaying - Greylisting
DelayIP - IP Blocking DelayIPTime - IP Blocking
DelayLog - Logging and Notifications DelayMD5 - Delaying - Greylisting
DelayNormalizeVERPs - Delaying - Greylisting DelayNP - Delaying - Greylisting
DelayShowDB - Delaying - Greylisting DelayShowDBwhite - Delaying - Greylisting
DelaySL - Delaying - Greylisting delaySpamLovers - SPAM Lover and SPAM Hater
DelayUseNetblocks - Delaying - Greylisting DelayWaitTime - Delaying - Greylisting
DelayWithMyName - Delaying - Greylisting DelayWL - Delaying - Greylisting
DelResendSpam - Block Reporting - Schedule and Instant denySMTPConnectionsFrom - IP Blocking
denySMTPConnectionsFromAlways - IP Blocking denySMTPLog - Logging and Notifications
denySMTPstrictEarly - IP Blocking detectMailLoop - SMTP Session Limits
DisableExtAUTH - Network Setup for Incoming Mail and DisableSMTPNetworking - Network Setup for Incoming Mail and
Authentication Authentication
DisableVRFY - Local Recipients and Domains & Transparent
discarded - File Paths and Database
Recipients and Domains
DKIMCacheInterval - Validate Sender - Addresses, Domains, DKIMgenConfig - Network Setup, Limits and DKIM signing for
MsgID, PTR, MX and DKIM Relaying, Outgoing and Local Mail
DKIMLog - Collecting SPAM and HAM DKIMlogging - Logging and Notifications
dkimOkValencePB - PenaltyBox - Message and IP Scoring dkimTestMode - TestModes and SPAM Tagging
dkimValencePB - PenaltyBox - Message and IP Scoring DMARCReportFrom - Validate SPF, DMARC and SRS
dnsLocalIPAddress - DNS-Client Setup DNSResponseLog - DNS-Client Setup
DNSretrans - DNS-Client Setup DNSretry - DNS-Client Setup
DNSReuseSocket - DNS-Client Setup DNSServerLimit - DNS-Client Setup
DNSServers - DNS-Client Setup DNStimeout - DNS-Client Setup
DoAdditionalAnalyze - Email Interface for Reports and List Control DoASSP_AFC - ASSP_AFC-Plugin
DoASSP_DCC - ASSP_DCC-Plugin DoASSP_FakeMX - ASSP_FakeMX-Plugin
DoASSP_OCR - ASSP_OCR-Plugin DoASSP_Razor - ASSP_Razor-Plugin
DoBackSctr - Outgoing Message Tagging, NDR Validation and DoBATV - Outgoing Message Tagging, NDR Validation and
Backscatter Detection Backscatter Detection
DoBlackDomain - Validate Sender - Addresses, Domains,
DoBayesian - Hidden Markov Model and Bayesian Options
MsgID, PTR, MX and DKIM
DoBlackDomainNP - Validate Sender - Addresses, Domains, DoBlackDomainWL - Validate Sender - Addresses, Domains,
MsgID, PTR, MX and DKIM MsgID, PTR, MX and DKIM
E
EmailAdminDomains - Block Reporting - Schedule and Instant
EmailAdmins - Email Interface for Reports and List Control
F
fbmtvValencePB - PenaltyBox - Message and IP Scoring fhTestMode - TestModes and SPAM Tagging
G
genDKIM - Network Setup, Limits and DKIM signing for Relaying,
globalBlackExpiration - Global PenaltyBox Network
Outgoing and Local Mail
globalClientLicDate - Global PenaltyBox Network globalClientName - Global PenaltyBox Network
globalClientPass - Global PenaltyBox Network globalValencePB - Global PenaltyBox Network
globalWhiteExpiration - Global PenaltyBox Network GoodAttach - Attachment Validation and Protection
GPBautoLibUpdate - Global PenaltyBox Network GPBDownloadLists - Global PenaltyBox Network
GreedyWhitelistAdditions - Whitelisting and RWL(DNSWL) griplist - File Paths and Database
gripValencePB - PenaltyBox - Message and IP Scoring Groups - Group Definition for IP's , Users and Domains
GroupsReloadEvery - Group Definition for IP's , Users and
groupSpamLovers - SPAM Lover and SPAM Hater
Domains
H
HeaderMaxLength - SMTP Session Limits heloBlacklistIgnore - Validate HELO and EHLO
hideAlphaIndex - General Server Setup HideIPandHelo - General Server Setup
hiSpamLovers - SPAM Lover and SPAM Hater hlSpamHaters - SPAM Lover and SPAM Hater
hlSpamLovers - SPAM Lover and SPAM Hater hlTestMode - TestModes and SPAM Tagging
hlValencePB - PenaltyBox - Message and IP Scoring HMMhamValencePB - PenaltyBox - Message and IP Scoring
HMMlocalValencePB - PenaltyBox - Message and IP Scoring HMMusesBDB - Hidden Markov Model and Bayesian Options
HMMValencePB - PenaltyBox - Message and IP Scoring host2IPminTTL - DNS-Client Setup
httpLocalIPAddress - General Server Setup httpRequireCookies - General Server Setup
I
iaValencePB - PenaltyBox - Message and IP Scoring idleValencePB - PenaltyBox - Message and IP Scoring
idValencePB - PenaltyBox - Message and IP Scoring ifValencePB - PenaltyBox - Message and IP Scoring
ignoreDBVersionMissMatch - Hidden Markov Model and Bayesian
IgnoreMIMEErrors - Logging and Notifications
Options
ihTestMode - TestModes and SPAM Tagging ihValencePB - PenaltyBox - Message and IP Scoring
importDBDir - File Paths and Database ImportMysqlDB - File Paths and Database
inChrSetConv - CharacterSet Conversions and TNEF Processing inclResendLink - Block Reporting - Schedule and Instant
incomingOkMail - File Paths and Database IndexSlideSpeed - General Server Setup
InternalAddresses - Local Recipients and Domains & Transparent InternalAndWhiteAddresses - Local Recipients and Domains &
Recipients and Domains Transparent Recipients and Domains
invalidFormatHeloRe - Validate HELO and EHLO invalidHeloLog - Collecting SPAM and HAM
invalidMsgIDRe - Validate Sender - Addresses, Domains, MsgID,
invalidHeloRe - Validate HELO and EHLO
PTR, MX and DKIM
invalidPTRRe - Validate Sender - Addresses, Domains, MsgID,
IOEngine - General Server Setup
PTR, MX and DKIM
iplValencePB - PenaltyBox - Message and IP Scoring ipmatchLogging - Logging and Notifications
ispgripvalue - Network Setup, Limits and DKIM signing for
irValencePB - PenaltyBox - Message and IP Scoring
Relaying, Outgoing and Local Mail
ispHostnames - Network Setup, Limits and DKIM signing for ispip - Network Setup, Limits and DKIM signing for Relaying,
Relaying, Outgoing and Local Mail Outgoing and Local Mail
isShareMaster - Configuration Synchronization and Sharing isShareSlave - Configuration Synchronization and Sharing
isSpamLovers - SPAM Lover and SPAM Hater isValencePB - PenaltyBox - Message and IP Scoring
L
LDAPcrossCheckInterval - LDAP Setup LDAPFail - LDAP Setup
LDAPFilter - LDAP Setup LDAPHost - LDAP Setup
ldaplistdb - File Paths and Database ldapLocalIPAddress - LDAP Setup
LDAPLog - Logging and Notifications LDAPLogin - LDAP Setup
LDAPPassword - LDAP Setup LDAPRoot - LDAP Setup
LDAPShowDB - LDAP Setup LDAPtimeout - LDAP Setup
ldLDAP - Network Setup, Limits and DKIM signing for Relaying,
LDAPVersion - LDAP Setup
Outgoing and Local Mail
ldLDAPFilter - LDAP Setup ldLDAPRoot - LDAP Setup
listenPort2 - Network Setup for Incoming Mail and
listenPort - Network Setup for Incoming Mail and Authentication
Authentication
listenPortSSL - Network Setup for Incoming Mail and LocalAddresses_Flat - Local Recipients and Domains &
Authentication Transparent Recipients and Domains
LocalAddresses_Flat_Domains - Local Recipients and Domains & LocalAddressesNP - Local Recipients and Domains &
Transparent Recipients and Domains Transparent Recipients and Domains
localBackDNSFile - Outgoing Message Tagging, NDR Validation localDomains - Local Recipients and Domains & Transparent
and Backscatter Detection Recipients and Domains
LocalFrequencyInt - Network Setup, Limits and DKIM signing for LocalFrequencyNumRcpt - Network Setup, Limits and DKIM
Relaying, Outgoing and Local Mail signing for Relaying, Outgoing and Local Mail
LocalFrequencyOnly - Network Setup, Limits and DKIM signing for LocalPenaltyMessageLimit - PenaltyBox - Message and IP
Relaying, Outgoing and Local Mail Scoring
LocalPenaltyMessageLow - PenaltyBox - Message and IP Scoring LocalPolicySPF - Validate SPF, DMARC and SRS
LogDateFormat - Logging and Notifications LogDateLang - Logging and Notifications
logfile - File Paths and Database LogNameDate - Logging and Notifications
LogRollDays - Logging and Notifications
M
maillogExt - File Paths and Database
MaillogTailBytes - General Server Setup MaillogTailJump - General Server Setup
MaintBayesCollection - Collecting SPAM and HAM MaintenanceLog - Logging and Notifications
MaintThreadCycleTime - General Server Setup MaxAllowedDups - Collecting SPAM and HAM
MaxAUTHErrors - SMTP Session Limits MaxBayesFileAge - Collecting SPAM and HAM
maxBombSearchTime - Perl Regular Expression Filter and
maxBayesValues - Hidden Markov Model and Bayesian Options
Spambomb Detection
MaxBytes - Collecting SPAM and HAM MaxCorrectedDays - Collecting SPAM and HAM
maxDampingTime - PenaltyBox - Message and IP Scoring maxDNSRespDist - DNS-Client Setup
MaxDupRcpt - Local Recipients and Domains & Transparent
MaxEqualXHeader - SMTP Session Limits
Recipients and Domains
MaxErrors - SMTP Session Limits MaxFileAgeSchedule - Collecting SPAM and HAM
MaxFileNameLength - Collecting SPAM and HAM MaxFiles - Collecting SPAM and HAM
MaxKeepDeleted - Rebuild Hidden Markov Model and Bayesian
MaxFinConWaitTime - General Server Setup
Database
MaxLDAPlistDays - LDAP Setup MaxLogAge - File Paths and Database
MaxLogAgeSchedule - File Paths and Database MaxNoBayesFileAge - Collecting SPAM and HAM
maxRealSize - SMTP Session Limits MaxRealSizeAdr - SMTP Session Limits
maxRealSizeError - SMTP Session Limits maxRealSizeExternal - SMTP Session Limits
MaxRealSizeExternalAdr - SMTP Session Limits maxSize - SMTP Session Limits
MaxSizeAdr - SMTP Session Limits maxSizeError - SMTP Session Limits
maxSizeExternal - SMTP Session Limits MaxSizeExternalAdr - SMTP Session Limits
maxSMTPdomainIP - IP Blocking maxSMTPdomainIPExpiration - IP Blocking
maxSMTPdomainIPWL - IP Blocking maxSMTPipConnects - IP Blocking
maxSMTPipDuration - IP Blocking maxSMTPipExpiration - IP Blocking
maxSMTPipSessions - SMTP Session Limits maxSMTPSessions - SMTP Session Limits
maxSubjectLength - Perl Regular Expression Filter and Spambomb MaxVRFYErrors - Local Recipients and Domains & Transparent
Detection Recipients and Domains
MaxWhitelistDays - Whitelisting and RWL(DNSWL) mdrValencePB - PenaltyBox - Message and IP Scoring
MemoryUsageCheckSchedule - General Server Setup MemoryUsageLimit - General Server Setup
MessageLog - Logging and Notifications meValencePB - PenaltyBox - Message and IP Scoring
N
newReportedInterval - Rebuild Hidden Markov Model and
neverQueueSize - General Server Setup
Bayesian Database
noAUTHHeloRe - Network Setup for Incoming Mail and NoAUTHlistenPorts - Network Setup for Incoming Mail and
Authentication Authentication
NoAutoWhite - Whitelisting and RWL(DNSWL) NoAutoWhiteAdresses - Whitelisting and RWL(DNSWL)
noBackSctrAddresses - Outgoing Message Tagging, NDR noBackSctrIP - Outgoing Message Tagging, NDR Validation and
Validation and Backscatter Detection Backscatter Detection
noBackSctrRe - Outgoing Message Tagging, NDR Validation and
noBanFailedSSLIP - SSL Proxy and TLS support
Backscatter Detection
noBayesian - Hidden Markov Model and Bayesian Options noBayesian_local - Hidden Markov Model and Bayesian Options
noBombScript - Perl Regular Expression Filter and Spambomb
noBlockingIPs - IP Blocking
Detection
noCollecting - Collecting SPAM and HAM noCollectRe - Collecting SPAM and HAM
NoCountryCodeRe - SenderBase and WhoisIP noDelay - Delaying - Greylisting
noDKIMAddresses - Validate Sender - Addresses, Domains,
noDelayAddresses - Delaying - Greylisting
MsgID, PTR, MX and DKIM
noDKIMIP - Validate Sender - Addresses, Domains, MsgID, PTR,
noDMARCDomain - Validate SPF, DMARC and SRS
MX and DKIM
noDMARCReportDomain - Validate SPF, DMARC and SRS NoExternalSpamProb - SPAM Control
noExtremePB - PenaltyBox - Message and IP Scoring noExtremePBAddresses - PenaltyBox - Message and IP Scoring
nofromValencePB - PenaltyBox - Message and IP Scoring noGriplistDownload - SPAM Control
noGriplistUpload - SPAM Control noHelo - Validate HELO and EHLO
nolocalDomains - Network Setup, Limits and DKIM signing for NoLocalFrequency - Network Setup, Limits and DKIM signing for
Relaying, Outgoing and Local Mail Relaying, Outgoing and Local Mail
NoLocalFrequencyIP - Network Setup, Limits and DKIM signing for
noLog - Logging and Notifications
Relaying, Outgoing and Local Mail
noLogLineRe - Logging and Notifications noLogRe - Logging and Notifications
NoMaillog - Collecting SPAM and HAM noMaxAUTHErrorIPs - SMTP Session Limits
noMaxSMTPSessions - SMTP Session Limits noModuleAutoUpdate - General Server Setup
noMsgID - Validate Sender - Addresses, Domains, MsgID, PTR, noMSGIDsigRe - Outgoing Message Tagging, NDR Validation
MX and DKIM and Backscatter Detection
NoNotifyRe - Logging and Notifications NonSpamLog - Collecting SPAM and HAM
noPB - PenaltyBox - Message and IP Scoring noPBwhite - PenaltyBox - Message and IP Scoring
noProcessing - No Processing - IP's, Domains, Addresses and
noPenaltyMakeTraps - PenaltyBox - Message and IP Scoring
Limits
noProcessingDomains - No Processing - IP's, Domains, Addresses noProcessingFrom - No Processing - IP's, Domains, Addresses
and Limits and Limits
noProcessingIPs - No Processing - IP's, Domains, Addresses and
noProcessingLog - Collecting SPAM and HAM
Limits
noRedMSGIDsig - Outgoing Message Tagging, NDR Validation
noRBL - DNSBL - RBL Validation
and Backscatter Detection
NoRelaying - Network Setup, Limits and DKIM signing for
normalizeUnicode - General Server Setup
Relaying, Outgoing and Local Mail
noRWL - Whitelisting and RWL(DNSWL) noScan - Virus Protection using ClamAV and OS-FileScanner
noScanIP - Virus Protection using ClamAV and OS-FileScanner NoScanRe - Virus Protection using ClamAV and OS-FileScanner
noSpoofingCheckDomain - Validate Sender - Addresses,
noSPFRe - Validate SPF, DMARC and SRS
Domains, MsgID, PTR, MX and DKIM
noSRS - Validate SPF, DMARC and SRS
O
okValencePB - PenaltyBox - Message and IP Scoring
onlyAUTHHeloRe - Network Setup for Incoming Mail and onlySpoofingCheckDomain - Validate Sender - Addresses,
Authentication Domains, MsgID, PTR, MX and DKIM
onlySpoofingCheckIP - Validate Sender - Addresses, Domains,
OrderedTieHashTableSize - General Server Setup
MsgID, PTR, MX and DKIM
outChrSetConv - CharacterSet Conversions and TNEF Processing
P
pbdb - File Paths and Database
pbeValencePB - PenaltyBox - Message and IP Scoring pbSpamLovers - SPAM Lover and SPAM Hater
pbTestMode - TestModes and SPAM Tagging PBTrapInterval - PenaltyBox - Message and IP Scoring
pbValencePB - PenaltyBox - Message and IP Scoring pbwValencePB - PenaltyBox - Message and IP Scoring
PenaltyDuration - PenaltyBox - Message and IP Scoring PenaltyError - PenaltyBox - Message and IP Scoring
PenaltyExpiration - PenaltyBox - Message and IP Scoring PenaltyExtreme - PenaltyBox - Message and IP Scoring
PenaltyExtremeLog - Logging and Notifications PenaltyLimit - PenaltyBox - Message and IP Scoring
PenaltyLog - Logging and Notifications PenaltyMakeTraps - PenaltyBox - Message and IP Scoring
PenaltyMessageLimit - PenaltyBox - Message and IP Scoring PenaltyMessageLow - PenaltyBox - Message and IP Scoring
PenaltyTrapPolite - PenaltyBox - Message and IP Scoring PenaltyUseNetblocks - PenaltyBox - Message and IP Scoring
persblackdb - File Paths and Database pidfile - File Paths and Database
POP3ConfigFile - POP3 Collecting POP3debug - POP3 Collecting
POP3fork - POP3 Collecting POP3Interval - POP3 Collecting
PopB4SMTPFile - Network Setup, Limits and DKIM signing for
POP3KeepRejected - POP3 Collecting
Relaying, Outgoing and Local Mail
PopB4SMTPMerak - Network Setup, Limits and DKIM signing for poTestMode - No Processing - IP's, Domains, Addresses and
Relaying, Outgoing and Local Mail Limits
preHeaderRe - Perl Regular Expression Filter and Spambomb
PreAllocMem - General Server Setup
Detection
processOnlyAddresses - No Processing - IP's, Domains,
preventBulkImport - File Paths and Database
Addresses and Limits
procWhiteASSP_DCC - ASSP_DCC-Plugin procWhiteASSP_FakeMX - ASSP_FakeMX-Plugin
procWhiteASSP_OCR - ASSP_OCR-Plugin procWhiteASSP_Razor - ASSP_Razor-Plugin
ProxyConf - Network Setup for Incoming Mail and Authentication proxypass - General Server Setup
proxyserver - General Server Setup proxyuser - General Server Setup
ptiValencePB - PenaltyBox - Message and IP Scoring ptmValencePB - PenaltyBox - Message and IP Scoring
PTRCacheInterval - Validate Sender - Addresses, Domains,
ptrSpamLovers - SPAM Lover and SPAM Hater
MsgID, PTR, MX and DKIM
ptrTestMode - TestModes and SPAM Tagging
Q
QueueSchedule - Block Reporting - Schedule and Instant
QueueUserBlockReports - Block Reporting - Schedule and Instant
R
RBLCacheExp - DNSBL - RBL Validation
RBLError - DNSBL - RBL Validation RBLFailLog - Collecting SPAM and HAM
RBLLog - Logging and Notifications RBLmaxhits - DNSBL - RBL Validation
RBLmaxreplies - DNSBL - RBL Validation RBLmaxtime - DNSBL - RBL Validation
S
saValencePB - PenaltyBox - Message and IP Scoring SaveStatsEvery - General Server Setup
SBCacheExp - SenderBase and WhoisIP sbfccValencePB - PenaltyBox - Message and IP Scoring
sbhccValencePB - PenaltyBox - Message and IP Scoring sbnValencePB - PenaltyBox - Message and IP Scoring
sborgValencePB - PenaltyBox - Message and IP Scoring sbsccValencePB - PenaltyBox - Message and IP Scoring
sbSpamLovers - SPAM Lover and SPAM Hater sbTestMode - SenderBase and WhoisIP
ScanCC - Virus Protection using ClamAV and OS-FileScanner ScanLocal - Virus Protection using ClamAV and OS-FileScanner
ScanLog - Logging and Notifications ScanNP - Virus Protection using ClamAV and OS-FileScanner
ScanWL - Virus Protection using ClamAV and OS-FileScanner ScheduleLog - Logging and Notifications
scriptError - Perl Regular Expression Filter and Spambomb
ScoreForeignCountries - SenderBase and WhoisIP
Detection
scriptRe - Perl Regular Expression Filter and Spambomb
scriptLog - Collecting SPAM and HAM
Detection
scriptReMaxHits - Perl Regular Expression Filter and Spambomb
scriptTestMode - TestModes and SPAM Tagging
Detection
scriptValencePB - PenaltyBox - Message and IP Scoring send250OK - General Server Setup
send250OKISP - Network Setup, Limits and DKIM signing for sendAllAbuse - Local Recipients and Domains & Transparent
Relaying, Outgoing and Local Mail Recipients and Domains
sendAllAbuseNP - Local Recipients and Domains & Transparent
sendAllCollect - Collecting SPAM and HAM
Recipients and Domains
sendAllDestination - Copy Spam & Ham sendAllHamDestination - Copy Spam & Ham
sendAllPostmaster - Local Recipients and Domains & Transparent sendAllPostmasterNP - Local Recipients and Domains &
Recipients and Domains Transparent Recipients and Domains
sendAllSpam - Copy Spam & Ham sendEHLO - SSL Proxy and TLS support
SenderInvalidError - Validate Sender - Addresses, Domains,
SenderBaseLog - Logging and Notifications
MsgID, PTR, MX and DKIM
sendHamInbound - Copy Spam & Ham sendHamOutbound - Copy Spam & Ham
sendNoopInfo - Logging and Notifications
T
tagLogging - Logging and Notifications TCPBufferSize - General Server Setup
TestASSP_DCC - ASSP_DCC-Plugin TestASSP_FakeMX - ASSP_FakeMX-Plugin
testRe - Perl Regular Expression Filter and Spambomb
TestASSP_Razor - ASSP_Razor-Plugin
Detection
teValencePB - PenaltyBox - Message and IP Scoring ThreadCycleTime - General Server Setup
ThreadStackSize - General Server Setup TLDS - URIBL and Obfuscation Detection
TLStoProxyListenPorts - SSL Proxy and TLS support tlsValencePB - PenaltyBox - Message and IP Scoring
TNEFDEBUG - CharacterSet Conversions and TNEF Processing totalizeSpamStats - General Server Setup
transparentRecipients - Local Recipients and Domains &
Transparent Recipients and Domains
U
uniqeIDLogging - Logging and Notifications
uniqueIDPrefix - Logging and Notifications UpdateWhitelist - Whitelisting and RWL(DNSWL)
URIBLCacheInterval - URIBL and Obfuscation Detection URIBLCacheIntervalMiss - URIBL and Obfuscation Detection
URIBLCCTLDS - URIBL and Obfuscation Detection URIBLcheckDOTinURI - URIBL and Obfuscation Detection
URIBLError - URIBL and Obfuscation Detection URIBLFailLog - Collecting SPAM and HAM
URIBLIPRe - URIBL and Obfuscation Detection URIBLISP - URIBL and Obfuscation Detection
URIBLLocal - URIBL and Obfuscation Detection URIBLLog - Logging and Notifications
URIBLmaxdomains - URIBL and Obfuscation Detection URIBLmaxhits - URIBL and Obfuscation Detection
URIBLmaxreplies - URIBL and Obfuscation Detection URIBLmaxtime - URIBL and Obfuscation Detection
URIBLmaxuris - URIBL and Obfuscation Detection URIBLmaxweight - URIBL and Obfuscation Detection
URIBLNoObfuscated - URIBL and Obfuscation Detection URIBLNP - URIBL and Obfuscation Detection
uriblnValencePB - PenaltyBox - Message and IP Scoring URIBLServiceProvider - URIBL and Obfuscation Detection
URIBLsocktime - URIBL and Obfuscation Detection uriblSpamLovers - SPAM Lover and SPAM Hater
uriblTestMode - TestModes and SPAM Tagging uriblValencePB - PenaltyBox - Message and IP Scoring
URIBLwhitelist - URIBL and Obfuscation Detection URIBLWL - URIBL and Obfuscation Detection
useASSP_FC - Perl Module Setup useASSP_SVG - Perl Module Setup
useASSP_WordStem - Perl Module Setup useAsspSelfLoader - Perl Module Setup
UseAvClamd - Virus Protection using ClamAV and OS-
useAuthenSASL - Perl Module Setup
FileScanner
useBerkeleyDB - Perl Module Setup useCompressZlib - Perl Module Setup
useConvertTNEF - Perl Module Setup useDB4griplist - File Paths and Database
useDB4Rebuild - Rebuild Hidden Markov Model and Bayesian
useDB4IntCache - General Server Setup
Database
useDB_File - Perl Module Setup useDigestMD5 - Perl Module Setup
useDigestSHA1 - Perl Module Setup useEmailMIME - Perl Module Setup
useEmailSend - Perl Module Setup useFileReadBackwards - Perl Module Setup
useFileScanClamAV - Perl Module Setup useHeloBlacklist - Validate HELO and EHLO
useHeloGoodlist - Validate HELO and EHLO useIOSocketINET6 - Perl Module Setup
useIOSocketSSL - Perl Module Setup UseLocalDNS - DNS-Client Setup
UseLocalTime - General Server Setup useLWPSimple - Perl Module Setup
useMailDKIMVerifier - Perl Module Setup useMailSPF - Perl Module Setup
useMailSPFQuery - Perl Module Setup useMailSRS - Perl Module Setup
useMIMETypes - Perl Module Setup useNetAddrIPLite - Perl Module Setup
useNetCIDRLite - Perl Module Setup useNetDNS - Perl Module Setup
useNetIP - Perl Module Setup useNetLDAP - Perl Module Setup
useNetSMTP - Perl Module Setup useNetSMTPSSL - Perl Module Setup
useNetSNMPagent - Perl Module Setup usePerlIOscalar - Perl Module Setup
UserAttach - Attachment Validation and Protection useRegexpOptimizer - Perl Module Setup
useScheduleCron - Perl Module Setup UseSubjectsAsMaillogNames - Collecting SPAM and HAM
useSysCpuAffinity - Perl Module Setup useSysMemInfo - Perl Module Setup
useSysSyslog - Perl Module Setup useTextUnidecode - Perl Module Setup
useThreadState - Perl Module Setup useTieRDBM - Perl Module Setup
UseTrapToCollect - Collecting SPAM and HAM UseUnicode4MaillogNames - Collecting SPAM and HAM
V
ValidateRBL - DNSBL - RBL Validation
ValidateRWL - Whitelisting and RWL(DNSWL) ValidateSenderLog - Logging and Notifications
ValidateSPF - Validate SPF, DMARC and SRS ValidateURIBL - URIBL and Obfuscation Detection
ValidateUserLog - Logging and Notifications validFormatHeloRe - Validate HELO and EHLO
validMsgIDRe - Validate Sender - Addresses, Domains, MsgID, validPTRRe - Validate Sender - Addresses, Domains, MsgID,
PTR, MX and DKIM PTR, MX and DKIM
vdValencePB - PenaltyBox - Message and IP Scoring viruslog - File Paths and Database
VRFYforceRCPTTO - Local Recipients and Domains & Transparent
VRFYLog - Logging and Notifications
Recipients and Domains
VRFYQueryTimeOut - Local Recipients and Domains & Transparent
vsValencePB - PenaltyBox - Message and IP Scoring
Recipients and Domains
W
webAdminPassword - General Server Setup webAdminPort - General Server Setup
webSSLRequireCientCert - SSL Proxy and TLS support webStatHealthyResp - General Server Setup
webStatNotHealthyResp - General Server Setup webStatPort - General Server Setup
WhiteExpiration - PenaltyBox - Message and IP Scoring WhitelistAuth - Whitelisting and RWL(DNSWL)
whitelistdb - File Paths and Database whiteListedDomains - Whitelisting and RWL(DNSWL)
whiteListedIPs - Whitelisting and RWL(DNSWL) WhitelistLocalFromOnly - Whitelisting and RWL(DNSWL)
WhitelistLocalOnly - Whitelisting and RWL(DNSWL) WhitelistOnly - Whitelisting and RWL(DNSWL)
WhitelistPrivacyLevel - Whitelisting and RWL(DNSWL) whiteRe - Whitelisting and RWL(DNSWL)
whiteSenderBase - SenderBase and WhoisIP wlAttachLog - Collecting SPAM and HAM
WorkerCPUPriority - General Server Setup WorkerLog - Logging and Notifications
WorkerLogging - Logging and Notifications