diff --git a/dns/etc/dhcp/dhclient.conf.dpkg-old b/dns/etc/dhcp/dhclient.conf.dpkg-old deleted file mode 100644 index a31f65d..0000000 --- a/dns/etc/dhcp/dhclient.conf.dpkg-old +++ /dev/null @@ -1,56 +0,0 @@ -# Configuration file for /sbin/dhclient, which is included in Debian's -# dhcp3-client package. -# -# This is a sample configuration file for dhclient. See dhclient.conf's -# man page for more information about the syntax of this file -# and a more comprehensive list of the parameters understood by -# dhclient. -# -# Normally, if the DHCP server provides reasonable information and does -# not leave anything out (like the domain name, for example), then -# few changes must be made to this file, if any. -# - -option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; - -send host-name ""; -#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; -#send dhcp-lease-time 3600; -#supersede domain-name "fugue.com home.vix.com"; -#prepend domain-name-servers 127.0.0.1; -request subnet-mask, broadcast-address, time-offset, routers, - domain-name, domain-name-servers, domain-search, host-name, - netbios-name-servers, netbios-scope, interface-mtu, - rfc3442-classless-static-routes, ntp-servers; -#, -# dhcp6.domain-search, dhcp6.fqdn, -# dhcp6.name-servers, dhcp6.sntp-servers; -#require subnet-mask, domain-name-servers; -#timeout 60; -#retry 60; -#reboot 10; -#select-timeout 5; -#initial-interval 2; -#script "/etc/dhcp3/dhclient-script"; -#media "-link0 -link1 -link2", "link0 link1"; -#reject 192.33.137.209; - -#alias { -# interface "eth0"; -# fixed-address 192.5.5.213; -# option subnet-mask 255.255.255.255; -#} - -#lease { -# interface "eth0"; -# fixed-address 192.33.137.200; -# medium "link0 link1"; -# option host-name "andare.swiftmedia.com"; -# option subnet-mask 255.255.255.0; -# option broadcast-address 192.33.137.255; -# option routers 192.33.137.250; -# option domain-name-servers 127.0.0.1; -# renew 2 2000/1/12 00:00:01; -# rebind 2 2000/1/12 00:00:01; -# expire 2 2000/1/12 00:00:01; -#} diff --git a/dns/etc/dhcp/dhcpd.conf.dpkg-dist b/dns/etc/dhcp/dhcpd.conf.dpkg-dist deleted file mode 100644 index dbef8fe..0000000 --- a/dns/etc/dhcp/dhcpd.conf.dpkg-dist +++ /dev/null @@ -1,111 +0,0 @@ -# -# Sample configuration file for ISC dhcpd for Debian -# -# Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as -# configuration file instead of this file. -# -# - -# The ddns-updates-style parameter controls whether or not the server will -# attempt to do a DNS update when a lease is confirmed. We default to the -# behavior of the version 2 packages ('none', since DHCP v2 didn't -# have support for DDNS.) -ddns-update-style none; - -# option definitions common to all supported networks... -option domain-name "example.org"; -option domain-name-servers ns1.example.org, ns2.example.org; - -default-lease-time 600; -max-lease-time 7200; - -# If this DHCP server is the official DHCP server for the local -# network, the authoritative directive should be uncommented. -#authoritative; - -# Use this to send dhcp log messages to a different log file (you also -# have to hack syslog.conf to complete the redirection). -log-facility local7; - -# No service will be given on this subnet, but declaring it helps the -# DHCP server to understand the network topology. - -#subnet 10.152.187.0 netmask 255.255.255.0 { -#} - -# This is a very basic subnet declaration. - -#subnet 10.254.239.0 netmask 255.255.255.224 { -# range 10.254.239.10 10.254.239.20; -# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; -#} - -# This declaration allows BOOTP clients to get dynamic addresses, -# which we don't really recommend. - -#subnet 10.254.239.32 netmask 255.255.255.224 { -# range dynamic-bootp 10.254.239.40 10.254.239.60; -# option broadcast-address 10.254.239.31; -# option routers rtr-239-32-1.example.org; -#} - -# A slightly different configuration for an internal subnet. -#subnet 10.5.5.0 netmask 255.255.255.224 { -# range 10.5.5.26 10.5.5.30; -# option domain-name-servers ns1.internal.example.org; -# option domain-name "internal.example.org"; -# option subnet-mask 255.255.255.224; -# option routers 10.5.5.1; -# option broadcast-address 10.5.5.31; -# default-lease-time 600; -# max-lease-time 7200; -#} - -# Hosts which require special configuration options can be listed in -# host statements. If no address is specified, the address will be -# allocated dynamically (if possible), but the host-specific information -# will still come from the host declaration. - -#host passacaglia { -# hardware ethernet 0:0:c0:5d:bd:95; -# filename "vmunix.passacaglia"; -# server-name "toccata.fugue.com"; -#} - -# Fixed IP addresses can also be specified for hosts. These addresses -# should not also be listed as being available for dynamic assignment. -# Hosts for which fixed IP addresses have been specified can boot using -# BOOTP or DHCP. Hosts for which no fixed address is specified can only -# be booted with DHCP, unless there is an address range on the subnet -# to which a BOOTP client is connected which has the dynamic-bootp flag -# set. -#host fantasia { -# hardware ethernet 08:00:07:26:c0:a5; -# fixed-address fantasia.fugue.com; -#} - -# You can declare a class of clients and then do address allocation -# based on that. The example below shows a case where all clients -# in a certain class get addresses on the 10.17.224/24 subnet, and all -# other clients get addresses on the 10.0.29/24 subnet. - -#class "foo" { -# match if substring (option vendor-class-identifier, 0, 4) = "SUNW"; -#} - -#shared-network 224-29 { -# subnet 10.17.224.0 netmask 255.255.255.0 { -# option routers rtr-224.example.org; -# } -# subnet 10.0.29.0 netmask 255.255.255.0 { -# option routers rtr-29.example.org; -# } -# pool { -# allow members of "foo"; -# range 10.17.224.10 10.17.224.250; -# } -# pool { -# deny members of "foo"; -# range 10.0.29.10 10.0.29.230; -# } -#} diff --git a/docker-compose.yml b/docker-compose.yml index e1079ca..033fd3a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -35,21 +35,21 @@ services: ports: - 143:143 # dovecot imap - 993:993 # dovecot imaps - - 25:25 # postfix smtp - 465:465 # postfix smtps - 587:587 # postfix submission volumes: - ./keys/cron/etc/letsencrypt/live:/etc/letsencrypt/live:ro - ./keys/cron/etc/letsencrypt/archive:/etc/letsencrypt/archive:ro - ./mail/etc/mailname:/etc/mailname:ro + - ./mail/etc/aliases.db:/etc/aliases.db:rw + - ./mail/etc/aliases:/etc/aliases:rw - ./mail/etc/dovecot:/etc/dovecot:ro - ./mail/etc/amavis:/etc/amavis:ro - ./mail/etc/clamav:/etc/clamav:ro - ./mail/etc/hostname:/etc/hostname:ro - ./mail/etc/opendkim.conf:/etc/opendkim.conf:ro - ./mail/etc/opendkim:/etc/opendkim:ro - - ./mail/etc/postfix:/etc/postfix:ro - - ./mail/etc/postfix-policyd-spf-python:/etc/postfix-policyd-spf-python:ro + - ./mail/etc/postfix:/etc/postfix:rw - ./mail/etc/postgrey:/etc/postgrey:ro - ./mail/entrypoint.sh:/entrypoint.sh:ro - ./data/log:/var/log:rw @@ -58,10 +58,12 @@ services: - /home:/home:rw - ./www:/var/www:ro - ./data/mail/var/lib/clamav:/var/lib/clamav:rw + - ./mail/etc/rsyslog.conf:/etc/rsyslog.conf:ro # Keys - ./keys/mail/etc/dkimkeys:/etc/dkimkeys:ro - ./keys/mail/etc/spamassassin/sa-update-keys/:/etc/spamassassin/sa-update-keys:rw - ./keys/mail/etc/dovecot/private:/etc/dovecot-private:ro + - ./keys/mail/etc/opendkim:/etc/opendkim-private:ro # Authentication of dovecot users via pam # diff --git a/mail/Dockerfile.mail b/mail/Dockerfile.mail index 00efca0..fdeb31a 100644 --- a/mail/Dockerfile.mail +++ b/mail/Dockerfile.mail @@ -3,6 +3,7 @@ FROM ubuntu:jammy RUN apt-get -q update \ && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ amavisd-new \ + amavisd-new-postfix \ clamav-daemon \ clamav-freshclam \ cron \ @@ -12,18 +13,19 @@ RUN apt-get -q update \ dovecot-imapd \ dovecot-pop3d \ dovecot-ldap \ + inotify-tools \ ldap-auth-client \ ldap-auth-config \ libnss-ldap \ libpam-ldap \ - inotify-tools \ milter-greylist \ opendkim \ openssh-server \ postfix \ - spamassassin \ python3 \ python-is-python3 \ + rsyslog \ + spamassassin \ && apt-get clean \ && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} diff --git a/mail/entrypoint.sh b/mail/entrypoint.sh index 22e81d1..faa9e65 100755 --- a/mail/entrypoint.sh +++ b/mail/entrypoint.sh @@ -1,23 +1,50 @@ #!/bin/bash +# clamav needs access to read the spool files from amavis +usermod -a -G amavis clamav + +# postfix needs access to the opendkim socket +usermod -a -G opendkim postfix + +chmod g+rx /var/lib/amavis/tmp dirs=( - /var/run/clamav /var/log/clamav /var/log/opendkim - /var/spool/postfix/opendkim /var/lib/clamav + /var/lib/amavis ) -for dir in "${dirs[@]}"; do - if [[ ! -d "${dir}" ]]; then - mkdir -p "${dir}" - fi - chmod a+rwX -R "${dir}" +#for dir in "${dirs[@]}"; do +# if [[ ! -d "${dir}" ]]; then +# mkdir -p "${dir}" +# fi +# chmod a+rwX -R "${dir}" +#done + +# directory is not being created by /etc/init.d/opendkim +mkdir /var/spool/postfix/opendkim +chown opendkim:opendkim /var/spool/postfix/opendkim + +chown root:root /var/log +for log in syslog "mail.*" "dovecot*.log" auth.log; do + touch /var/log/${log} + chmod a+rwX /var/log/${log} done +if [[ -e /run/rsyslogd.pid ]]; then + rm /run/rsyslogd.pid +fi + if [[ -e /var/run/dovecot/master.pid ]]; then rm /var/run/dovecot/master.pid fi +# Set opendkim.sock ownership and permissions + +find /var/log -name 'dovecot*' | while read -r file; do + chown dovecot:postfix "${file}" + chmod g+rwX "${file}" +done + if false; then # host accounts into the container PAM files for file in passwd group shadow gshadow; do @@ -39,37 +66,39 @@ else sed -i -E 's#(passwd|group|shadow|gshadow):.*files$#\1: files ldap#g' /etc/nsswitch.conf fi - while true; do - /usr/sbin/opendkim -x /etc/opendkim.conf -f - echo "opendkim died: $?" + /usr/sbin/rsyslogd -n + echo "rsyslogd died: $?" sleep 5 done & -while true; do - /usr/sbin/dovecot -F - echo "dovecot died: $?" - sleep 5 -done & +/etc/init.d/opendkim start +#while true; do +# /usr/sbin/opendkim -x /etc/opendkim.conf -f +# echo "opendkim died: $?" +# sleep 5 +#done & -while true; do - /usr/sbin/milter-greylist -D -P /var/run/greylist.pid -u postfix -p /var/spool/postfix/milter-greylist/milter-greylist.sock - echo "milter-greylist died: $?" - sleep 5 -done & +/etc/init.d/dovecot start +#while true; do +# /usr/sbin/dovecot -F +# echo "dovecot died: $?" +# sleep 5 +#done & -while true; do - /usr/sbin/amavisd-new foreground - echo "amavisd-new died: $?" - sleep 5 -done & +/etc/init.d/milter-greylist start +#while true; do +# /usr/sbin/milter-greylist -D -P /var/run/greylist.pid -u postfix -p /var/spool/postfix/milter-greylist/milter-greylist.sock +# echo "milter-greylist died: $?" +# sleep 5 +#done & -while true; do - /usr/sbin/postfix start-fg - #/usr/lib/postfix/sbin/master -w - echo "postfix died: $?" - sleep 5 -done & +/etc/init.d/amavis start +#while true; do +# /usr/sbin/amavisd-new foreground +# echo "amavisd-new died: $?" +# sleep 5 +#done & #while true; do # /usr/bin/python /usr/lib/mailman/bin/mailmanctl -s start @@ -77,27 +106,38 @@ done & # sleep 5 #done & -while true; do - /usr/sbin/clamd --foreground=true - echo "clamd died: $?" - sleep 5 -done & +/etc/init.d/clamav-daemon start +#while true; do +# /usr/sbin/clamd --foreground=true +# echo "clamd died: $?" +# sleep 5 +#done & -while true; do - /usr/bin/freshclam -d --foreground=true - echo "freshclam died: $?" - sleep 5 -done & +/etc/init.d/clamav-freshclam start +#while true; do +# /usr/bin/freshclam -d --foreground=true +# echo "freshclam died: $?" +# sleep 5 +#done & -while true; do - /usr/bin/perl -T -w /usr/sbin/spamd --pidfile=/var/run/spamd.pid --create-prefs --max-children 5 --helper-home-dir --ipv4-only - echo "spamd died: $?" - sleep 5 -done & +/etc/init.d/spamassassin start +#while true; do +# /usr/bin/perl -T -w /usr/sbin/spamd --pidfile=/var/run/spamd.pid --create-prefs --max-children 5 --helper-home-dir --ipv4-only +# echo "spamd died: $?" +# sleep 5 +#done & + +/etc/init.d/postfix start +#while true; do +# /usr/sbin/postfix start-fg +# echo "postfix died: $?" +# sleep 5 +#done & # # Watch for letsencrypt changes and if they occur, restart nginx and apache2 # while inotifywait -e modify /etc/letsencrypt/archive; do - kill -9 "$(cat /var/run/amavis/amavisd.pid)" "$(cat /var/run/dovecot/master.pid)" "$(cat /var/spool/postfix/pid/master.pid)" + /etc/init.d/dovecot restart + /etc/init.d/postfix restart done diff --git a/mail/etc/aliases b/mail/etc/aliases new file mode 100644 index 0000000..cede04a --- /dev/null +++ b/mail/etc/aliases @@ -0,0 +1,168 @@ +# General redirections for pseudo accounts. +adm: root +bin: root +daemon: root +exim: root +lp: root +mail: root +named: root +nobody: root +postfix: root +abuse: root +ftp: root +hostmaster: root +news: root +noc: root +security: root +usenet: root +uucp: root +webmaster: root +www: root + +pair: jketreno + +shaznat: jketreno + +root: jketreno + +grandma: agape +sherri: agape +mom: agape + +papa: barry +dad: barry + +mailer-daemon: postmaster + +# Mailing lists +slavod: jketreno +james: jketreno +logics: jketreno +ketrenoj: jketreno +daddy: jketreno +chrisotpher: christopher + +mommy: kathleen +flylady: kathleen +ketrenok: kathleen +yahoo: kathleen +glider: kathleen +midwives: kathleen +ketrenok2000: kathleen +homestead: kathleen +jamesdontread: kathleen + +chris: christopher +chrisk: christopher + +solace: melissa + +elcore: george +gketreno: george +ketrenog: george + + + +## jcubed mailing list +## created: 25-Feb-2003 mailman +jcubed: "|/var/lib/mailman/mail/mailman post jcubed" +jcubed-admin: "|/var/lib/mailman/mail/mailman admin jcubed" +jcubed-request: "|/var/lib/mailman/mail/mailman request jcubed" +jcubed-owner: jcubed-admin + + +## family mailing list +## created: 06-Aug-2002 root +miles-family: "|/var/lib/mailman/mail/mailman post family" +family-admin: "|/var/lib/mailman/mail/mailman admin family" +family-request: "|/var/lib/mailman/mail/mailman request family" +family-owner: family-admin +family: "|/var/lib/mailman/mail/mailman post family" + +## mbs mailing list +mbs-admin: "|/var/lib/mailman/mail/mailman admin mbs" +mbs-bounces: "|/var/lib/mailman/mail/mailman bounces mbs" +mbs-confirm: "|/var/lib/mailman/mail/mailman confirm mbs" +mbs-join: "|/var/lib/mailman/mail/mailman join mbs" +mbs-leave: "|/var/lib/mailman/mail/mailman leave mbs" +mbs-owner: "|/var/lib/mailman/mail/mailman owner mbs" +mbs-request: "|/var/lib/mailman/mail/mailman request mbs" +mbs-subscribe: "|/var/lib/mailman/mail/mailman subscribe mbs" +mbs-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mbs" +mbs: "|/var/lib/mailman/mail/mailman post mbs" + +## vansicklefamily mailing list +## added oct 02 2007 +vansicklefamily-admin: "|/var/lib/mailman/mail/mailman admin vansicklefamily" +vansicklefamily-bounces: "|/var/lib/mailman/mail/mailman bounces vansicklefamily" +vansicklefamily-confirm: "|/var/lib/mailman/mail/mailman confirm vansicklefamily" +vansicklefamily-join: "|/var/lib/mailman/mail/mailman join vansicklefamily" +vansicklefamily-leave: "|/var/lib/mailman/mail/mailman leave vansicklefamily" +vansicklefamily-owner: "|/var/lib/mailman/mail/mailman owner vansicklefamily" +vansicklefamily-request: "|/var/lib/mailman/mail/mailman request vansicklefamily" +vansicklefamily-subscribe: "|/var/lib/mailman/mail/mailman subscribe vansicklefamily" +vansicklefamily-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe vansicklefamily" +vansicklefamily: "|/var/lib/mailman/mail/mailman post vansicklefamily" + +## mosj mailing list +## added Nov 4 2007 +mosj-bounces: "|/var/lib/mailman/mail/mailman bounces mosj" +mosj-admin: "|/var/lib/mailman/mail/mailman admin mosj" +mosj-confirm: "|/var/lib/mailman/mail/mailman confirm mosj" +mosj-join: "|/var/lib/mailman/mail/mailman join mosj" +mosj-leave: "|/var/lib/mailman/mail/mailman leave mosj" +mosj-owner: "|/var/lib/mailman/mail/mailman owner mosj" +mosj-request: "|/var/lib/mailman/mail/mailman request mosj" +mosj-subscribe: "|/var/lib/mailman/mail/mailman subscribe mosj" +mosj-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mosj" +mosj: "|/var/lib/mailman/mail/mailman post mosj" + +## sjmoms mailing list +## added May 8 2009 +sjmoms-bounces: "|/var/lib/mailman/mail/mailman bounces sjmoms" +sjmoms-admin: "|/var/lib/mailman/mail/mailman admin sjmoms" +sjmoms-confirm: "|/var/lib/mailman/mail/mailman confirm sjmoms" +sjmoms-join: "|/var/lib/mailman/mail/mailman join sjmoms" +sjmoms-leave: "|/var/lib/mailman/mail/mailman leave sjmoms" +sjmoms-owner: "|/var/lib/mailman/mail/mailman owner sjmoms" +sjmoms-request: "|/var/lib/mailman/mail/mailman request sjmoms" +sjmoms-subscribe: "|/var/lib/mailman/mail/mailman subscribe sjmoms" +sjmoms-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe sjmoms" +sjmoms: "|/var/lib/mailman/mail/mailman post sjmoms" + + +efax: kathleen +family-bounces: jketreno +film: jketreno +logics_vcd_db: jketreno + +robot: jketreno + +# See man 5 aliases for format +sheri: agape +spinaker: colleen +postmaster: root +clamav: root +## mailman mailing list +mailman: "|/var/lib/mailman/mail/mailman post mailman" +mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" +mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" +mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" +mailman-join: "|/var/lib/mailman/mail/mailman join mailman" +mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" +mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" +mailman-request: "|/var/lib/mailman/mail/mailman request mailman" +mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" +mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" +## test mailing list +test: "|/var/lib/mailman/mail/mailman post test" +test-admin: "|/var/lib/mailman/mail/mailman admin test" +test-bounces: "|/var/lib/mailman/mail/mailman bounces test" +test-confirm: "|/var/lib/mailman/mail/mailman confirm test" +test-join: "|/var/lib/mailman/mail/mailman join test" +test-leave: "|/var/lib/mailman/mail/mailman leave test" +test-owner: "|/var/lib/mailman/mail/mailman owner test" +test-request: "|/var/lib/mailman/mail/mailman request test" +test-subscribe: "|/var/lib/mailman/mail/mailman subscribe test" +test-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe test" +zacharais: zacharias diff --git a/mail/etc/aliases.db b/mail/etc/aliases.db new file mode 100644 index 0000000..9d14fa1 Binary files /dev/null and b/mail/etc/aliases.db differ diff --git a/mail/etc/dovecot/conf.d/01-mail-stack-delivery.conf b/mail/etc/dovecot/conf.d/01-mail-stack-delivery.conf index 2b3fa97..b439d82 100644 --- a/mail/etc/dovecot/conf.d/01-mail-stack-delivery.conf +++ b/mail/etc/dovecot/conf.d/01-mail-stack-delivery.conf @@ -25,7 +25,7 @@ protocol pop3 { # LDA configuration protocol lda { - postmaster_address = postmaster +# postmaster_address = james_postmaster@ketrenos.com mail_plugins = sieve quota_full_tempfail = yes deliver_log_format = msgid=%m: %$ diff --git a/mail/etc/dovecot/conf.d/99-mail-stack-delivery.conf b/mail/etc/dovecot/conf.d/99-mail-stack-delivery.conf index e8d6fab..bfdbdaa 100644 --- a/mail/etc/dovecot/conf.d/99-mail-stack-delivery.conf +++ b/mail/etc/dovecot/conf.d/99-mail-stack-delivery.conf @@ -25,7 +25,7 @@ protocol pop3 { # LDA configuration protocol lda { - postmaster_address = postmaster +# postmaster_address = james_postmaster@ketrenos.com mail_plugins = sieve quota_full_tempfail = yes deliver_log_format = msgid=%m: %$ diff --git a/mail/etc/opendkim.conf b/mail/etc/opendkim.conf index 9d4afce..26fff73 100644 --- a/mail/etc/opendkim.conf +++ b/mail/etc/opendkim.conf @@ -6,7 +6,7 @@ AutoRestart Yes AutoRestartRate 10/1h # Log to syslog Syslog yes -SyslogSuccess yes +SyslogSuccess no LogWhy yes # Required to use local socket with MTAs that access the socket as a non- @@ -16,9 +16,9 @@ UMask 007 # Sign for example.com with key in /etc/dkimkeys/dkim.key using # selector '2007' (e.g. 2007._domainkey.example.com) Domain ketrenos.com -KeyFile /etc/dkimkeys/dkim.key +KeyFile /etc/dkimkeys/dkim.key #Selector 2007 -RequireSafeKeys False +RequireSafeKeys False # Commonly-used options; the commented-out versions show the defaults. #Canonicalization simple diff --git a/mail/etc/opendkim/KeyTable b/mail/etc/opendkim/KeyTable index 5a9bc59..4962da6 100644 --- a/mail/etc/opendkim/KeyTable +++ b/mail/etc/opendkim/KeyTable @@ -1 +1 @@ -default._domainkey.ketrenos.com ketrenos.com:default:/etc/opendkim/keys/ketrenos.com/default.private +default._domainkey.ketrenos.com ketrenos.com:default:/etc/opendkim-private/private diff --git a/mail/etc/opendkim/keys b/mail/etc/opendkim/keys new file mode 120000 index 0000000..338666e --- /dev/null +++ b/mail/etc/opendkim/keys @@ -0,0 +1 @@ +../opendkim-private/keys \ No newline at end of file diff --git a/mail/etc/postfix/main.cf b/mail/etc/postfix/main.cf index 5401c30..3bae34b 100644 --- a/mail/etc/postfix/main.cf +++ b/mail/etc/postfix/main.cf @@ -8,6 +8,9 @@ myhostname = ketrenos.com #myhostname = static-50-126-85-202.cor02.bvtn.or.ptr.ziplyfiber.com #myhostname = mail.ketrenos.com +# Logging +maillog_file = /var/log/postfix.log + smtpd_banner = $myhostname ESMTP $mail_name # Enable unverified_sender_verify @@ -82,6 +85,7 @@ smtpd_tls_mandatory_ciphers = high alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases + myorigin = /etc/mailname mydestination = ketrenos.com, kiaoramassage.com, sketchitect.com, localhost, email.ketrenos.net, ketrenos.net relayhost = @@ -95,9 +99,9 @@ smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth_client smtpd_sasl_authenticated_header = yes smtpd_sasl_security_options = noanonymous -smtpd_sasl_tsl_security_options = noanonymous +smtpd_sasl_tls_security_options = noanonymous smtp_sasl_security_options = noanonymous -smtp_sasl_tsl_security_options = noanonymous +smtp_sasl_tls_security_options = noanonymous smtpd_sasl_local_domain = smtpd_helo_required = yes broken_sasl_auth_clients = yes @@ -148,3 +152,4 @@ non_smtpd_milters = $smtpd_milters milter_default_action = accept smtpd_use_tls = yes smtp_use_tls = no policy-spf_time_limit = 3600s +compatibility_level = 3.6 diff --git a/mail/etc/postfix/main.cf.proto b/mail/etc/postfix/main.cf.proto deleted file mode 100644 index 8c3ada8..0000000 --- a/mail/etc/postfix/main.cf.proto +++ /dev/null @@ -1,684 +0,0 @@ -# Global Postfix configuration file. This file lists only a subset -# of all parameters. For the syntax, and for a complete parameter -# list, see the postconf(5) manual page (command: "man 5 postconf"). -# -# For common configuration examples, see BASIC_CONFIGURATION_README -# and STANDARD_CONFIGURATION_README. To find these documents, use -# the command "postconf html_directory readme_directory", or go to -# http://www.postfix.org/BASIC_CONFIGURATION_README.html etc. -# -# For best results, change no more than 2-3 parameters at a time, -# and test if Postfix still works after every change. - -# COMPATIBILITY -# -# The compatibility_level determines what default settings Postfix -# will use for main.cf and master.cf settings. These defaults will -# change over time. -# -# To avoid breaking things, Postfix will use backwards-compatible -# default settings and log where it uses those old backwards-compatible -# default settings, until the system administrator has determined -# if any backwards-compatible default settings need to be made -# permanent in main.cf or master.cf. -# -# When this review is complete, update the compatibility_level setting -# below as recommended in the RELEASE_NOTES file. -# -# The level below is what should be used with new (not upgrade) installs. -# -compatibility_level = 2 - -# SOFT BOUNCE -# -# The soft_bounce parameter provides a limited safety net for -# testing. When soft_bounce is enabled, mail will remain queued that -# would otherwise bounce. This parameter disables locally-generated -# bounces, and prevents the SMTP server from rejecting mail permanently -# (by changing 5xx replies into 4xx replies). However, soft_bounce -# is no cure for address rewriting mistakes or mail routing mistakes. -# -#soft_bounce = no - -# LOCAL PATHNAME INFORMATION -# -# The queue_directory specifies the location of the Postfix queue. -# This is also the root directory of Postfix daemons that run chrooted. -# See the files in examples/chroot-setup for setting up Postfix chroot -# environments on different UNIX systems. -# -#queue_directory = /var/spool/postfix - -# The command_directory parameter specifies the location of all -# postXXX commands. -# -command_directory = /usr/sbin - -# The daemon_directory parameter specifies the location of all Postfix -# daemon programs (i.e. programs listed in the master.cf file). This -# directory must be owned by root. -# -daemon_directory = /usr/lib/postfix/sbin - -# The data_directory parameter specifies the location of Postfix-writable -# data files (caches, random numbers). This directory must be owned -# by the mail_owner account (see below). -# -data_directory = /var/lib/postfix - -# QUEUE AND PROCESS OWNERSHIP -# -# The mail_owner parameter specifies the owner of the Postfix queue -# and of most Postfix daemon processes. Specify the name of a user -# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS -# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In -# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED -# USER. -# -#mail_owner = postfix - -# The default_privs parameter specifies the default rights used by -# the local delivery agent for delivery to external file or command. -# These rights are used in the absence of a recipient user context. -# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER. -# -#default_privs = nobody - -# INTERNET HOST AND DOMAIN NAMES -# -# The myhostname parameter specifies the internet hostname of this -# mail system. The default is to use the fully-qualified domain name -# from gethostname(). $myhostname is used as a default value for many -# other configuration parameters. -# -#myhostname = host.domain.tld -#myhostname = virtual.domain.tld - -# The mydomain parameter specifies the local internet domain name. -# The default is to use $myhostname minus the first component. -# $mydomain is used as a default value for many other configuration -# parameters. -# -#mydomain = domain.tld - -# SENDING MAIL -# -# The myorigin parameter specifies the domain that locally-posted -# mail appears to come from. The default is to append $myhostname, -# which is fine for small sites. If you run a domain with multiple -# machines, you should (1) change this to $mydomain and (2) set up -# a domain-wide alias database that aliases each user to -# user@that.users.mailhost. -# -# For the sake of consistency between sender and recipient addresses, -# myorigin also specifies the default domain name that is appended -# to recipient addresses that have no @domain part. -# -# Debian GNU/Linux 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 -#myorigin = $myhostname -#myorigin = $mydomain - -# RECEIVING MAIL - -# The inet_interfaces parameter specifies the network interface -# addresses that this mail system receives mail on. By default, -# the software claims all active interfaces on the machine. The -# parameter also controls delivery of mail to user@[ip.address]. -# -# See also the proxy_interfaces parameter, for network addresses that -# are forwarded to us via a proxy or network address translator. -# -# Note: you need to stop/start Postfix when this parameter changes. -# -#inet_interfaces = all -#inet_interfaces = $myhostname -#inet_interfaces = $myhostname, localhost - -# The proxy_interfaces parameter specifies the network interface -# addresses that this mail system receives mail on by way of a -# proxy or network address translation unit. This setting extends -# the address list specified with the inet_interfaces parameter. -# -# You must specify your proxy/NAT addresses when your system is a -# backup MX host for other domains, otherwise mail delivery loops -# will happen when the primary MX host is down. -# -#proxy_interfaces = -#proxy_interfaces = 1.2.3.4 - -# The mydestination parameter specifies the list of domains that this -# machine considers itself the final destination for. -# -# These domains are routed to the delivery agent specified with the -# local_transport parameter setting. By default, that is the UNIX -# compatible delivery agent that lookups all recipients in /etc/passwd -# and /etc/aliases or their equivalent. -# -# The default is $myhostname + localhost.$mydomain + localhost. On -# a mail domain gateway, you should also include $mydomain. -# -# Do not specify the names of virtual domains - those domains are -# specified elsewhere (see VIRTUAL_README). -# -# Do not specify the names of domains that this machine is backup MX -# host for. Specify those names via the relay_domains settings for -# the SMTP server, or use permit_mx_backup if you are lazy (see -# STANDARD_CONFIGURATION_README). -# -# The local machine is always the final destination for mail addressed -# to user@[the.net.work.address] of an interface that the mail system -# receives mail on (see the inet_interfaces parameter). -# -# Specify a list of host or domain names, /file/name or type:table -# patterns, separated by commas and/or whitespace. A /file/name -# pattern is replaced by its contents; a type:table is matched when -# a name matches a lookup key (the right-hand side is ignored). -# Continue long lines by starting the next line with whitespace. -# -# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS". -# -#mydestination = $myhostname, localhost.$mydomain, localhost -#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain -#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, -# mail.$mydomain, www.$mydomain, ftp.$mydomain - -# REJECTING MAIL FOR UNKNOWN LOCAL USERS -# -# The local_recipient_maps parameter specifies optional lookup tables -# with all names or addresses of users that are local with respect -# to $mydestination, $inet_interfaces or $proxy_interfaces. -# -# If this parameter is defined, then the SMTP server will reject -# mail for unknown local users. This parameter is defined by default. -# -# To turn off local recipient checking in the SMTP server, specify -# local_recipient_maps = (i.e. empty). -# -# The default setting assumes that you use the default Postfix local -# delivery agent for local delivery. You need to update the -# local_recipient_maps setting if: -# -# - You define $mydestination domain recipients in files other than -# /etc/passwd, /etc/aliases, or the $virtual_alias_maps files. -# For example, you define $mydestination domain recipients in -# the $virtual_mailbox_maps files. -# -# - You redefine the local delivery agent in master.cf. -# -# - You redefine the "local_transport" setting in main.cf. -# -# - You use the "luser_relay", "mailbox_transport", or "fallback_transport" -# feature of the Postfix local delivery agent (see local(8)). -# -# Details are described in the LOCAL_RECIPIENT_README file. -# -# Beware: if the Postfix SMTP server runs chrooted, you probably have -# to access the passwd file via the proxymap service, in order to -# overcome chroot restrictions. The alternative, having a copy of -# the system passwd file in the chroot jail is just not practical. -# -# The right-hand side of the lookup tables is conveniently ignored. -# In the left-hand side, specify a bare username, an @domain.tld -# wild-card, or specify a user@domain.tld address. -# -#local_recipient_maps = unix:passwd.byname $alias_maps -#local_recipient_maps = proxy:unix:passwd.byname $alias_maps -#local_recipient_maps = - -# The unknown_local_recipient_reject_code specifies the SMTP server -# response code when a recipient domain matches $mydestination or -# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty -# and the recipient address or address local-part is not found. -# -# The default setting is 550 (reject mail) but it is safer to start -# with 450 (try again later) until you are certain that your -# local_recipient_maps settings are OK. -# -unknown_local_recipient_reject_code = 550 - -# TRUST AND RELAY CONTROL - -# The mynetworks parameter specifies the list of "trusted" SMTP -# clients that have more privileges than "strangers". -# -# In particular, "trusted" SMTP clients are allowed to relay mail -# through Postfix. See the smtpd_recipient_restrictions parameter -# in postconf(5). -# -# You can specify the list of "trusted" network addresses by hand -# or you can let Postfix do it for you (which is the default). -# -# By default (mynetworks_style = subnet), Postfix "trusts" SMTP -# clients in the same IP subnetworks as the local machine. -# On Linux, this does works correctly only with interfaces specified -# with the "ifconfig" command. -# -# Specify "mynetworks_style = class" when Postfix should "trust" SMTP -# clients in the same IP class A/B/C networks as the local machine. -# Don't do this with a dialup site - it would cause Postfix to "trust" -# your entire provider's network. Instead, specify an explicit -# mynetworks list by hand, as described below. -# -# Specify "mynetworks_style = host" when Postfix should "trust" -# only the local machine. -# -#mynetworks_style = class -#mynetworks_style = subnet -#mynetworks_style = host - -# Alternatively, you can specify the mynetworks list by hand, in -# which case Postfix ignores the mynetworks_style setting. -# -# Specify an explicit list of network/netmask patterns, where the -# mask specifies the number of bits in the network part of a host -# address. -# -# You can also specify the absolute pathname of a pattern file instead -# of listing the patterns here. Specify type:table for table-based lookups -# (the value on the table right-hand side is not used). -# -#mynetworks = 168.100.189.0/28, 127.0.0.0/8 -#mynetworks = $config_directory/mynetworks -#mynetworks = hash:/etc/postfix/network_table -mynetworks = 127.0.0.0/8 - -# The relay_domains parameter restricts what destinations this system will -# relay mail to. See the smtpd_recipient_restrictions description in -# postconf(5) for detailed information. -# -# By default, Postfix relays mail -# - from "trusted" clients (IP address matches $mynetworks) to any destination, -# - from "untrusted" clients to destinations that match $relay_domains or -# subdomains thereof, except addresses with sender-specified routing. -# The default relay_domains value is $mydestination. -# -# In addition to the above, the Postfix SMTP server by default accepts mail -# that Postfix is final destination for: -# - destinations that match $inet_interfaces or $proxy_interfaces, -# - destinations that match $mydestination -# - destinations that match $virtual_alias_domains, -# - destinations that match $virtual_mailbox_domains. -# These destinations do not need to be listed in $relay_domains. -# -# Specify a list of hosts or domains, /file/name patterns or type:name -# lookup tables, separated by commas and/or whitespace. Continue -# long lines by starting the next line with whitespace. A file name -# is replaced by its contents; a type:name table is matched when a -# (parent) domain appears as lookup key. -# -# NOTE: Postfix will not automatically forward mail for domains that -# list this system as their primary or backup MX host. See the -# permit_mx_backup restriction description in postconf(5). -# -#relay_domains = $mydestination - -# INTERNET OR INTRANET - -# The relayhost parameter specifies the default host to send mail to -# when no entry is matched in the optional transport(5) table. When -# no relayhost is given, mail is routed directly to the destination. -# -# On an intranet, specify the organizational domain name. If your -# internal DNS uses no MX records, specify the name of the intranet -# gateway host instead. -# -# In the case of SMTP, specify a domain, host, host:port, [host]:port, -# [address] or [address]:port; the form [host] turns off MX lookups. -# -# If you're connected via UUCP, see also the default_transport parameter. -# -#relayhost = $mydomain -#relayhost = [gateway.my.domain] -#relayhost = [mailserver.isp.tld] -#relayhost = uucphost -#relayhost = [an.ip.add.ress] - -# REJECTING UNKNOWN RELAY USERS -# -# The relay_recipient_maps parameter specifies optional lookup tables -# with all addresses in the domains that match $relay_domains. -# -# If this parameter is defined, then the SMTP server will reject -# mail for unknown relay users. This feature is off by default. -# -# The right-hand side of the lookup tables is conveniently ignored. -# In the left-hand side, specify an @domain.tld wild-card, or specify -# a user@domain.tld address. -# -#relay_recipient_maps = hash:/etc/postfix/relay_recipients - -# INPUT RATE CONTROL -# -# The in_flow_delay configuration parameter implements mail input -# flow control. This feature is turned on by default, although it -# still needs further development (it's disabled on SCO UNIX due -# to an SCO bug). -# -# A Postfix process will pause for $in_flow_delay seconds before -# accepting a new message, when the message arrival rate exceeds the -# message delivery rate. With the default 100 SMTP server process -# limit, this limits the mail inflow to 100 messages a second more -# than the number of messages delivered per second. -# -# Specify 0 to disable the feature. Valid delays are 0..10. -# -#in_flow_delay = 1s - -# ADDRESS REWRITING -# -# The ADDRESS_REWRITING_README document gives information about -# address masquerading or other forms of address rewriting including -# username->Firstname.Lastname mapping. - -# ADDRESS REDIRECTION (VIRTUAL DOMAIN) -# -# The VIRTUAL_README document gives information about the many forms -# of domain hosting that Postfix supports. - -# "USER HAS MOVED" BOUNCE MESSAGES -# -# See the discussion in the ADDRESS_REWRITING_README document. - -# TRANSPORT MAP -# -# See the discussion in the ADDRESS_REWRITING_README document. - -# ALIAS DATABASE -# -# The alias_maps parameter specifies the list of alias databases used -# by the local delivery agent. The default list is system dependent. -# -# On systems with NIS, the default is to search the local alias -# database, then the NIS alias database. See aliases(5) for syntax -# details. -# -# If you change the alias database, run "postalias /etc/aliases" (or -# wherever your system stores the mail alias file), or simply run -# "newaliases" to build the necessary DBM or DB file. -# -# It will take a minute or so before changes become visible. Use -# "postfix reload" to eliminate the delay. -# -#alias_maps = dbm:/etc/aliases -#alias_maps = hash:/etc/aliases -#alias_maps = hash:/etc/aliases, nis:mail.aliases -#alias_maps = netinfo:/aliases - -# The alias_database parameter specifies the alias database(s) that -# are built with "newaliases" or "sendmail -bi". This is a separate -# configuration parameter, because alias_maps (see above) may specify -# tables that are not necessarily all under control by Postfix. -# -#alias_database = dbm:/etc/aliases -#alias_database = dbm:/etc/mail/aliases -#alias_database = hash:/etc/aliases -#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases - -# ADDRESS EXTENSIONS (e.g., user+foo) -# -# The recipient_delimiter parameter specifies the separator between -# user names and address extensions (user+foo). See canonical(5), -# local(8), relocated(5) and virtual(5) for the effects this has on -# aliases, canonical, virtual, relocated and .forward file lookups. -# Basically, the software tries user+foo and .forward+foo before -# trying user and .forward. -# -#recipient_delimiter = + - -# DELIVERY TO MAILBOX -# -# The home_mailbox parameter specifies the optional pathname of a -# mailbox file relative to a user's home directory. The default -# mailbox file is /var/spool/mail/user or /var/mail/user. Specify -# "Maildir/" for qmail-style delivery (the / is required). -# -#home_mailbox = Mailbox -#home_mailbox = Maildir/ - -# The mail_spool_directory parameter specifies the directory where -# UNIX-style mailboxes are kept. The default setting depends on the -# system type. -# -#mail_spool_directory = /var/mail -#mail_spool_directory = /var/spool/mail - -# The mailbox_command parameter specifies the optional external -# command to use instead of mailbox delivery. The command is run as -# the recipient with proper HOME, SHELL and LOGNAME environment settings. -# Exception: delivery for root is done as $default_user. -# -# Other environment variables of interest: USER (recipient username), -# EXTENSION (address extension), DOMAIN (domain part of address), -# and LOCAL (the address localpart). -# -# Unlike other Postfix configuration parameters, the mailbox_command -# parameter is not subjected to $parameter substitutions. This is to -# make it easier to specify shell syntax (see example below). -# -# Avoid shell meta characters because they will force Postfix to run -# an expensive shell process. Procmail alone is expensive enough. -# -# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN -# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER. -# -#mailbox_command = /usr/bin/procmail -#mailbox_command = /usr/bin/procmail -a "$EXTENSION" - -# The mailbox_transport specifies the optional transport in master.cf -# to use after processing aliases and .forward files. This parameter -# has precedence over the mailbox_command, fallback_transport and -# luser_relay parameters. -# -# Specify a string of the form transport:nexthop, where transport is -# the name of a mail delivery transport defined in master.cf. The -# :nexthop part is optional. For more details see the sample transport -# configuration file. -# -# NOTE: if you use this feature for accounts not in the UNIX password -# file, then you must update the "local_recipient_maps" setting in -# the main.cf file, otherwise the SMTP server will reject mail for -# non-UNIX accounts with "User unknown in local recipient table". -# -# Cyrus IMAP over LMTP. Specify ``lmtpunix cmd="lmtpd" -# listen="/var/imap/socket/lmtp" prefork=0'' in cyrus.conf. -#mailbox_transport = lmtp:unix:/var/imap/socket/lmtp -# -# Cyrus IMAP via command line. Uncomment the "cyrus...pipe" and -# subsequent line in master.cf. -#mailbox_transport = cyrus - -# The fallback_transport specifies the optional transport in master.cf -# to use for recipients that are not found in the UNIX passwd database. -# This parameter has precedence over the luser_relay parameter. -# -# Specify a string of the form transport:nexthop, where transport is -# the name of a mail delivery transport defined in master.cf. The -# :nexthop part is optional. For more details see the sample transport -# configuration file. -# -# NOTE: if you use this feature for accounts not in the UNIX password -# file, then you must update the "local_recipient_maps" setting in -# the main.cf file, otherwise the SMTP server will reject mail for -# non-UNIX accounts with "User unknown in local recipient table". -# -#fallback_transport = lmtp:unix:/file/name -#fallback_transport = cyrus -#fallback_transport = - -# The luser_relay parameter specifies an optional destination address -# for unknown recipients. By default, mail for unknown@$mydestination, -# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned -# as undeliverable. -# -# The following expansions are done on luser_relay: $user (recipient -# username), $shell (recipient shell), $home (recipient home directory), -# $recipient (full recipient address), $extension (recipient address -# extension), $domain (recipient domain), $local (entire recipient -# localpart), $recipient_delimiter. Specify ${name?value} or -# ${name:value} to expand value only when $name does (does not) exist. -# -# luser_relay works only for the default Postfix local delivery agent. -# -# NOTE: if you use this feature for accounts not in the UNIX password -# file, then you must specify "local_recipient_maps =" (i.e. empty) in -# the main.cf file, otherwise the SMTP server will reject mail for -# non-UNIX accounts with "User unknown in local recipient table". -# -#luser_relay = $user@other.host -#luser_relay = $local@other.host -#luser_relay = admin+$local - -# JUNK MAIL CONTROLS -# -# The controls listed here are only a very small subset. The file -# SMTPD_ACCESS_README provides an overview. - -# The header_checks parameter specifies an optional table with patterns -# that each logical message header is matched against, including -# headers that span multiple physical lines. -# -# By default, these patterns also apply to MIME headers and to the -# headers of attached messages. With older Postfix versions, MIME and -# attached message headers were treated as body text. -# -# For details, see "man header_checks". -# -#header_checks = regexp:/etc/postfix/header_checks - -# FAST ETRN SERVICE -# -# Postfix maintains per-destination logfiles with information about -# deferred mail, so that mail can be flushed quickly with the SMTP -# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld". -# See the ETRN_README document for a detailed description. -# -# The fast_flush_domains parameter controls what destinations are -# eligible for this service. By default, they are all domains that -# this server is willing to relay mail to. -# -#fast_flush_domains = $relay_domains - -# SHOW SOFTWARE VERSION OR NOT -# -# The smtpd_banner parameter specifies the text that follows the 220 -# code in the SMTP server's greeting banner. Some people like to see -# the mail version advertised. By default, Postfix shows no version. -# -# You MUST specify $myhostname at the start of the text. That is an -# RFC requirement. Postfix itself does not care. -# -#smtpd_banner = $myhostname ESMTP $mail_name -#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) -smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) - - -# PARALLEL DELIVERY TO THE SAME DESTINATION -# -# How many parallel deliveries to the same user or domain? With local -# delivery, it does not make sense to do massively parallel delivery -# to the same user, because mailbox updates must happen sequentially, -# and expensive pipelines in .forward files can cause disasters when -# too many are run at the same time. With SMTP deliveries, 10 -# simultaneous connections to the same domain could be sufficient to -# raise eyebrows. -# -# Each message delivery transport has its XXX_destination_concurrency_limit -# parameter. The default is $default_destination_concurrency_limit for -# most delivery transports. For the local delivery agent the default is 2. - -#local_destination_concurrency_limit = 2 -#default_destination_concurrency_limit = 20 - -# DEBUGGING CONTROL -# -# The debug_peer_level parameter specifies the increment in verbose -# logging level when an SMTP client or server host name or address -# matches a pattern in the debug_peer_list parameter. -# -#debug_peer_level = 2 - -# The debug_peer_list parameter specifies an optional list of domain -# or network patterns, /file/name patterns or type:name tables. When -# an SMTP client or server host name or address matches a pattern, -# increase the verbose logging level by the amount specified in the -# debug_peer_level parameter. -# -#debug_peer_list = 127.0.0.1 -#debug_peer_list = some.domain - -# The debugger_command specifies the external command that is executed -# when a Postfix daemon program is run with the -D option. -# -# Use "command .. & sleep 5" so that the debugger can attach before -# the process marches on. If you use an X-based debugger, be sure to -# set up your XAUTHORITY environment variable before starting Postfix. -# -debugger_command = - PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin - ddd $daemon_directory/$process_name $process_id & sleep 5 - -# If you can't use X, use this to capture the call stack when a -# daemon crashes. The result is in a file in the configuration -# directory, and is named after the process name and the process ID. -# -# debugger_command = -# PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; -# echo where) | gdb $daemon_directory/$process_name $process_id 2>&1 -# >$config_directory/$process_name.$process_id.log & sleep 5 -# -# Another possibility is to run gdb under a detached screen session. -# To attach to the screen sesssion, su root and run "screen -r -# " where uniquely matches one of the detached -# sessions (from "screen -list"). -# -# debugger_command = -# PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen -# -dmS $process_name gdb $daemon_directory/$process_name -# $process_id & sleep 1 - -# INSTALL-TIME CONFIGURATION INFORMATION -# -# The following parameters are used when installing a new Postfix version. -# -# sendmail_path: The full pathname of the Postfix sendmail command. -# This is the Sendmail-compatible mail posting interface. -# -sendmail_path = - -# newaliases_path: The full pathname of the Postfix newaliases command. -# This is the Sendmail-compatible command to build alias databases. -# -newaliases_path = - -# mailq_path: The full pathname of the Postfix mailq command. This -# is the Sendmail-compatible mail queue listing command. -# -mailq_path = - -# setgid_group: The group for mail submission and queue management -# commands. This must be a group name with a numerical group ID that -# is not shared with other accounts, not even with the Postfix account. -# -setgid_group = - -# html_directory: The location of the Postfix HTML documentation. -# -html_directory = - -# manpage_directory: The location of the Postfix on-line manual pages. -# -manpage_directory = - -# sample_directory: The location of the Postfix sample configuration files. -# This parameter is obsolete as of Postfix 2.1. -# -sample_directory = - -# readme_directory: The location of the Postfix README files. -# -readme_directory = -inet_protocols = ipv4 diff --git a/mail/etc/postfix/master.cf b/mail/etc/postfix/master.cf index 47d5bdc..8c16a96 100644 --- a/mail/etc/postfix/master.cf +++ b/mail/etc/postfix/master.cf @@ -8,7 +8,7 @@ # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== -smtp inet n - y - - smtpd +#smtp inet n - y - - smtpd # -o milter_macro_daemon_name=ORIGINATING # -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject @@ -148,3 +148,8 @@ smtp-amavis unix - - y - 2 smtp # Added using postfix-add-policy script: policy-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/policyd-spf +#smtp inet n - n - 1 postscreen +#smtpd pass - - n - - smtpd +#dnsblog unix - - n - 0 dnsblog +#tlsproxy unix - - n - 0 tlsproxy +postlog unix-dgram n - n - 1 postlogd diff --git a/mail/etc/postfix/master.cf.1548372339 b/mail/etc/postfix/master.cf.1548372339 deleted file mode 100644 index 6fb784f..0000000 --- a/mail/etc/postfix/master.cf.1548372339 +++ /dev/null @@ -1,143 +0,0 @@ -# -# 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 - y - - smtpd -# -o milter_macro_daemon_name=ORIGINATING -# -o smtpd_client_restrictions=permit_sasl_authenticated,reject -# -o smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject -# -o smtpd_client_restrictions= -# -o smtpd_helo_restrictions= -# -o smtpd_sender_restrictions= -# -o smtpd_recipient_restrictions= -# -o smtpd_data_restrictions= -# -o smtpd_end_of_data_restrictions= -submission inet n - y - - smtpd -smtps inet n - y - - smtpd -# -o smtpd_tls_wrappermode=yes -# -o smtpd_sasl_auth_enable=yes -# -o smtpd_client_restrictions=permit_sasl_authenticated,reject -# -o milter_macro_daemon_name=ORIGINATING -#628 inet n - - - - qmqpd -ssmtp inet n - y - - smtpd -pickup fifo n - y 60 1 pickup - -o content_filter= - -o receive_override_options=no_header_body_checks -cleanup unix n - y - 0 cleanup -qmgr fifo n - n 300 1 qmgr -#qmgr fifo n - - 300 1 oqmgr -tlsmgr unix - - y 1000? 1 tlsmgr -rewrite unix - - y - - trivial-rewrite -bounce unix - - y - 0 bounce -defer unix - - y - 0 bounce -trace unix - - y - 0 bounce -verify unix - - y - 1 verify -flush unix n - y 1000? 0 flush -proxymap unix - - n - - proxymap -proxywrite unix - - n - 1 proxymap -# When relaying mail as backup MX, disable fallback_relay to avoid MX loops -smtp unix - - y - - smtp -# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 -relay unix - - y - - smtp - -o smtp_fallback_relay= -showq unix n - y - - showq -error unix - - y - - error -retry unix - - y - - error -discard unix - - y - - discard -local unix - n n - - local -virtual unix - n n - - virtual -lmtp unix - - y - - lmtp -anvil unix - - y - 1 anvil -# -# ==================================================================== -# 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 -# -scache unix - - y - 1 scache -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. -# -ifmail unix - n n - - pipe - flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) -bsmtp unix - n n - - pipe - flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient -scalemail-backend unix - n n - 2 pipe - flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} -mailman unix - n n - - pipe - flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py - ${nexthop} ${user} -# From https://help.ubuntu.com/10.10/serverguide/C/mail-filtering.html#mail-filter-installation - -smtp-amavis unix - - y - 2 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 - y - - smtpd - -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 diff --git a/mail/etc/postfix/master.cf.bk b/mail/etc/postfix/master.cf.bk deleted file mode 100644 index 67c512a..0000000 --- a/mail/etc/postfix/master.cf.bk +++ /dev/null @@ -1,150 +0,0 @@ -# -# 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 - -o smtpd_enforce_tls=yes - -o smtpd_use_tls=yes - -o smtpd_tls_security_level=encrypt -submission inet n - - - - smtpd - -o smtpd_enforce_tls=yes - -o smtpd_use_tls=yes - -o smtpd_tls_security_level=encrypt - -o smtpd_sasl_auth_enable=yes -# -o milter_macro_daemon_name=ORIGINATING -# -o smtpd_client_restrictions=permit_sasl_authenticated,reject -# -o smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject -# -o smtpd_client_restrictions= -# -o smtpd_helo_restrictions= -# -o smtpd_sender_restrictions= -# -o smtpd_recipient_restrictions= -# -o smtpd_data_restrictions= -# -o smtpd_end_of_data_restrictions= -smtps inet n - - - - smtpd -ssmtp inet n - - - - smtpd -# -o smtpd_tls_wrappermode=yes -# -o smtpd_sasl_auth_enable=yes -# -o smtpd_client_restrictions=permit_sasl_authenticated,reject -# -o milter_macro_daemon_name=ORIGINATING -#628 inet n - - - - qmqpd -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 -#qmgr fifo n - - 300 1 oqmgr -tlsmgr unix - - - 1000? 1 tlsmgr -rewrite unix - - - - - trivial-rewrite -bounce unix - - - - 0 bounce -defer unix - - - - 0 bounce -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. -# -ifmail unix - n n - - pipe - flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) -bsmtp unix - n n - - pipe - flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient -scalemail-backend unix - n n - 2 pipe - flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} -mailman unix - n n - - pipe - flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py - ${nexthop} ${user} -# From https://help.ubuntu.com/10.10/serverguide/C/mail-filtering.html#mail-filter-installation -smtp-amavis unix - - - - 2 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 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 - diff --git a/mail/etc/postfix/master.cf.proto b/mail/etc/postfix/master.cf.proto deleted file mode 100644 index ff58b4d..0000000 --- a/mail/etc/postfix/master.cf.proto +++ /dev/null @@ -1,124 +0,0 @@ -# -# Postfix master process configuration file. For details on the format -# of the file, see the master(5) manual page (command: "man 5 master" or -# on-line: http://www.postfix.org/master.5.html). -# -# Do not forget to execute "postfix reload" after editing this file. -# -# ========================================================================== -# service type private unpriv chroot wakeup maxproc command + args -# (yes) (yes) (no) (never) (100) -# ========================================================================== -smtp inet n - y - - smtpd -#smtp inet n - y - 1 postscreen -#smtpd pass - - y - - smtpd -#dnsblog unix - - y - 0 dnsblog -#tlsproxy unix - - y - 0 tlsproxy -#submission inet n - y - - smtpd -# -o syslog_name=postfix/submission -# -o smtpd_tls_security_level=encrypt -# -o smtpd_sasl_auth_enable=yes -# -o smtpd_reject_unlisted_recipient=no -# -o smtpd_client_restrictions=$mua_client_restrictions -# -o smtpd_helo_restrictions=$mua_helo_restrictions -# -o smtpd_sender_restrictions=$mua_sender_restrictions -# -o smtpd_recipient_restrictions= -# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -# -o milter_macro_daemon_name=ORIGINATING -#smtps inet n - y - - smtpd -# -o syslog_name=postfix/smtps -# -o smtpd_tls_wrappermode=yes -# -o smtpd_sasl_auth_enable=yes -# -o smtpd_reject_unlisted_recipient=no -# -o smtpd_client_restrictions=$mua_client_restrictions -# -o smtpd_helo_restrictions=$mua_helo_restrictions -# -o smtpd_sender_restrictions=$mua_sender_restrictions -# -o smtpd_recipient_restrictions= -# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -# -o milter_macro_daemon_name=ORIGINATING -#628 inet n - y - - qmqpd -pickup unix n - y 60 1 pickup -cleanup unix n - y - 0 cleanup -qmgr unix n - n 300 1 qmgr -#qmgr unix n - n 300 1 oqmgr -tlsmgr unix - - y 1000? 1 tlsmgr -rewrite unix - - y - - trivial-rewrite -bounce unix - - y - 0 bounce -defer unix - - y - 0 bounce -trace unix - - y - 0 bounce -verify unix - - y - 1 verify -flush unix n - y 1000? 0 flush -proxymap unix - - n - - proxymap -proxywrite unix - - n - 1 proxymap -smtp unix - - y - - smtp -relay unix - - y - - smtp -# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 -showq unix n - y - - showq -error unix - - y - - error -retry unix - - y - - error -discard unix - - y - - discard -local unix - n n - - local -virtual unix - n n - - virtual -lmtp unix - - y - - lmtp -anvil unix - - y - 1 anvil -scache unix - - y - 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. -# -ifmail unix - n n - - pipe - flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) -bsmtp unix - n n - - pipe - flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient -scalemail-backend unix - n n - 2 pipe - flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} -mailman unix - n n - - pipe - flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py - ${nexthop} ${user} - diff --git a/mail/etc/rsyslog.conf b/mail/etc/rsyslog.conf new file mode 100644 index 0000000..9a1b82a --- /dev/null +++ b/mail/etc/rsyslog.conf @@ -0,0 +1,59 @@ +# /etc/rsyslog.conf configuration file for rsyslog +# +# For more information install rsyslog-doc and see +# /usr/share/doc/rsyslog-doc/html/configuration/index.html +# +# Default logging rules can be found in /etc/rsyslog.d/50-default.conf + + +################# +#### MODULES #### +################# + +module(load="imuxsock") # provides support for local system logging +#module(load="immark") # provides --MARK-- message capability + +# provides UDP syslog reception +#module(load="imudp") +#input(type="imudp" port="514") + +# provides TCP syslog reception +#module(load="imtcp") +#input(type="imtcp" port="514") + +# provides kernel logging support and enable non-kernel klog messages +#module(load="imklog" permitnonkernelfacility="on") + +########################### +#### GLOBAL DIRECTIVES #### +########################### + +# +# Use traditional timestamp format. +# To enable high precision timestamps, comment out the following line. +# +$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat + +# Filter duplicated messages +$RepeatedMsgReduction on + +# +# Set the default permissions for all log files. +# +$FileOwner syslog +$FileGroup adm +$FileCreateMode 0640 +$DirCreateMode 0755 +$Umask 0022 +$PrivDropToUser syslog +$PrivDropToGroup syslog + +# +# Where to place spool and state files +# +$WorkDirectory /var/spool/rsyslog + +# +# Include all config files in /etc/rsyslog.d/ +# +$IncludeConfig /etc/rsyslog.d/*.conf