Maintenance on emailout
authorJan Dittberner <jandd@cacert.org>
Fri, 16 Feb 2018 13:36:54 +0000 (14:36 +0100)
committerJan Dittberner <jandd@cacert.org>
Fri, 16 Feb 2018 13:40:42 +0000 (14:40 +0100)
- upgrade OS to Debian Stretch
- modernize Postfix configuration
- setup ED25519 ssh host key

docs/configdiff/emailout/postfix-main.cf [new file with mode: 0644]
docs/configdiff/emailout/postfix.diff [deleted file]
docs/systems/emailout.rst

diff --git a/docs/configdiff/emailout/postfix-main.cf b/docs/configdiff/emailout/postfix-main.cf
new file mode 100644 (file)
index 0000000..90c57a1
--- /dev/null
@@ -0,0 +1,52 @@
+# 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").
+#
+
+compatibility_level = 2
+
+mydomain = emailout.intra.cacert.org
+myorigin = /etc/mailname
+
+mydestination = emailout.cacert.org, emailout, localhost.localdomain, localhost
+myhostname = emailout.intra.cacert.org
+
+mynetworks = 172.16.2.0/24 10.0.0.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
+
+smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
+
+biff = no
+
+smtp_helo_name = infrastructure.cacert.org
+
+# TLS parameters
+#
+# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
+# information on enabling SSL in the smtp client.
+
+smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
+smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
+smtpd_tls_security_level=may
+smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
+smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
+
+# map internal host names to their corresponding admin addresses
+canonical_maps = pcre:/etc/postfix/canonical_maps
+
+mailbox_size_limit = 0
+recipient_delimiter = +
+
+# DKIM milter
+# http://www.postfix.org/MILTER_README.html
+# TODO: enable DKIM once the DNS record is in place
+#smtpd_milters = unix:/opendkim/opendkim.sock
+#non_smtpd_milters = $smtpd_milters
+
+# what to do if the dkim filter fails
+#milter_default_action = accept
+#milter_command_timeout = 5s
+#milter_connect_timeout = $milter_command_timeout
+#milter_content_timeout = 45s
+
+transport_maps = hash:/etc/postfix/transport
+local_transport = error:local delivery is disabled
diff --git a/docs/configdiff/emailout/postfix.diff b/docs/configdiff/emailout/postfix.diff
deleted file mode 100644 (file)
index 1e1d759..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-diff -urwN wheezy-chroot/etc/postfix/dynamicmaps.cf vm-emailout/rootfs/etc/postfix/dynamicmaps.cf
---- wheezy-chroot/etc/postfix/dynamicmaps.cf   2016-05-08 00:51:54.738716333 +0200
-+++ vm-emailout/rootfs/etc/postfix/dynamicmaps.cf      2015-02-02 13:58:10.151038663 +0100
-@@ -4,3 +4,4 @@
- #==== ================================        =============   ============
- tcp   /usr/lib/postfix/dict_tcp.so            dict_tcp_open   
- sqlite        /usr/lib/postfix/dict_sqlite.so         dict_sqlite_open        
-+pcre  /usr/lib/postfix/dict_pcre.so           dict_pcre_open  
-diff -urwN wheezy-chroot/etc/postfix/main.cf vm-emailout/rootfs/etc/postfix/main.cf
---- wheezy-chroot/etc/postfix/main.cf  2016-05-08 00:51:55.514721219 +0200
-+++ vm-emailout/rootfs/etc/postfix/main.cf     2015-02-02 19:13:43.370652677 +0100
-@@ -5,6 +5,8 @@
- # line of that file to be used as the name.  The Debian default
- # is /etc/mailname.
- #myorigin = /etc/mailname
-+mydomain = emailout.intra.cacert.org
-+smtp_helo_name = infrastructure.cacert.org
- smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
- biff = no
-@@ -24,16 +26,37 @@
- smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
- smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
-+smtp_tls_security_level = may
-+
-+# map internal host names to their corresponding admin addresses
-+canonical_maps = pcre:/etc/postfix/canonical_maps
-+
- # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
- # information on enabling SSL in the smtp client.
--myhostname = infra02.intra.cacert.org
-+myhostname = emailout.intra.cacert.org
- alias_maps = hash:/etc/aliases
- alias_database = hash:/etc/aliases
- myorigin = /etc/mailname
--mydestination = infra02.intra.cacert.org, localhost.intra.cacert.org, , localhost
-+mydestination = emailout.cacert.org, emailout, localhost.localdomain, localhost
- relayhost = 
--mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
-+mynetworks = 172.16.2.0/24 10.0.0.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
- mailbox_size_limit = 0
- recipient_delimiter = +
- inet_interfaces = all
-+inet_protocols = all
-+
-+# DKIM milter
-+# http://www.postfix.org/MILTER_README.html
-+# TODO: enable DKIM once the DNS record is in place
-+#smtpd_milters = unix:/opendkim/opendkim.sock
-+#non_smtpd_milters = $smtpd_milters
-+
-+# what to do if the dkim filter fails
-+#milter_default_action = accept
-+#milter_command_timeout = 5s
-+#milter_connect_timeout = $milter_command_timeout
-+#milter_content_timeout = 45s
-+
-+transport_maps = hash:/etc/postfix/transport
-+local_transport = error:local delivery is disabled
index 8bf2aab..e17ab52 100644 (file)
@@ -77,10 +77,10 @@ Operating System
 ----------------
 
 .. index::
 ----------------
 
 .. index::
-   single: Debian GNU/Linux; Wheezy
-   single: Debian GNU/Linux; 7.11
+   single: Debian GNU/Linux; Stretch
+   single: Debian GNU/Linux; 9.3
 
 
-* Debian GNU/Linux 7.11
+* Debian GNU/Linux 9.3
 
 Applicable Documentation
 ------------------------
 
 Applicable Documentation
 ------------------------
@@ -156,19 +156,17 @@ Outbound network connections
 
 * DNS (53) resolving nameservers 172.16.2.2 and 172.16.2.3
 * :doc:`emailout` as SMTP relay
 
 * DNS (53) resolving nameservers 172.16.2.2 and 172.16.2.3
 * :doc:`emailout` as SMTP relay
-* ftp.nl.debian.org as Debian mirror
-* security.debian.org for Debian security updates
+* :doc:`proxyout` as HTTP proxy for APT
 * SMTP (25/tcp) to :doc:`email`, :doc:`issue` and :doc:`lists`
 
 Security
 ========
 
 .. sshkeys::
 * SMTP (25/tcp) to :doc:`email`, :doc:`issue` and :doc:`lists`
 
 Security
 ========
 
 .. sshkeys::
-   :RSA:   56:09:89:92:af:3c:15:e4:a3:06:11:63:0e:be:b6:a2
-   :DSA:   6c:8d:31:c4:92:de:f0:a8:95:eb:fe:20:83:91:ca:07
-   :ECDSA: cb:3c:69:c5:a1:90:c6:8e:55:40:83:6c:10:3f:09:b4
-
-.. todo:: setup ED25519 ssh host key
+   :RSA:     SHA256:blDVsgNABraet7oZ0/P9LEgBW+ors9XioPjPJf8DAFU MD5:56:09:89:92:af:3c:15:e4:a3:06:11:63:0e:be:b6:a2
+   :DSA:     SHA256:p0AvAUtHuAVmPJBNq7yVkNt9jQ81DOptn2PhK8J7rAw MD5:6c:8d:31:c4:92:de:f0:a8:95:eb:fe:20:83:91:ca:07
+   :ECDSA:   SHA256:kJTc+IYFI6g1QuxMxG+8/tOW9VJbwgLP7PQtGnBEE20 MD5:cb:3c:69:c5:a1:90:c6:8e:55:40:83:6c:10:3f:09:b4
+   :ED25519: SHA256:TOtIitF+p8jbFh/fM1fic9LqH+W+GDeUqs18S/36qKU MD5:04:ca:72:d0:21:0a:4a:8b:a5:f7:a2:2f:10:e5:3f:92
 
 Non-distribution packages and modifications
 -------------------------------------------
 
 Non-distribution packages and modifications
 -------------------------------------------
@@ -188,23 +186,6 @@ Keys and X.509 certificates
 
 .. todo:: setup a proper certificate for incoming STARTTLS
 
 
 .. todo:: setup a proper certificate for incoming STARTTLS
 
-.. use the sslcert directive to have certificates added to the certificate list
-   automatically
-
-.. .. sslcert:: template.cacert.org
-      :altnames:
-      :certfile:
-      :keyfile:
-      :serial:
-      :expiration:
-      :sha1fp:
-      :issuer:
-
-.. * `/etc/apache2/ssl/cacert-certs.pem` CAcert.org Class 1 and Class 3 CA
-     certificates (allowed CA certificates for client certificates)
-   * `/etc/apache2/ssl/cacert-chain.pem` CAcert.org Class 1 certificate
-     (certificate chain for server certificate)
-
 .. index::
    pair: DKIM; Private Key
    see: DKIM; OpenDKIM
 .. index::
    pair: DKIM; Private Key
    see: DKIM; OpenDKIM
@@ -238,12 +219,12 @@ Postfix configuration file:`/etc/postfix/main.cf` and :file:`/etc/postfix/dynami
 
 * set infrastructure related host and network parameters
 * allow regular expressions in maps
 
 * set infrastructure related host and network parameters
 * allow regular expressions in maps
-* activate oportunistic TLS
+* activate opportunistic TLS
 * prepare for DKIM support
 * disable local delivery
 
 * prepare for DKIM support
 * disable local delivery
 
-.. literalinclude:: ../configdiff/emailout/postfix.diff
-   :language: diff
+.. literalinclude:: ../configdiff/emailout/postfix-main.cf
+   :language: text
 
 Emails sent to specific intranet hostnames are rewritten to their respective
 admin addresses in :file:`/etc/postfix/canonical_maps`:
 
 Emails sent to specific intranet hostnames are rewritten to their respective
 admin addresses in :file:`/etc/postfix/canonical_maps`:
@@ -280,21 +261,29 @@ following lines have been added:
 
 .. code:: diff
 
 
 .. code:: diff
 
-   --- wheezy-chroot/etc/opendkim.conf        2013-01-09 04:10:46.000000000 +0100
-   +++ vm-emailout/rootfs/etc/opendkim.conf   2015-02-02 15:47:58.161884259 +0100
-   @@ -13,6 +13,12 @@
+   --- opendkim.conf.dpkg-dist     2017-09-04 00:17:50.000000000 +0000
+   +++ opendkim.conf       2018-02-16 13:38:55.545110292 +0000
+   @@ -13,6 +13,11 @@
     #Domain                        example.com
     #Domain                        example.com
-    #KeyFile               /etc/mail/dkim.key
+    #KeyFile               /etc/dkimkeys/dkim.key
     #Selector              2007
    +Domain                  cacert.org
    +KeyFile                 /etc/dkim/2015.private
    +Selector                2015
    +
     #Selector              2007
    +Domain                  cacert.org
    +KeyFile                 /etc/dkim/2015.private
    +Selector                2015
    +
-   +Socket                  /var/spool/postfix/opendkim/opendkim.sock
    +InternalHosts           /etc/dkim/internalhosts
 
     # Commonly-used options; the commented-out versions show the defaults.
     #Canonicalization      simple
    +InternalHosts           /etc/dkim/internalhosts
 
     # Commonly-used options; the commented-out versions show the defaults.
     #Canonicalization      simple
+   @@ -31,7 +36,7 @@
+    # ##  local:/path/to/socket       to listen on a UNIX domain socket
+    #
+    #Socket                  inet:8892@localhost
+   -Socket                 local:/var/run/opendkim/opendkim.sock
+   +Socket                  local:/var/spool/postfix/opendkim/opendkim.sock
+
+    ##  PidFile filename
+    ###      default (none)
 
 The key has been generated with::
 
 
 The key has been generated with::
 
@@ -315,7 +304,6 @@ Tasks
 Planned
 -------
 
 Planned
 -------
 
-.. todo:: update the system to Debian Jessie
 .. todo:: setup IPv6
 
 Changes
 .. todo:: setup IPv6
 
 Changes