2014-09-30 10:13:21 -05:00
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
< title > Quarantining< / title >
< link href = "./css/markdown.css" rel = "stylesheet" > < / head >
< / head >
< body >
< div id = "navigation" >
< a href = "http://www.iredmail.org" target = "_blank" > iRedMail web site< / a >
// < a href = "./index.html" > Document Index< / a >
< / div > < h1 id = "quarantining" > Quarantining< / h1 >
< div class = "toc" >
< ul >
< li > < a href = "#quarantining" > Quarantining< / a > < ul >
2014-12-18 06:40:50 -06:00
< li > < a href = "#quarantining-spam-virus-and-banned-messages" > Quarantining spam, virus and banned messages< / a > < / li >
2014-09-30 10:13:21 -05:00
< li > < a href = "#configure-iredadmin-pro-to-manage-quarantined-mails" > Configure iRedAdmin-Pro to manage quarantined mails< / a > < / li >
< li > < a href = "#quarantine-clean-emails" > Quarantine clean emails< / a > < / li >
< li > < a href = "#screenshots" > Screenshots< / a > < / li >
< / ul >
< / li >
< / ul >
< / div >
< p > Since iRedMail-< code > 0.7.0< / code > , quarantining related settings in Amavisd are configured
by iRedMail but disabled by default, you can easily enable quarantining with
this tutorial.< / p >
< p > With below steps, Virus/Spam/Banned emails will be quarantined into SQL database.
You can then manage quarantined emails with iRedAdmin-Pro.< / p >
2014-12-18 06:40:50 -06:00
< h2 id = "quarantining-spam-virus-and-banned-messages" > Quarantining spam, virus and banned messages< / h2 >
2014-09-30 10:13:21 -05:00
< p > Edit Amavisd config file, find below settings and update them. If it doesn't
exist, please add them.< / p >
< ul >
< li > on Red Hat Enterprise Linux, CentOS, Scientific Linux, it's < code > /etc/amavisd/amavisd.conf< / code >
or < code > /etc/amavisd.conf< / code > .< / li >
< li > on Debian/Ubuntu, it's < code > /etc/amavis/conf.d/50-user< / code > .< / li >
< li > on FreeBSD, it's < code > /usr/local/etc/amavisd.conf< / code > .< / li >
< li > on OpenBSD, it's < code > /etc/amavisd.conf< / code > .< / li >
< / ul >
2014-12-18 06:40:50 -06:00
< pre > < code > # Part of file: /etc/amavisd/amavisd.conf
2014-09-30 10:13:21 -05:00
2014-12-18 06:40:50 -06:00
# Change values of below 3 parameters to D_DISCARD.
# Detected spams/virus/banned messages will not be delivered to user's mailbox.
2014-09-30 10:13:21 -05:00
$final_virus_destiny = D_DISCARD;
$final_spam_destiny = D_DISCARD;
$final_banned_destiny = D_DISCARD;
# Quarantine SPAM into SQL server.
$spam_quarantine_to = 'spam-quarantine';
$spam_quarantine_method = 'sql:';
# Quarantine VIRUS into SQL server.
$virus_quarantine_to = 'virus-quarantine';
$virus_quarantine_method = 'sql:';
2014-12-18 06:40:50 -06:00
# Quarantine BANNED message into SQL server.
2014-09-30 10:13:21 -05:00
$banned_quarantine_to = 'banned-quarantine';
$banned_files_quarantine_method = 'sql:';
< / code > < / pre >
< p > Also, make sure you have below lines configured in same config file:< / p >
2014-12-18 06:40:50 -06:00
< pre > < code class = "perl" > # For MySQL/MariaDB/OpenLDAP backends
2014-09-30 10:13:21 -05:00
@storage_sql_dsn = (
['DBI:mysql:database=amavisd;host=127.0.0.1;port=3306', 'amavisd', 'password'],
);
# For PostgreSQL
#@storage_sql_dsn = (
# ['DBI:Pg:database=amavisd;host=127.0.0.1;port=5432', 'amavisd', 'password'],
#);
< / code > < / pre >
2014-12-18 06:40:50 -06:00
< p > Restarting amavisd service is required.< / p >
2014-09-30 10:13:21 -05:00
< h2 id = "configure-iredadmin-pro-to-manage-quarantined-mails" > Configure iRedAdmin-Pro to manage quarantined mails< / h2 >
< p > Update iRedAdmin-Pro config file, make sure you have correct settings for Amavisd:< / p >
< ul >
< li > on Red Hat Enterprise Linux, CentOS, Scientific Linux, it's < code > /var/www/iredadmin/settings.py< / code > .< / li >
< li > on Debian, Ubuntu, it's < code > /usr/share/apache2/iredadmin/settings.py< / code > .< / li >
< li > on FreeBSD, it's < code > /usr/local/www/iredadmin/settings.py< / code > .< / li >
< li > on OpenBSD, it's < code > /var/www/iredadmin/settings.py< / code > .< / li >
< / ul >
< pre > < code class = "python" > # File: settings.py
amavisd_db_host = '127.0.0.1'
amavisd_db_port = 3306
amavisd_db_name = 'amavisd'
amavisd_db_user = 'amavisd'
amavisd_db_password = 'password'
2014-10-10 10:51:42 -05:00
# Log basic info of inbound/outbound, no mail body stored.
2014-09-30 10:13:21 -05:00
amavisd_enable_logging = True
2014-10-10 10:51:42 -05:00
# Quarantining management
2014-09-30 10:13:21 -05:00
amavisd_enable_quarantine = True
amavisd_quarantine_port = 9998
2014-10-10 10:51:42 -05:00
# Per-recipient policy lookup
2014-09-30 10:13:21 -05:00
amavisd_enable_policy_lookup = True
< / code > < / pre >
2014-12-18 06:40:50 -06:00
< p > Restarting Apache web server or < code > uwsgi< / code > service (if you're running Nginx as
web server) is required.< / p >
< p > You can now login to iRedAdmin-Pro, and manage quarantined messages via menu
2014-09-30 10:13:21 -05:00
< code > System -> Quarantined Mails< / code > . Choose action in drop-down menu list to release
or delete them.< / p >
< p > Screenshots attached at the bottom.< / p >
< h2 id = "quarantine-clean-emails" > Quarantine clean emails< / h2 >
< p > If you want to quarantine clean emails into SQL database for further approval
2014-10-10 10:51:42 -05:00
or whatever reason, please follow below steps:< / p >
2014-10-10 10:56:19 -05:00
< ul >
2014-10-10 10:51:42 -05:00
< li > Update below parameters in Amavisd config file < code > amavisd.conf< / code > :< / li >
2014-10-10 10:56:19 -05:00
< / ul >
2014-10-10 10:51:42 -05:00
< pre > < code class = "perl" > $clean_quarantine_method = 'sql:';
2014-09-30 10:13:21 -05:00
$clean_quarantine_to = 'clean-quarantine';
< / code > < / pre >
2014-10-10 10:56:19 -05:00
< ul >
2014-10-10 10:51:42 -05:00
< li > Find policy bank < code > MYUSERS< / code > , append two lines in this policy bank:< / li >
2014-10-10 10:56:19 -05:00
< / ul >
2014-09-30 10:13:21 -05:00
< pre > < code class = "perl" > $policy_bank{'MYUSERS'} = {
...
clean_quarantine_method => 'sql:',
final_destiny_by_ccat => {CC_CLEAN, D_DISCARD},
}
< / code > < / pre >
2014-10-10 10:56:19 -05:00
< ul >
2014-09-30 10:13:21 -05:00
< li > Restart Amavisd service.< / li >
2014-10-10 10:56:19 -05:00
< / ul >
2014-09-30 10:13:21 -05:00
< p > Now all clean emails sent by your mail users will be quarantined into SQL
database.< / p >
< h2 id = "screenshots" > Screenshots< / h2 >
< ul >
< li > View quarantined mails:< / li >
< / ul >
2014-10-13 05:03:19 -05:00
< p > < img alt = "" src = "../images/iredadmin/system_maillog_quarantined.png" / > < / p >
2014-09-30 10:13:21 -05:00
< ul >
< li > Expand quarantined mail to view mail body and headers.< / li >
< / ul >
2014-12-04 07:30:08 -06:00
< p > < img alt = "" src = "../images/iredadmin/system_maillog_quarantined_expanded.png" / > < / p > < p style = "text-align: center; color: grey;" > Document published under a < a href = "http://creativecommons.org/licenses/by-nd/3.0/us/" target = "_blank" > CC BY-ND 3.0< / a > license. If you found something wrong, please do < a href = "http://www.iredmail.org/contact.html" > contact us< / a > to fix it.<!-- Google Analytics -->
2014-10-13 19:28:43 -05:00
< script type = "text/javascript" >
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
< / script >
< script type = "text/javascript" >
try {
var pageTracker = _gat._getTracker("UA-3293801-14");
pageTracker._trackPageview();
} catch(err) {}
< / script >
< / body > < / html >