postfix part 7 - Setting up Mailwatch for Mailscanner/postfix



MailWatch for MailScanner is a open source or free web-based front-end to Mailscanner that use to displays the inbound/outbound mail queue, spam, viruses and blocked content on each page header. MailWatch has been written in PHP, MySQL and JpGraph. By using Mailwatch, it allows you to delete, release or run sa-learn across any messages that was quarantined. This post describes how to setup MailWatch on CentOS 6.3 and assumed that you already installed MailScanner and postfix.

1. Install required php and mysql :
[root@mx1 ~]# yum install httpdphpmysql-server mysqlphp-gdphp-mysql -y

2. Modify the php.ini :
[root@mx1 ~]# vim /etc/php.ini

PHP should have the following set in php.ini
short_open_tag = On
safe_mode = Off
register_globals = Off
magic_quotes_gpc = On
magic_quotes_runtime = Off
session.auto_start = 0

3. Download the latest version from mailwatch.sourceforge.net :
[root@mx1 ~]# wget http://sourceforge.net/projects/mailwatch/files/mailwatch/1.1.5.1/mailwatch-1.1.5.1.tar.gz

4. Extract downloaded mailwatchpackage :
[root@mx1 ~]# tar xzvf mailwatch-1.1.5.1.tar.gz

5. Start mysqlservice :
[root@mx1 ~]# servicemysqld start

6. Enter extracted mailwatch-x.xdirectory :
[root@mx1 mailwatch-1.1.5.1]# ls
CHANGELOG   fix_quarantine_permissions  LICENSEmailscanner               Remote_DB.txt  upgrade.php  USER_FILTERS
create.sql  INSTALLluserMailScanner_perl_scripts  tools          UPGRADING
[root@mx1 mailwatch-1.1.5.1]# mysql -p <create.sql

7. Create the database and import create.sql. The following commands below should be run as the ‘root’ :
[root@mx1 mailwatch-1.1.5.1]# mysql -p <create.sql
Enter password:

8. Login to mysql as a root :
[root@mx1 mailwatch-1.1.5.1]# mysql -u root -p
Enter password:


9. Proceed to create a MySQL user and then set password and configure MailScanner for SQL logging :
mysql> GRANT ALL ON mailscanner.* TO mailwatch@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT FILE ON *.* TO mailwatch@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mailscanner        |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)


10. Edit MailWatch.pm and change the database values accordingly :
a. Enter to the perl_scripts’sfolder :
[root@mx1 mailwatch-1.1.5.1]# cdMailScanner_perl_scripts
[root@mx1 MailScanner_perl_scripts]# pwd
/root/mailwatch-1.1.5.1/MailScanner_perl_scripts
b. Edit MailWatch.pm :
[root@mx1 MailScanner_perl_scripts]# vim MailWatch.pm
c.Modify this as necessary for your configuration
my($db_name) = 'mailscanner';
my($db_host) = 'localhost';
my($db_user) = 'mailwatch';
my($db_pass) = 'password';
11. Move MailWatch.pm to /usr/lib/MailScanner/MailScanner/CustomFunctions :
[root@mx1 MailScanner_perl_scripts]# cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions


12. Create a MailWatch web user. This user will able to monitor the mailscanner through MailWatch web interface.
[root@mx1 ~]# mysqlmailscanner -u mailwatch -p
Enter password:

mysql>INSERT INTO users SET username = 'admin', password = md5('password'), fullname = 'MAilwatch Administrator', type ='A';
 
Query OK, 1 row affected (0.00 sec)

13. Install &Configure MailWatch :
a. Enter to mailwatch directory :
[root@mx1 ~]# cd mailwatch-1.1.5.1
b. Move mailscanner folder for web root folder. For apache, default root folder is /var/www/html :
[root@mx1 mailwatch-1.1.5.1]# mvmailscanner /var/www/html/
c. Enter to mailscanner folder in web root directory :
[root@mx1 ~]# cd /var/www/html/mailscanner

d. Verify and check the permissions of /var/www/html/mailscanner/images and /var/www/html/images/cache. The permissions and ownerships should be as below :
[root@mx1 mailscanner]# chownroot:apache images
[root@mx1 mailscanner]# chmodug+rwx images
[root@mx1 mailscanner]# chownroot:apache images/cache
[root@mx1 mailscanner]# chmodug+rwx images/cache
14. Create conf.php by copying conf.php.example. Edit the values to any details as you created earlier :
a. Copy the conf.php :
[root@mx1 mailscanner]# cpconf.php.exampleconf.php
b. Open conf.php :
[root@mx1 mailscanner]# vimconf.php
c. Edit the details as below :
define('DB_TYPE', 'mysql');
define('DB_USER', 'mailwatch');
define('DB_PASS', 'password');
define('DB_HOST', 'localhost');
define('DB_NAME', 'mailscanner');
15. Before setup the mailscanner, make sure it’s Stopped. Run 3 to 4 times to ensure the mailscanner completely stop. The status will FAILED if mailscanner completely stop.
[root@mx1 ~]# serviceMailScanner stop
Shutting down MailScanner daemons:
MailScanner:                                      [  OK  ]
incoming postfix:                                 [  OK  ]
outgoing postfix:                                 [  OK  ]
[root@mx1 ~]# serviceMailScanner stop
Shutting down MailScanner daemons:
MailScanner:                                      [  OK  ]
incoming postfix:                                 [  OK  ]
outgoing postfix:                                 [  OK  ]
[root@mx1 ~]# serviceMailScanner stop
Shutting down MailScanner daemons:
MailScanner:                                      [  OK  ]
incoming postfix:                                 [  OK  ]
outgoing postfix:                                 [  OK  ]
[root@mx1 ~]# serviceMailScanner stop
Shutting down MailScanner daemons:
MailScanner:                                      [  OK  ]
incoming postfix:                                 [  OK  ]
outgoing postfix:                                 [  OK  ]
[root@mx1 ~]# serviceMailScanner stop
Shutting down MailScanner daemons:
MailScanner:                                      [FAILED]
incoming postfix:                                 [  OK  ]
outgoing postfix:                                 [  OK  ]
16. Edit /etc/MailScanner/MailScanner.conf
[root@mx1 ~]# vim /etc/MailScanner/MailScanner.conf
Make sure that the following options are set:
 Always Looked Up Last = &MailWatchLogging
 Detailed Spam Report = yes
 Quarantine Whole Message = yes
 Quarantine Whole Message As Queue Files = no
 Include Scores InSpamAssassin Report = yes
 Quarantine User = root
 Quarantine Group = apache (this should be the same group as your web server)
 Quarantine Permissions = 0660
17. Start MailScanner :
[root@mx1 ~]# serviceMailScanner start
Starting MailScanner daemons:
incoming postfix:                                 [  OK  ]
outgoing postfix:                                 [  OK  ]
MailScanner:                                      [  OK  ]
18. Restart httpdservice :
[root@mx1 ~]# servicehttpd restart
19. Make sure all the related service such as httpd, mysql and MailScanner configured to start at boot :
[root@mx1 ~]# chkconfigmysqld on
[root@mx1 ~]# chkconfighttpd on
[root@mx1 ~]# chkconfigMailScanner on
[root@mx1 ~]# chkconfigspamassassin on
[root@mx1 ~]# chkconfig postfix on
20. Check the mail log.
[root@mx1 ~]# tail -f /var/log/maillog
Mar  5 22:14:42 mx1 MailScanner[1718]: Using locktype = flock
Mar  5 22:14:43 mx1 MailScanner[1697]: Requeue: C297BA1C3F.AA850 to E7373A1DD6
Mar  5 22:14:43 mx1 postfix/qmgr[1687]: E7373A1DD6: from=<root@mx1.ehowstuff.local>, size=609, nrcpt=1 (queue active)
Mar  5 22:14:43 mx1 MailScanner[1697]: Uninfected: Delivered 1 messages
Mar  5 22:14:43 mx1 MailScanner[1697]: Deleted 1 messages from processing-database
Mar  5 22:14:43 mx1 MailScanner[1697]: Logging message C297BA1C3F.AA850 to SQL
Mar  5 22:14:43 mx1 postfix/local[1768]: E7373A1DD6: to=<root@mx1.ehowstuff.local>, orig_to=, relay=local, delay=166894, delays=166894/0.13/0/0.02, dsn=2.0.0, status=sent (delivered to mailbox)
Mar  5 22:14:43 mx1 postfix/qmgr[1687]: E7373A1DD6: removed
Mar  5 22:56:25 mx1 postfix/postfix-script[1869]: fatal: the Postfix mail system is already running
Mar  5 23:01:08 mx1 update.bad.phishing.sites: Delaying cron job up to 600 seconds

21. Login to mailwatch web interface :



5.9.240.232/mailscanner
 
                                 Solution   if you get error !!!  :-                   
Please verify read permissions on /var/spool/postfix/hold and /var/spool/postfix/incoming
Do-check permissions

sudo chown postfix:apache /var/spool/postfix/incoming
sudo chown postfix:apache /var/spool/postfix/hold
sudo chmod 740 /var/spool/postfix/incoming
sudo chmod 740 /var/spool/postfix/hold


cd /var/spool/MailScanner/

chown -R postfix.clam *
chmod -R 750 *

# ls -ltrh

total 12K
drwxr-x---  2 postfix  clam   4.0K Jul 16 06:11 spamassassin
drwxr-x--- 14 postfix  apache 4.0K Aug  5 01:58 quarantine
drwxr-x---  9 postfix  clam   4.0K Aug  5 01:59 incoming


For ubuntu 14.04LTS
# ls -l /var/spool/MailScanner
total 16
drwxrwx---  2 postfix clamav   4096 Apr  6 16:24 archive
drwxrwx--- 29 postfix clamav   4096 Jun  1 12:32 incoming
drwxr-x---  4 postfix www-data 4096 May 28 16:33 quarantine
drwxr-x---  2 postfix clamav   4096 Apr 12 01:39 spamassassin



http://www.netmium.com.au/category/how-tos/

No comments:

Post a Comment