]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/exim/templates/default/exim4.conf.erb
Block spammy emails
[chef.git] / cookbooks / exim / templates / default / exim4.conf.erb
index 41403b04bd31d67a74005d622625fac731ba0eaf..f37dad240764f84b97ec9839748cef5bd4f29095 100644 (file)
@@ -306,6 +306,12 @@ log_selector = +all -skip_delivery
 trusted_users = <%= node[:exim][:trusted_users].join(" : ") %>
 
 
 trusted_users = <%= node[:exim][:trusted_users].join(" : ") %>
 
 
+# Don't keep any environment when starting programs - this is the
+# default but setting it stops exim warning
+
+keep_environment =
+
+
 
 ######################################################################
 #                       ACL CONFIGURATION                            #
 
 ######################################################################
 #                       ACL CONFIGURATION                            #
@@ -371,9 +377,19 @@ acl_check_rcpt:
 
   deny    message       = Restricted characters in address
           domains       = !+local_domains
 
   deny    message       = Restricted characters in address
           domains       = !+local_domains
-          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
+          local_parts   = ^[./|] : ^.*[@!] : ^.*/\\.\\./
   #############################################################################
 
   #############################################################################
 
+  # Block bounces to selected addresses
+
+  deny    local_parts   = root:postmaster:webmaster:abuse:support
+          senders       = :
+
+  # Block sender of spam backscatter
+
+  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
+          !hosts        = +relay_from_hosts
+
   # Accept mail to postmaster in any local domain, regardless of the source,
   # and without verifying the sender.
 
   # Accept mail to postmaster in any local domain, regardless of the source,
   # and without verifying the sender.
 
@@ -385,10 +401,6 @@ acl_check_rcpt:
   deny   !hosts         = +relay_from_hosts
          !verify        = sender
 
   deny   !hosts         = +relay_from_hosts
          !verify        = sender
 
-  deny   !hosts         = +relay_from_hosts
-         !senders       = lsearch*@;/etc/exim4/callout_exempt_senders
-         !verify        = sender/callout/defer_ok
-
   # Accept if the message comes from one of the hosts for which we are an
   # outgoing relay. It is assumed that such hosts are most likely to be MUAs,
   # so we set control=submission to make Exim treat the message as a
   # Accept if the message comes from one of the hosts for which we are an
   # outgoing relay. It is assumed that such hosts are most likely to be MUAs,
   # so we set control=submission to make Exim treat the message as a
@@ -491,6 +503,12 @@ acl_check_data:
           message    = This message scored $spam_score SpamAssassin points.
 
 <% end -%>
           message    = This message scored $spam_score SpamAssassin points.
 
 <% end -%>
+  # Deny spammy messages with headers of the form:
+  #   X-PHP-Originating-Script: <digits>:SendMail.class.php
+  #   X-PHP-Originating-Script: <digits>:ExtendedMail.class.php
+  deny    condition  = ${if match {$h_X-PHP-Originating-Script:}{^[0-9]+:(Send|Extended)Mail\\.class\\.php\$}}
+          message    = This message failed local spam checks.
+
   # Accept the message.
 
   accept
   # Accept the message.
 
   accept
@@ -529,7 +547,7 @@ begin routers
 
 system_aliases:
   driver = redirect
 
 system_aliases:
   driver = redirect
-  domains = +local_domains
+  domains = !noreply.openstreetmap.org : +local_domains
   allow_fail
   allow_defer
   data = ${lookup{$local_part}lsearch{/etc/aliases}}
   allow_fail
   allow_defer
   data = ${lookup{$local_part}lsearch{/etc/aliases}}
@@ -707,6 +725,7 @@ noreply:
   driver = pipe
   command = <%= details[:command] %>
   home_directory = <%= details[:home_directory] %>
   driver = pipe
   command = <%= details[:command] %>
   home_directory = <%= details[:home_directory] %>
+  path = <%= details[:path] || "/bin:/usr/bin" %>
   return_output
 <% else -%>
   driver = appendfile
   return_output
 <% else -%>
   driver = appendfile
@@ -760,6 +779,9 @@ 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[:exim][:rewrites].each do |rewrite| -%>
+<%= rewrite[:pattern] %> <%= rewrite[:replacement] %> <%= rewrite[:flags] %>
+<% end -%>