Merge branch 'staging' into staging
This commit is contained in:
		
						commit
						8f9ed9e0df
					
				| @ -393,23 +393,53 @@ query = SELECT goto FROM spamalias | ||||
|     AND validity >= UNIX_TIMESTAMP() | ||||
| EOF | ||||
| 
 | ||||
| echo -e "\e[33mChecking if ASN for your IP is listed for Spamhaus Bad ASN List...\e[0m" | ||||
| if [ -n "$SPAMHAUS_DQS_KEY" ]; then | ||||
|   echo -e "\e[32mDetected SPAMHAUS_DQS_KEY variable from mailcow.conf...\e[0m" | ||||
|   echo -e "\e[33mUsing DQS Blocklists from Spamhaus!\e[0m" | ||||
|   cat <<EOF > /tmp/spamhaus.cf | ||||
| # Autogenerated by mailcow, using Spamhaus DQS lists | ||||
| if [ ! -f /opt/postfix/conf/dns_blocklists.cf ]; then | ||||
|   cat <<EOF > /opt/postfix/conf/dns_blocklists.cf | ||||
| # This file can be edited.  | ||||
| # Delete this file and restart postfix container to revert any changes. | ||||
| postscreen_dnsbl_sites = wl.mailspike.net=127.0.0.[18;19;20]*-2 | ||||
|   hostkarma.junkemailfilter.com=127.0.0.1*-2 | ||||
|   list.dnswl.org=127.0.[0..255].0*-2 | ||||
|   list.dnswl.org=127.0.[0..255].1*-4 | ||||
|   list.dnswl.org=127.0.[0..255].2*-6 | ||||
|   list.dnswl.org=127.0.[0..255].3*-8 | ||||
|   ix.dnsbl.manitu.net*2 | ||||
|   bl.spamcop.net*2 | ||||
|   bl.suomispam.net*2 | ||||
|   hostkarma.junkemailfilter.com=127.0.0.2*3 | ||||
|   hostkarma.junkemailfilter.com=127.0.0.4*2 | ||||
|   hostkarma.junkemailfilter.com=127.0.1.2*1 | ||||
|   backscatter.spameatingmonkey.net*2 | ||||
|   bl.ipv6.spameatingmonkey.net*2 | ||||
|   bl.spameatingmonkey.net*2 | ||||
|   b.barracudacentral.org=127.0.0.2*7 | ||||
|   bl.mailspike.net=127.0.0.2*5 | ||||
|   bl.mailspike.net=127.0.0.[10;11;12]*4 | ||||
|   dnsbl.sorbs.net=127.0.0.10*8 | ||||
|   dnsbl.sorbs.net=127.0.0.5*6 | ||||
|   dnsbl.sorbs.net=127.0.0.7*3 | ||||
|   dnsbl.sorbs.net=127.0.0.8*2 | ||||
|   dnsbl.sorbs.net=127.0.0.6*2 | ||||
|   dnsbl.sorbs.net=127.0.0.9*2 | ||||
| EOF | ||||
| fi | ||||
| DNSBL_CONFIG=$(grep -v '^#' /opt/postfix/conf/dns_blocklists.cf | grep '\S') | ||||
| 
 | ||||
| if [ ! -z "$DNSBL_CONFIG" ]; then | ||||
|   echo -e "\e[33mChecking if ASN for your IP is listed for Spamhaus Bad ASN List...\e[0m" | ||||
|   if [ -n "$SPAMHAUS_DQS_KEY" ]; then | ||||
|     echo -e "\e[32mDetected SPAMHAUS_DQS_KEY variable from mailcow.conf...\e[0m" | ||||
|     echo -e "\e[33mUsing DQS Blocklists from Spamhaus!\e[0m" | ||||
|     SPAMHAUS_DNSBL_CONFIG=$(cat <<EOF | ||||
|   ${SPAMHAUS_DQS_KEY}.zen.dq.spamhaus.net=127.0.0.[4..7]*6 | ||||
|   ${SPAMHAUS_DQS_KEY}.zen.dq.spamhaus.net=127.0.0.[10;11]*8 | ||||
|   ${SPAMHAUS_DQS_KEY}.zen.dq.spamhaus.net=127.0.0.3*4 | ||||
|   ${SPAMHAUS_DQS_KEY}.zen.dq.spamhaus.net=127.0.0.2*3 | ||||
|   ${SPAMHAUS_DQS_KEY}.dbl.dq.spamhaus.net=127.0.0.3*4 | ||||
|   ${SPAMHAUS_DQS_KEY}.zrd.dq.spamhaus.net=127.0.0.2*3 | ||||
| postscreen_dnsbl_reply_map = texthash:/opt/postfix/conf/dnsbl_reply | ||||
| EOF | ||||
| 
 | ||||
|   cat <<EOF > /opt/postfix/conf/dnsbl_reply | ||||
| # Autogenerated by mailcow, using Spamhaus DQS lists | ||||
| # Autogenerated by mailcow, using Spamhaus DQS reply domains | ||||
| ${SPAMHAUS_DQS_KEY}.sbl.dq.spamhaus.net     sbl.spamhaus.org | ||||
| ${SPAMHAUS_DQS_KEY}.xbl.dq.spamhaus.net     xbl.spamhaus.org | ||||
| ${SPAMHAUS_DQS_KEY}.pbl.dq.spamhaus.net     pbl.spamhaus.org | ||||
| @ -417,47 +447,46 @@ ${SPAMHAUS_DQS_KEY}.zen.dq.spamhaus.net     zen.spamhaus.org | ||||
| ${SPAMHAUS_DQS_KEY}.dbl.dq.spamhaus.net     dbl.spamhaus.org | ||||
| ${SPAMHAUS_DQS_KEY}.zrd.dq.spamhaus.net     zrd.spamhaus.org | ||||
| EOF | ||||
| 
 | ||||
| else | ||||
|   response=$(curl --connect-timeout 15 --max-time 30 -s -o /dev/null -w "%{http_code}" "https://asn-check.mailcow.email") | ||||
|   if [ "$response" -eq 503 ]; then | ||||
|   echo -e "\e[31mThe AS of your IP is listed as a banned AS from Spamhaus!\e[0m" | ||||
|   echo -e "\e[33mNo SPAMHAUS_DQS_KEY found... Skipping Spamhaus blocklists entirely!\e[0m" | ||||
|   cat <<EOF > /tmp/spamhaus.cf | ||||
| # Autogenerated by mailcow, using no Spamhaus DNSBL | ||||
| EOF | ||||
|   elif [ "$response" -eq 200 ]; then | ||||
|   echo -e "\e[32mThe AS of your IP is NOT listed as a banned AS from Spamhaus!\e[0m" | ||||
|   echo -e "\e[33mUsing the open Spamhaus blocklists.\e[0m" | ||||
|   cat <<EOF > /tmp/spamhaus.cf | ||||
| # Autogenerated by mailcow, using public spamhaus lists | ||||
|     ) | ||||
|   else | ||||
|     response=$(curl --connect-timeout 15 --max-time 30 -s -o /dev/null -w "%{http_code}" "https://asn-check.mailcow.email") | ||||
|     if [ "$response" -eq 503 ]; then | ||||
|       echo -e "\e[31mThe AS of your IP is listed as a banned AS from Spamhaus!\e[0m" | ||||
|       echo -e "\e[33mNo SPAMHAUS_DQS_KEY found... Skipping Spamhaus blocklists entirely!\e[0m" | ||||
|       SPAMHAUS_DNSBL_CONFIG="" | ||||
|     elif [ "$response" -eq 200 ]; then | ||||
|       echo -e "\e[32mThe AS of your IP is NOT listed as a banned AS from Spamhaus!\e[0m" | ||||
|       echo -e "\e[33mUsing the open Spamhaus blocklists.\e[0m" | ||||
|       SPAMHAUS_DNSBL_CONFIG=$(cat <<EOF | ||||
|   zen.spamhaus.org=127.0.0.[10;11]*8 | ||||
|   zen.spamhaus.org=127.0.0.[4..7]*6 | ||||
|   zen.spamhaus.org=127.0.0.3*4 | ||||
|   zen.spamhaus.org=127.0.0.2*3 | ||||
| EOF | ||||
|       ) | ||||
| 
 | ||||
|   else | ||||
|   echo -e "\e[31mWe couldn't determine your AS... (maybe DNS/Network issue?) Response Code: $response\e[0m" | ||||
|   echo -e "\e[33mDeactivating Spamhaus DNS Blocklists to be on the safe site!\e[0m" | ||||
|   cat <<EOF > /tmp/spamhaus.cf | ||||
| # Autogenerated by mailcow, using no Spamhaus DNSBL | ||||
| EOF | ||||
|     else | ||||
|       echo -e "\e[31mWe couldn't determine your AS... (maybe DNS/Network issue?) Response Code: $response\e[0m" | ||||
|       echo -e "\e[33mDeactivating Spamhaus DNS Blocklists to be on the safe site!\e[0m" | ||||
|       SPAMHAUS_DNSBL_CONFIG="" | ||||
|     fi | ||||
|   fi | ||||
| fi | ||||
| 
 | ||||
| sed -i '/User overrides/q' /opt/postfix/conf/main.cf | ||||
| # Reset main.cf | ||||
| sed -i '/Overrides/q' /opt/postfix/conf/main.cf | ||||
| echo >> /opt/postfix/conf/main.cf | ||||
| # Append postscreen dnsbl sites to main.cf | ||||
| if [ ! -z "$DNSBL_CONFIG" ]; then | ||||
|   echo -e "${DNSBL_CONFIG}\n${SPAMHAUS_DNSBL_CONFIG}" >> /opt/postfix/conf/main.cf | ||||
| fi | ||||
| # Append user overrides | ||||
| echo -e "\n# User Overrides" >> /opt/postfix/conf/main.cf | ||||
| touch /opt/postfix/conf/extra.cf | ||||
| sed -i '/myhostname/d' /opt/postfix/conf/extra.cf | ||||
| echo -e "myhostname = ${MAILCOW_HOSTNAME}\n$(cat /opt/postfix/conf/extra.cf)" > /opt/postfix/conf/extra.cf | ||||
| 
 | ||||
| cat /opt/postfix/conf/extra.cf >> /opt/postfix/conf/main.cf | ||||
| 
 | ||||
| # Append postscreen dnsbl sites to main.cf | ||||
| cat /opt/postfix/conf/dns_blocklists.cf >> /opt/postfix/conf/main.cf | ||||
| cat /tmp/spamhaus.cf >> /opt/postfix/conf/main.cf | ||||
| 
 | ||||
| if [ ! -f /opt/postfix/conf/custom_transport.pcre ]; then | ||||
|   echo "Creating dummy custom_transport.pcre" | ||||
|   touch /opt/postfix/conf/custom_transport.pcre | ||||
|  | ||||
| @ -1,25 +0,0 @@ | ||||
| # Content loaded from dns_blocklists.cf, edit only if really necessary! | ||||
| postscreen_dnsbl_sites = wl.mailspike.net=127.0.0.[18;19;20]*-2 | ||||
|   hostkarma.junkemailfilter.com=127.0.0.1*-2 | ||||
|   list.dnswl.org=127.0.[0..255].0*-2 | ||||
|   list.dnswl.org=127.0.[0..255].1*-4 | ||||
|   list.dnswl.org=127.0.[0..255].2*-6 | ||||
|   list.dnswl.org=127.0.[0..255].3*-8 | ||||
|   ix.dnsbl.manitu.net*2 | ||||
|   bl.spamcop.net*2 | ||||
|   bl.suomispam.net*2 | ||||
|   hostkarma.junkemailfilter.com=127.0.0.2*3 | ||||
|   hostkarma.junkemailfilter.com=127.0.0.4*2 | ||||
|   hostkarma.junkemailfilter.com=127.0.1.2*1 | ||||
|   backscatter.spameatingmonkey.net*2 | ||||
|   bl.ipv6.spameatingmonkey.net*2 | ||||
|   bl.spameatingmonkey.net*2 | ||||
|   b.barracudacentral.org=127.0.0.2*7 | ||||
|   bl.mailspike.net=127.0.0.2*5 | ||||
|   bl.mailspike.net=127.0.0.[10;11;12]*4 | ||||
|   dnsbl.sorbs.net=127.0.0.10*8 | ||||
|   dnsbl.sorbs.net=127.0.0.5*6 | ||||
|   dnsbl.sorbs.net=127.0.0.7*3 | ||||
|   dnsbl.sorbs.net=127.0.0.8*2 | ||||
|   dnsbl.sorbs.net=127.0.0.6*2 | ||||
|   dnsbl.sorbs.net=127.0.0.9*2 | ||||
| @ -169,4 +169,4 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 | ||||
| parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,qmqpd_authorized_clients | ||||
| 
 | ||||
| # DO NOT EDIT ANYTHING BELOW # | ||||
| # User overrides # | ||||
| # Overrides # | ||||
|  | ||||
| @ -297,7 +297,7 @@ services: | ||||
|             - dovecot | ||||
| 
 | ||||
|     postfix-mailcow: | ||||
|       image: mailcow/postfix:1.70 | ||||
|       image: mailcow/postfix:1.71 | ||||
|       depends_on: | ||||
|         - mysql-mailcow | ||||
|       volumes: | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 DocFraggle
						DocFraggle