]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/exim/templates/default/exim4.conf.erb
Disable SSLv3 for SMTP connections
[chef.git] / cookbooks / exim / templates / default / exim4.conf.erb
index 3d6e3a40ae413e518eba439f44e1b1c2b8978054..caac72c527bbe7c7cd4433f544f89fe72a424407 100644 (file)
@@ -146,6 +146,10 @@ spamd_address = 127.0.0.1 783
 
 tls_advertise_hosts = <; !127.0.0.1 ; !::1
 
+# Configured TLS cipher selection.
+
+tls_require_ciphers = NORMAL:%LATEST_RECORD_VERSION:-VERS-SSL3.0
+
 # 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
@@ -330,9 +334,7 @@ acl_check_rcpt:
   # testing for an empty sending host field.
 
   accept  hosts = :
-<% if node[:lsb][:release].to_i >= 10.04 -%>
           control = dkim_disable_verify
-<% end -%>
 
   #############################################################################
   # The following section of the ACL is concerned with local parts that contain
@@ -385,9 +387,11 @@ acl_check_rcpt:
   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
+  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,
   # and without verifying the sender.
@@ -421,9 +425,7 @@ acl_check_rcpt:
 
   accept  hosts         = +relay_from_hosts
           control       = submission
-<% if node[:lsb][:release].to_i >= 10.04 -%>
           control       = dkim_disable_verify
-<% end -%>
 
   # Accept if the message arrived over an authenticated connection, from
   # any host. Again, these messages are usually from MUAs, so recipient
@@ -432,9 +434,7 @@ acl_check_rcpt:
 
   accept  authenticated = *
           control       = submission
-<% if node[:lsb][:release].to_i >= 10.04 -%>
           control       = dkim_disable_verify
-<% end -%>
 
   # Insist that any other recipient address that we accept is either in one of
   # our local domains, or is in a domain for which we explicitly allow
@@ -502,6 +502,13 @@ acl_check_data:
           message    = This message scored $spam_score SpamAssassin points.
 
 <% end -%>
+  # Deny spammy messages with headers of the form:
+  #   X-PHP-Originating-Script: <digits>:<name>.php
+  #   X-PHP-Originating-Script: <digits>:<name>.class.php
+  deny    condition  = ${if match {$h_X-PHP-Originating-Script:}{^[0-9]+:[A-Za-z]+(\\.class)?\\.php\$}}
+         !hosts      = +relay_from_hosts
+          message    = This message failed local spam checks.
+
   # Accept the message.
 
   accept
@@ -654,6 +661,8 @@ begin transports
 
 remote_smtp:
   driver = smtp
+  multi_domain = false
+  tls_require_ciphers = NORMAL:%LATEST_RECORD_VERSION:-VERS-SSL3.0
 
 
 # This transport is used for handling pipe deliveries generated by alias or
@@ -719,7 +728,7 @@ noreply:
   command = <%= details[:command] %>
   home_directory = <%= details[:home_directory] %>
   path = <%= details[:path] || "/bin:/usr/bin" %>
-  return_output
+  return_fail_output
 <% else -%>
   driver = appendfile
 <% if details[:file] -%>
@@ -772,6 +781,7 @@ begin retry
 # 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 -%>