Installatie postfix, spamassassin, postgrey

Inleiding

Dit artikel bevat een handleiding voor de installatie van Postfix in combinatie met Spamassassin en Postgrey. Spamassassin kan in deze handleiding op twee manieren worden aangesproken: direct of via amavis. Dit laatste pakket biedt tevens de mogelijkheid om naast spamdetectie ook antivirus-detectie toe te passen. Dit vraagt echter de nodige resources van de server. Vandaar ook dat standaard de directe methode wordt gebruikt voor het aanspreken van Spamassassin.

We starten als eerste met de configuratie van Spamassassin, vervolgens installeren we Postgrey en Amavis/ClamAV. Tenslotte gaan we postfix installeren met mysql ondersteuning en configureren we postfix verder volgens de standaarden van Global-e ICT Solutions.

Deze handleiding gaat uit van een standaard Ubuntu LTS installatie. Deze handleiding is geschreven aan de hand van Ubuntu 14.04.2 LTS. Zorg ervoor dat ntp is geïnstalleerd:

1
2
3
ntpdate pool.ntp.org
apt-get install ntp
service ntp start

Installatie & Configuratie Spamassassin

We starten met de installatie van Spamassassin:

apt-get install spamassassin

Voor spamassassin is een nieuwe gebruiker nodig. Hiervoor maken we de gebruiker spamd aan, alsook de groep spamd waarvan de gebruiker spamd lid is. Als home-directory krijgt de gebruik /var/log/spamassassin. In deze directory zullen de logfiles worden weggeschreven door spamassassin.

groupadd spamd
useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd
mkdir /var/log/spamassassin
chown spamd:spamd /var/log/spamassassin

Vervolgens is het tijd om Spamassassin te configureren. Deze configuratie gebeurt op twee locaties. De eerste locatie is /etc/default/spamassassin. Hier staan alle instellingen die gebruikt worden voor het starten van spamassassin.

# /etc/default/spamassassin
# Duncan Findlay

# WARNING: please read README.spamd before using.
# There may be security risks.

# Change to one to enable spamd
ENABLED=1

# Options
# See man spamd for possible options. The -d option is automatically added.

# SpamAssassin uses a preforking model, so be careful! You need to
# make sure --max-children is not set to anything higher than 5,
# unless you know what you're doing.
SAHOME="/var/log/spamassassin/"

OPTIONS="--create-prefs --max-children 5 --username spamd -H ${SAHOME} -s ${SAHOME}spamd.log"

# Pid file
# Where should spamd write its PID to file? If you use the -u or
# --username option above, this needs to be writable by that user.
# Otherwise, the init script will not be able to shut spamd down.
PIDFILE="/var/run/spamd.pid"

# Set nice level of spamd
#NICE="--nicelevel 15"

# Cronjob
# Set to anything but 0 to enable the cron job to automatically update
# spamassassin's rules on a nightly basis
CRON=1

De belangrijkste regel hier is ENABLED=1. Deze moet op ‘1’ worden gezet, anders zal spamassassin niet werken.

De regel
OPTIONS="--create-prefs --max-children 5 --username spamd -H ${SAHOME} -s ${SAHOME}spamd.log" zorgt ervoor dat er 5 instanties van de service spamassassin tegelijkertijd kunnen draaien; verder worden hier de home-directory en log-file bepaald.

Tenslotte zorgt de regel CRON=1in /etc/default/spamassassin dat Spamassassin elke nacht een update uitvoert middels cron.

In het tweede bestand staan alle instellingen van Spamassassin. De locatie van dit bestand is /etc/spamassassin/local.cf:

# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
# Only a small subset of options are listed below
#
###########################################################################

#   Add *****SPAM***** to the Subject header of spam e-mails
#
# rewrite_header Subject *****SPAM*****
rewrite_header Subject [***** SPAM _SCORE_ *****]


#   Save spam messages as a message/rfc822 MIME attachment instead of
#   modifying the original message (0: off, 2: use text/plain instead)
#
# report_safe 1
report_safe 0

#   Set which networks or hosts are considered 'trusted' by your mail
#   server (i.e. not spammers)
#
# trusted_networks 212.17.35.


#   Set file-locking method (flock is not safe over NFS, but is faster)
#
# lock_method flock


#   Set the threshold at which a message is considered spam (default: 5.0)
#
# required_score 5.0
required_score 5.5

#   Use Bayesian classifier (default: 1)
#
# use_bayes 1
use_bayes 1
use_bayes_rules 1

#   Bayesian classifier auto-learning (default: 1)
#
bayes_auto_learn 1

#   Set headers which may provide inappropriate cues to the Bayesian
#   classifier
#
# bayes_ignore_header X-Bogosity
# bayes_ignore_header X-Spam-Flag
# bayes_ignore_header X-Spam-Status


#   Some shortcircuiting, if the plugin is enabled
#
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
#
#   default: strongly-whitelisted mails are *really* whitelisted now, if the
#   shortcircuiting plugin is active, causing early exit to save CPU load.
#   Uncomment to turn this on
#
# shortcircuit USER_IN_WHITELIST       on
# shortcircuit USER_IN_DEF_WHITELIST   on
# shortcircuit USER_IN_ALL_SPAM_TO     on
# shortcircuit SUBJECT_IN_WHITELIST    on

#   the opposite; blacklisted mails can also save CPU
#
# shortcircuit USER_IN_BLACKLIST       on
# shortcircuit USER_IN_BLACKLIST_TO    on
# shortcircuit SUBJECT_IN_BLACKLIST    on

#   if you have taken the time to correctly specify your "trusted_networks",
#   this is another good way to save CPU
#
# shortcircuit ALL_TRUSTED             on

#   and a well-trained bayes DB can save running rules, too
#
# shortcircuit BAYES_99                spam
# shortcircuit BAYES_00                ham

endif # Mail::SpamAssassin::Plugin::Shortcircuit

De belangrijkste instellingen zijn:

rewrite_header Subject [***** SPAM _SCORE_ *****]

Wanneer een bericht als SPAM wordt gezien, dan wordt het onderwerp van het bericht aangepast naar deze tekst.

report_safe 0

Deze regel zorgt ervoor dat het bericht, ook al is het een SPAM-bericht toch wordt doorgestuurd. Zet je report_safe op 1, dan wordt het originele bericht als bijlage meegestuurd, en ontvangt de ontvanger een rapport van de spam-bepaling.

Tenslotte bepaalt de volgende regel bij welke score een bericht als SPAM wordt gezien. Een lagere score hier invullen betekent meer kans op false positives, terwijl een hogere waarde de kans op het ontvangen van spam vergroot.

required_score 5.5

Om ervoor te zorgen dat de logbestanden van spamassassin niet te groot worden, zullen we hiervoor een logrotate voor configureren. Hiervoor maken we het bestand /etc/logrotate.d/spamd aan. Dit bestand dient de volgende inhoud te hebben:

/var/log/spamassassin spamd.log {
  rotate 5
  daily 
  missingok
  notifempty
  delaycompress
  postrotate
     /etc/init.d/spamassassin restart
  endscript
}

Installatie Postgrey-server

Postgrey is de greylisting-server voor Postfix. Installatie van postgrey is erg eenvoudig:

apt-get install postgrey

De instellingen van postgrey zijn te vinden in de map /etc/postgrey:

ls -al
total 24
drwxr-xr-x  2 root root 4096 Jun 15 10:45 .
drwxr-xr-x 99 root root 4096 Jun 15 11:04 ..
-rw-r--r--  1 root root 8498 Nov 28  2013 whitelist_clients
-rw-r--r--  1 root root  189 Nov 28  2013 whitelist_recipients

Er hoeft echter niets aan de standaard-instellingen gewijzigd te worden. We kunnen dus direct de service starten:

service postgrey start

Installatie & configuratie amavis

Ook hier beginnen we weer met de installatie van de benodigde packages. De pakketten in de laatste regel zijn optioneel, maar zorgen ervoor dat amavis ook deze bestanden kan scannen.

sudo apt-get install amavisd-new clamav-daemon razor pyzor libnet-dns-perl libmail-spf-perl
sudo apt-get install arj bzip2 cabextract cpio file gzip lhasa nomarch pax rar unrar unzip zip zoo

Voor het gebruik met amavis/clamav zijn een tweetal gebruikers nodig:

adduser clamav amavis
adduser amavis clamav

Standaard is amavis geconfigureerd om niets te scannen. In het bestand
/etc/amavis/conf.d/15-content_filter_mode kan worden aangegeven of berichten moeten worden gescand op spam en/of op virussen. Merk op dat amavis zijn eigen spam-detectie instellingen heeft, en geen gebruik maakt van de instellingen zoals die eerder gedaan in /etc/spamassassin/local.cf!

In onderstaand bestand is alleen spamfiltering aangezet (default voor Global-e).

use strict;

# You can modify this file to re-enable SPAM checking through spamassassin
# and to re-enable antivirus checking.

#
# Default antivirus checking mode
# Please note, that anti-virus checking is DISABLED by
# default.
# If You wish to enable it, please uncomment the following lines:


#@bypass_virus_checks_maps = (
#   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);


#
# Default SPAM checking mode
# Please note, that anti-spam checking is DISABLED by
# default.
# If You wish to enable it, please uncomment the following lines:


@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

1;  # ensure a defined return

In de map /etc/amavis/conf.d staan nog een aantal andere bestanden die de configuratie bepalen. Het is aan de lezer om de bestanden eens door te nemen en, indien gewenst, aan te passen. In het bestand

/etc/amavis/conf.d/20-debian_defaults

Staat de regel

$inet_socket_port = 10024;

Dit bepaalt de poort waarop amavis luistert. Ook staan in dit bestand de Spamassassin-instellingen (soortgelijk als in /etc/spamassassin/local.cf).

Wanneer alle configuratie-bestanden zijn aangepast, kan amavis worden gestart:

service amavis start

Via de regel lsof -i TCP:10024 kan worden gekeken of amavis correct is gestart:

COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
/usr/sbin 1234 amavis    5u  IPv4  11566      0t0  TCP localhost:10024 (LISTEN)
/usr/sbin 1293 amavis    5u  IPv4  11566      0t0  TCP localhost:10024 (LISTEN)
/usr/sbin 1294 amavis    5u  IPv4  11566      0t0  TCP localhost:10024 (LISTEN)

Om amavis/spamassassin nog beter te laten functioneren, maken we ook gebruik van razor en pyzor. Deze activeren we door de volgende commando’s:

# su - amavis -s /bin/bash
# razor-admin -create
# razor-admin -register
# pyzor discover

Configuratie Postfix

We eindigen met de configuratie van postfix. We gaan deze installeren met mysql-ondersteuning:

apt-get install postfix-mysql

Na installatie kopiëren we de bestanden van de bestaande postfix-server:

scp supermanager@mx1.global-e.nl:/etc/postfix/body_checks.regexp /etc/postfix/.
scp supermanager@mx1.global-e.nl:/etc/postfix/dynamicmaps.cf /etc/postfix/.
scp supermanager@mx1.global-e.nl:/etc/postfix/header_checks.regexp /etc/postfix/.
scp supermanager@mx1.global-e.nl:/etc/postfix/master.cf /etc/postfix/.
scp supermanager@mx1.global-e.nl:/etc/postfix/mime_header_checks.regexp /etc/postfix/.
scp supermanager@mx1.global-e.nl:/etc/postfix/regexp_access /etc/postfix/.
scp -r supermanager@mx1.global-e.nl:/etc/postfix/maps /etc/postfix/maps
scp -r supermanager@mx1.global-e.nl:/etc/postfix/mysql /etc/postfix/mysql
scp -r supermanager@mx1.global-e.nl:/etc/postfix/sasl /etc/postfix/sasl
scp -r supermanager@mx1.global-e.nl:/etc/postfix/main.cf /etc/postfix/main.cf

Een aantal van deze bestanden zullen we nu gaan aanpassen. We starten met het bestand /etc/postfix/master.cf. In dit bestand staan alle postfix-services die gestart worden. Vervang het bestaande bestand door onderstaande instellingen.

# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
pickup    fifo  n       -       -       60      1       pickup
        -o content_filter=
        -o receive_override_options=no_header_body_checks
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
hold      unix  -       -       n       -       -       smtp
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
        -o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#      
filter  unix    -       n       n       -       -       pipe
     flags=Rq user=spamd argv=/usr/bin/spamc -f -e  /usr/sbin/sendmail -oi -f ${sender} ${recipient}
amavis  unix    -       -       -       -       -       smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes
        -o disable_dns_lookups=yes
        -o max_use=20

127.0.0.1:10025 inet    n       -       -       -       -       smtpd
        -o smtpd_authorized_xforward_hosts=127.0.0.0/8
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_delay_reject=no
        -o smtpd_client_restrictions=permit_mynetworks,reject
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o smtpd_data_restrictions=reject_unauth_pipelining
        -o smtpd_end_of_data_restrictions=
        -o mynetworks=127.0.0.0/8
        -o smtpd_error_sleep_time=0
        -o smtpd_soft_error_limit=1001
        -o smtpd_hard_error_limit=1000
        -o smtpd_client_connection_count_limit=0
        -o smtpd_client_connection_rate_limit=0
        -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

In dit bestand zijn een aantal extra hooks geconfigureerd, waaronder filter. Deze hook stuurt een bericht naar de spamassassin-daemon. De hook amavis is bedoeld voor het scannen van de berichten door amavis. De laatste hook 127.0.0.1:10025 is een re-inject hook. Wanneer amavis een bericht heeft gescand, wordt deze weer aan postfix aangeboden op poort 10025. Aan deze hook zijn een aantal beperkingen geconfigureerd ter beveiliging tegen misbruik.

Het volgende bestand dat we aan gaan passen is het bestand /etc/postfix/mysql/filtered_domains.cf. In dit bestand voegen we de volgende regels toe:

# Uncomment when using amavis
#query = SELECT 'FILTER amavis:[127.0.0.1]:10024' FROM transport WHERE domainname='%s' AND filter='True' AND intercept='False'

Eerder hebben we in het bestand master.cf een hook amavis aangemaakt. Middels bovenstaande regel worden alle berichten die voldoen aan de query naar deze hook gestuurd op ip [127.0.0.1]:10024. Dit adres hebben we eerder gedefinieerd in /etc/amavis/conf.d/20-debian_defaults.

Het complete bestand /etc/postfix/mysql/filtered_domains.cf komt er dan als volgt uit te zien (wachtwoorden zijn weggelaten uit veiligheidsoverwegingen).

user = postfix
password = 
hosts = 77.94.242.19
dbname = postfix
# Uncomment when using amavis
#query = SELECT 'FILTER amavis:[127.0.0.1]:10024' FROM transport WHERE domainname='%s' AND filter='True' AND intercept='False'
# Uncomment when using spamassassin only
query = SELECT 'FILTER filter:dummy' FROM transport WHERE domainname='%s' AND filter='True' AND intercept='False'

Wanneer je wilt wisselen tussen amavis en alleen spamassassin kun je de query met hook amavis activeren en vervolgens de query met hook filter de-activeren (door er een # voor te zetten). Nu staat hij standaard op alleen het scannen van berichten met behulp van spamassassin.

Ditzelfde doe je ook bij het volgende bestand:

/etc/postfix/filtered_domains_intercept.cf

De query ziet er in dit bestand iets anders uit. Het uiteindelijke bestand heeft de volgende inhoud:

user = postfix
password = 
hosts = 77.94.242.19
dbname = postfix
# Uncomment when using amavis
#query = SELECT 'FILTER amavis:[127.0.0.1]:10024' FROM transport WHERE domainname='%s' AND filter='True' AND intercept='True'
# Uncomment when using spamassassin only
query = SELECT 'FILTER filter:dummy' FROM transport WHERE domainname='%s' AND filter='True' AND intercept='True'

Het laatste bestand van postfix is het bestand /etc/postfix/main.cf. Hierin staan alle configuratie-opties vermeld. Vervang het bestaande main.cf door onderstaand bestand. Pas alleen de myhostname aan.

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname                    = mx5.global-e.nl
mydomain                      = global-e.nl
alias_maps                    = hash:/etc/aliases
alias_database                = hash:/etc/aliases
myorigin                      = $myhostname
mydestination                 = $myhostname, localhost.$mydomain
relayhost                     =
recipient_delimiter           = +
inet_interfaces               = all
defer_transports              = hold
smtpd_restriction_classes     = from_freemail_host greylist_policy
transport_maps                = proxy:mysql:/etc/postfix/mysql/transport.cf
mynetworks                    = proxy:mysql:/etc/postfix/mysql/mynetworks.cf
relay_domains                 = proxy:mysql:/etc/postfix/mysql/transport.cf

from_freemail_host            = check_client_access           hash:/etc/postfix/maps/freemail_hosts.map,
                                reject

greylist_policy               = check_policy_service          inet:127.0.0.1:10023

proxy_read_maps               = proxy:unix:passwd.byname,
                                proxy:mysql:/etc/postfix/mysql/client.cf,
                                proxy:mysql:/etc/postfix/mysql/sender.cf,
                                proxy:mysql:/etc/postfix/mysql/mynetworks.cf,
                                proxy:mysql:/etc/postfix/mysql/transport.cf,
                                proxy:mysql:/etc/postfix/mysql/filtered_domains.cf,
                                proxy:mysql:/etc/postfix/mysql/recipient.cf,
                                proxy:mysql:/etc/postfix/mysql/intercept_client.cf,
                                proxy:mysql:/etc/postfix/mysql/intercept.cf

smtpd_recipient_restrictions  = check_client_access           proxy:mysql:/etc/postfix/mysql/client.cf,

      
                                check_sender_access           proxy:mysql:/etc/postfix/mysql/sender.cf,
                                check_sender_access           hash:/etc/postfix/maps/freemail_access.map,

                                check_recipient_access        proxy:mysql:/etc/postfix/mysql/filtered_domains.cf,
                                check_recipient_access        proxy:mysql:/etc/postfix/mysql/recipient.cf,
                                check_recipient_access        regexp:/etc/postfix/regexp_access,

                                reject_invalid_hostname,
                                reject_unauth_pipelining,
                                reject_non_fqdn_sender,
                                reject_unknown_sender_domain,
                                reject_non_fqdn_recipient,
                                reject_unknown_recipient_domain,
                                reject_rbl_client bl.spamcop.net,
                                reject_rbl_client zen.spamhaus.org,
                                reject_rbl_client b.barracudacentral.org,

                                permit_mynetworks,
                                reject_unauth_destination,
                                check_policy_service          inet:127.0.0.1:10023,
                                permit_mx_backup,
                                permit

header_checks                 = regexp:/etc/postfix/header_checks.regexp
body_checks                   = regexp:/etc/postfix/body_checks.regexp
mime_header_checks            = regexp:/etc/postfix/mime_header_checks.regexp
#smtpd_helo_required          = yes
strict_rfc821_envelopes       = no
message_size_limit            = 50000000
mailbox_size_limit            = 100000000

Na het aanpassen van dit bestand is de configuratie gereed, en kan postfix worden gestart:

service postfix start

postfix gebruikt een ander formaat om de alias-database te lezen. Na de installatie heeft postfix het commando newaliases aangepast. Dit commando moet eenmalig gestart worden om /etc/aliases in het juiste formaat te zetten.

newaliases

NB: wanneer postfix in combinatie met amavis wordt gebruikt, dan dient de volgende optie binnen /etc/postfix/main.cf te worden toegevoegd:

content_filter = amavis:[127.0.0.1]:10024

In de volgende bestanden worden de logfiles bijgehouden:

/var/log/spamassassin/spamd.log
/var/log/mail.log

Het loont de moeite om nu de server volledig te herstarten middels

shutdown -r now

Na de herstart kan er dan gecontroleerd worden of alle services mbt postfix, postgrey, amavis e.d. zijn gestart.

12
3
45
678910
11
121314
15
16
17
18
19
netstat -lnptu Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:783           0.0.0.0:*               LISTEN      3321/spamd.pid  tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      919/sshd        
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1899/master     tcp        0      0 127.0.0.1:10023         0.0.0.0:*               LISTEN      1244/postgrey.pid -tcp        0      0 127.0.0.1:10024         0.0.0.0:*               LISTEN      3328/amavisd-new (mtcp        0      0 127.0.0.1:10025         0.0.0.0:*               LISTEN      1899/master     tcp6       0      0 ::1:783                 :::*                    LISTEN      3321/spamd.pid  
tcp6       0      0 :::22                   :::*                    LISTEN      919/sshd        
tcp6       0      0 :::25                   :::*                    LISTEN      1899/master     tcp6       0      0 ::1:10023               :::*                    LISTEN      1244/postgrey.pid -udp        0      0 77.94.242.34:123        0.0.0.0:*                           1673/ntpd       
udp        0      0 127.0.0.1:123           0.0.0.0:*                           1673/ntpd       
udp        0      0 0.0.0.0:123             0.0.0.0:*                           1673/ntpd       
udp6       0      0 fe80::250:56ff:fea6:123 :::*                                1673/ntpd       
udp6       0      0 ::1:123                 :::*                                1673/ntpd       
udp6       0      0 :::123                  :::*                                1673/ntpd