]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/exim/templates/default/exim4.conf.erb
Use a letsencrypt certificate for the main mail server
[chef.git] / cookbooks / exim / templates / default / exim4.conf.erb
index 530b105d43a7daf06f1431b49b702602bd201d46..18544c091746dbd64a3153e3385f0b1c2ee1a49a 100644 (file)
@@ -146,14 +146,23 @@ spamd_address = 127.0.0.1 783
 
 tls_advertise_hosts = <; !127.0.0.1 ; !::1
 
 
 tls_advertise_hosts = <; !127.0.0.1 ; !::1
 
+# Configured TLS cipher selection.
+
+tls_require_ciphers = <%= node[:ssl][:gnutls_ciphers] %>:%SERVER_PRECEDENCE
+
 # Specify the location of the Exim server's TLS certificate and private key.
 # The private key must not be encrypted (password protected). You can put
 # the certificate and private key in the same file, in which case you only
 # need the first setting, or in separate files, in which case you need both
 # options.
 
 # Specify the location of the Exim server's TLS certificate and private key.
 # The private key must not be encrypted (password protected). You can put
 # the certificate and private key in the same file, in which case you only
 # need the first setting, or in separate files, in which case you need both
 # options.
 
+<% if node[:exim][:certificate_names] -%>
+tls_certificate = /etc/ssl/certs/<%= node[:exim][:certificate_names].first %>.pem
+tls_privatekey = /etc/ssl/private/<%= node[:exim][:certificate_names].first %>.key
+<% else -%>
 tls_certificate = /etc/ssl/certs/exim.pem
 tls_privatekey = /etc/ssl/private/exim.key
 tls_certificate = /etc/ssl/certs/exim.pem
 tls_privatekey = /etc/ssl/private/exim.key
+<% end -%>
 
 # In order to support roaming users who wish to send email from anywhere,
 # you may want to make Exim listen on other ports as well as port 25, in
 
 # In order to support roaming users who wish to send email from anywhere,
 # you may want to make Exim listen on other ports as well as port 25, in
@@ -383,9 +392,10 @@ acl_check_rcpt:
   deny    local_parts   = root:postmaster:webmaster:abuse:support
           senders       = :
 
   deny    local_parts   = root:postmaster:webmaster:abuse:support
           senders       = :
 
-  # Block sender of spam backscatter
+  # Block blacklisted senders
 
 
-  deny    senders       = www-data@www.easyticket.de:*@email.realestate.co.nz:sipdentistry@mail.mediaworksonline.com:www-data@*.consoglobe.com:lina-noreply@jobstreet.com:apache@704210-web2.tristatecamera.com:webmaster@openstreetmap.org:noreply@pring.co.uk:admin@honeygame.com
+  deny    senders       = lsearch*@;/etc/exim4/blocked-senders
+          message       = Rejected because $sender_address is blacklisted\nQueries to postmaster@$qualify_domain
           !hosts        = +relay_from_hosts
 
   # Accept mail to postmaster in any local domain, regardless of the source,
           !hosts        = +relay_from_hosts
 
   # Accept mail to postmaster in any local domain, regardless of the source,
@@ -656,6 +666,8 @@ begin transports
 
 remote_smtp:
   driver = smtp
 
 remote_smtp:
   driver = smtp
+  multi_domain = false
+  tls_require_ciphers = <%= node[:ssl][:gnutls_ciphers] %>:%LATEST_RECORD_VERSION
 
 
 # This transport is used for handling pipe deliveries generated by alias or
 
 
 # This transport is used for handling pipe deliveries generated by alias or
@@ -774,6 +786,7 @@ begin retry
 # There are no rewriting specifications in this default configuration file.
 
 begin rewrite
 # There are no rewriting specifications in this default configuration file.
 
 begin rewrite
+*@<%= node[:fqdn] %> "${if !match {${lookup{$1}lsearch{/etc/aliases}{$value}}}{@} {$1@openstreetmap.org}fail}" Eh
 <% node[:exim][:rewrites].each do |rewrite| -%>
 <%= rewrite[:pattern] %> <%= rewrite[:replacement] %> <%= rewrite[:flags] %>
 <% end -%>
 <% node[:exim][:rewrites].each do |rewrite| -%>
 <%= rewrite[:pattern] %> <%= rewrite[:replacement] %> <%= rewrite[:flags] %>
 <% end -%>