On 11/5/2013 5:41 AM, mark hardwick wrote:
> Hi All
> I'm setting up a new email server and I'm fairly green so I just wanted 
> someone to confirm I'm not doing anything stupid.
> 
> First I've followed the instructions from Falco here:
> http://www.howtoforge.com/virtual-users-and-domains-with-postfix-courier-mysql-and-squirrelmail-debian-wheezy
> 
> this worked fine.  it's all tested and gives the correct responses.  even 
> sends email :)
> 
> I altered it slightly to forward inbound mail to offered+[code]@domain.com to 
> a script. (Thanks to Noel for helping me to get that working.)
> 
> Next I wanted to add support for DKIM.
> 
> For this I followed some short instructions for postfix + amavisd-new here : 
> http://blog.purrdeta.com/2012/06/guide-to-dkim-signing-with-amavisd-new-and-postfix/
> 
> It required a bit of hacking of the amasid config and master.cf.  My problem 
> is I'm not 100% sure it's compatible with falcon's setup. 
> I wondered if someone could scan this and tell me if and where it's broken?  
> I don't want to accidentally create a relay or anything else nasty.
> 
> The modifications to Amavisd seemed fine so I just went with what was in the 
> post above, however I'm not 100% certain they're in the correct files.  I 
> changed the following;
> 


I don't see any obviously dangerous errors, but I don't have time to
comb through a complex config looking for all possible errors.

Try it and test it. If it doesn't behave as expected, feel free to
come back with specific questions.



  -- Noel Jones



> 20-debian_defaults:
>       $inet_socket_port = [10024,10026];
> 
> 25-amavisd-helpers ;
> 
> ##
> ## Functionality required for amavis helpers like
> ## amavis-release.
> ##
> 
> # Enable required AM.PDP protocol socket.
> #
> # this is incompatible with the old helpers, but one can
> # have multiple inet (not unix) sockets to overcome this
> # issue.  Refer to the amavisd-new documentation for more
> # information
> 
> $unix_socketname = "/var/lib/amavis/amavisd.sock";
> 
> $interface_policy{'SOCK'} = 'AM.PDP-SOCK';
> $policy_bank{'AM.PDP-SOCK'} = {
>   protocol => 'AM.PDP',
>   auth_required_release => 0, # don't require secret-id for release
> };
> 
> #NEW policy for user with DKIM signing - not sure if this is the correct 
> location?
> 
> $interface_policy{'10026'} = 'ORIGINATING';
> 
> $policy_bank{'ORIGINATING'} = { # mail supposedly originating from our users
> originating => 1, # declare that mail was submitted by our smtp client
> allow_disclaimers => 1, # enables disclaimer insertion if available
> # notify administrator of locally originating malware
> virus_admin_maps => ["virusalert\@$mydomain"],
> spam_admin_maps => ["virusalert\@$mydomain"],
> warnbadhsender => 1,
> # forward to a smtpd service providing DKIM signing service
> forward_method => 'smtp:[127.0.0.1]:10027',
> # force MTA conversion to 7-bit (e.g. before DKIM signing)
> smtpd_discard_ehlo_keywords => ['8BITMIME'],
> bypass_banned_checks_maps => [1], # allow sending any file names and types
> terminate_dsn_on_notify_success => 0, # don’t remove NOTIFY=SUCCESS option
> };
> 
> 1;  # ensure a defined return
> 
> 
> Then in the master.cf I have (the main change is at the bottom).
> 
> Master.cf:
> 
> #
> # Postfix master process configuration file.  For details on the format
> # of the file, see the master(5) manual page (command: "man 5 master").
> #
> # Do not forget to execute "postfix reload" after editing this file.
> #
> # ==========================================================================
> # service type  private unpriv  chroot  wakeup  maxproc command + args
> #               (yes)   (yes)   (yes)   (never) (100)
> # ==========================================================================
> smtp      inet  n       -       -       -       -       smtpd
> #smtp      inet  n       -       -       -       1       postscreen
> #smtpd     pass  -       -       -       -       -       smtpd
> #dnsblog   unix  -       -       -       -       0       dnsblog
> #tlsproxy  unix  -       -       -       -       0       tlsproxy
> submission inet n       -       n       -       -       smtpd
> #  -o syslog_name=postfix/submission
>   -o smtpd_tls_security_level=encrypt
>   -o content_filter=amavis:[127.0.0.1]:10026
> #  -o smtpd_sasl_auth_enable=yes
> #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
> #  -o milter_macro_daemon_name=ORIGINATING
> #smtps     inet  n       -       -       -       -       smtpd
> #  -o syslog_name=postfix/smtps
> #  -o smtpd_tls_wrappermode=yes
> #  -o smtpd_sasl_auth_enable=yes
> #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
> #  -o milter_macro_daemon_name=ORIGINATING
> #628       inet  n       -       -       -       -       qmqpd
> #pickup    fifo  n       -       -       60      1       pickup
> pickup fifo n - - 60 1 pickup
>    -o smtpd_tls_security_level=encrypt
>    -o content_filter=smtp-amavis:[127.0.0.1]:10026
> cleanup   unix  n       -       -       -       0       cleanup
> qmgr      fifo  n       -       n       300     1       qmgr
> #qmgr     fifo  n       -       n       300     1       oqmgr
> tlsmgr    unix  -       -       -       1000?   1       tlsmgr
> rewrite   unix  -       -       -       -       -       trivial-rewrite
> bounce    unix  -       -       -       -       0       bounce
> defer     unix  -       -       -       -       0       bounce
> trace     unix  -       -       -       -       0       bounce
> verify    unix  -       -       -       -       1       verify
> flush     unix  n       -       -       1000?   0       flush
> proxymap  unix  -       -       n       -       -       proxymap
> proxywrite unix -       -       n       -       1       proxymap
> smtp      unix  -       -       -       -       -       smtp
> relay     unix  -       -       -       -       -       smtp
> #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
> showq     unix  n       -       -       -       -       showq
> error     unix  -       -       -       -       -       error
> retry     unix  -       -       -       -       -       error
> discard   unix  -       -       -       -       -       discard
> local     unix  -       n       n       -       -       local
> virtual   unix  -       n       n       -       -       virtual
> lmtp      unix  -       -       -       -       -       lmtp
> anvil     unix  -       -       -       -       1       anvil
> scache    unix  -       -       -       -       1       scache
> #
> # ====================================================================
> # Interfaces to non-Postfix software. Be sure to examine the manual
> # pages of the non-Postfix software to find out what options it wants.
> #
> # Many of the following services use the Postfix pipe(8) delivery
> # agent.  See the pipe(8) man page for information about ${recipient}
> # and other message envelope options.
> # ====================================================================
> #
> # maildrop. See the Postfix MAILDROP_README file for details.
> # Also specify in main.cf: maildrop_destination_recipient_limit=1
> #
> maildrop  unix  -       n       n       -       -       pipe
>   flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
> #
> # ====================================================================
> # See the Postfix UUCP_README file for configuration details.
> #
> uucp      unix  -       n       n       -       -       pipe
>   flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail 
> ($recipient)
> #
> # Other external delivery methods.
> #
> ifmail    unix  -       n       n       -       -       pipe
>   flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
> bsmtp     unix  -       n       n       -       -       pipe
>   flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender 
> $recipient
> scalemail-backend unix        -       n       n       -       2       pipe
>   flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store 
> ${nexthop} ${user} ${extension}
> mailman   unix  -       n       n       -       -       pipe
>   flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
>   ${nexthop} ${user}
> 
> parser     unix -        n       n       -       -       pipe 
>   user=virtual argv=/bin/bash /usr/local/bin/ssh_parser
> 
> amavis unix - - - - 2 smtp
>         -o smtp_data_done_timeout=1200
>         -o smtp_send_xforward_command=yes
> 
> 127.0.0.1:10025 inet n - - - - smtpd
>         -o content_filter=
>         -o local_recipient_maps=
>         -o relay_recipient_maps=
>         -o smtpd_restriction_classes=
>         -o smtpd_client_restrictions=
>         -o smtpd_helo_restrictions=
>         -o smtpd_sender_restrictions=
>         -o smtpd_recipient_restrictions=permit_mynetworks,reject
>         -o mynetworks=127.0.0.0/8
>         -o strict_rfc821_envelopes=yes
>         -o 
> receive_override_options=no_unknown_recipient_checks,no_header_body_checks
> 
> 
> 127.0.0.1:10027 inet n - n - - smtpd
>         -o content_filter=
>         -o smtpd_delay_reject=no
>         -o smtpd_client_restrictions=permit_mynetworks,reject
>         -o smtpd_helo_restrictions=
>         -o smtpd_sender_restrictions=
>         -o smtpd_recipient_restrictions=permit_mynetworks,reject
>         -o smtpd_data_restrictions=reject_unauth_pipelining
>         -o smtpd_end_of_data_restrictions=
>         -o smtpd_restriction_classes=
>         -o mynetworks=127.0.0.0/8
>         -o smtpd_error_sleep_time=0
>         -o smtpd_soft_error_limit=1001
>         -o smtpd_hard_error_limit=1000
>         -o smtpd_client_connection_count_limit=0
>         -o smtpd_client_connection_rate_limit=0
>         -o 
> receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
>         -o local_header_rewrite_clients=
> 
> Any thought greatly received.
> Please ask if I need to send more files.
> 
> Thanks
> Mark.
> 

Reply via email to