Hi,

I'm a Postfix newbie... I'm trying to setup my personal Email server. I
have been able to setup Postfix+dovecot+roundcube+Imapproxy. Basically I
have a server with 2 IPv4 addresses, and the mails are stored locally by
dovecot.

I'm able to accept inbound and able to send emails. I'm planning to add
spam filters etc... Before that I want to make sure that my config is
decently secure.

Please help evaluate my config, let me know what changes are needed to help
improve security.  (PS I have not yet implemented chroot.. Planning on
implementing it as well). There are many parameters, and  I'm not sue if i
missed/mis-configured anything.


Here is my config

###Postconf -n
# postconf -n
command_directory = /mail/postfix/sbin
config_directory = /etc/postfix
daemon_directory = /mail/postfix/libexec
data_directory = /mail/postfix/var/lib
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd
$daemon_directory/$process_name $process_id & sleep 5
disable_vrfy_command = yes
dovecot_destination_recipient_limit = 1
html_directory = no
inet_protocols = ipv4
invalid_hostname_reject_code = 554
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /mail/postfix/man
message_size_limit = 52428800
multi_recipient_bounce_reject_code = 554
mydestination = localhost, localhost.localdomain
newaliases_path = /usr/bin/newaliases
non_fqdn_reject_code = 554
queue_directory = /mail/postfix/var/spool
readme_directory = no
relay_domains_reject_code = 554
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_generic_maps = hash:/mail/postfix/etc/generic
smtp_tls_CAfile = /mail/postfix/etc/ssl/myca.pem
smtp_tls_security_level = may
smtp_tls_session_cache_database =
btree:/mail/postfix/var/lib/smtp_tls_session_cache
smtpd_helo_required = yes
smtpd_recipient_restrictions = reject_invalid_hostname,
reject_unknown_recipient_domain, reject_unauth_pipelining,
permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination,
reject_rbl_client dnsbl.sorbs.net, reject_rbl_client zen.spamhaus.org,
reject_rbl_client truncate.gbudb.net, permit
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = no
smtpd_sasl_path = /mail/postfix/var/spool/postfix/private/dovecot-auth
smtpd_sender_restrictions = reject_unknown_sender_domain,
check_sender_access hash:/mail/postfix/etc/sender_restrictions
smtpd_tls_CAfile = /mail/postfix/etc/ssl/myca.pem
smtpd_tls_ciphers = high
smtpd_tls_exclude_ciphers = aNULL, MD5, DES
smtpd_tls_mandatory_ciphers = high
smtpd_tls_protocols = TLSv1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database =
btree:/mail/postfix/var/lib/smtpd_tls_session_cache
strict_rfc821_envelopes = yes
tls_random_source = dev:/dev/urandom
unknown_address_reject_code = 554
unknown_client_reject_code = 554
unknown_hostname_reject_code = 554
unknown_local_recipient_reject_code = 554
unknown_relay_recipient_reject_code = 554
unknown_virtual_alias_reject_code = 554
unknown_virtual_mailbox_reject_code = 554
unverified_recipient_reject_code = 554
unverified_sender_reject_code = 554
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/mail/postfix/etc/mysql/
virtual-alias-maps.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /mail/mailbox/vmail
virtual_mailbox_domains = proxy:mysql:/mail/postfix/etc/mysql/
virtual-domain.cf
virtual_mailbox_maps = proxy:mysql:/mail/postfix/etc/mysql/
virtual-mailbox-maps.cf
virtual_minimum_uid = 1000
virtual_transport =
lmtp:unix:/mail/postfix/var/spool/postfix/private/dovecot-lmtp
virtual_uid_maps = static:5000


###master.cf
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================

##We will listen on specific ports so we can change out hostname ans SSL
certs

<IP_ADDR>.6:smtp      inet  n       -       n       -       -       smtpd
        -o myhostname=mail1.mydomain.tld
        -o smtpd_tls_cert_file=/mail/postfix/etc/ssl/mail1-cert.pem
        -o smtpd_tls_key_file=/mail/postfix/etc/ssl/mail1-key.pem

<IP_ADDR>.7:smtp      inet  n       -       n       -       -       smtpd
        -o myhostname=mail2.mydomain.tld
        -o smtpd_tls_cert_file=/mail/postfix/etc/ssl/mail2-cert.pem
        -o smtpd_tls_key_file=/mail/postfix/etc/ssl/mail2-key.pem

#smtp      inet  n       -       n       -       1       postscreen
#smtpd     pass  -       -       n       -       -       smtpd
#dnsblog   unix  -       -       n       -       0       dnsblog
#tlsproxy  unix  -       -       n       -       0       tlsproxy

<IP_ADDR>.6:submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o myhostname=mail1.mydomain.tld
  -o smtpd_tls_cert_file=/mail/postfix/etc/ssl/mail1-cert.pem
  -o smtpd_tls_key_file=/mail/postfix/etc/ssl/mail1-key.pem
  -o smtpd_tls_auth_only=yes

<IP_ADDR>.7:submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o myhostname=mail2.mydomain.tld
  -o smtpd_tls_cert_file=/mail/postfix/etc/ssl/mail2-cert.pem
  -o smtpd_tls_key_file=/mail/postfix/etc/ssl/mail2-key.pem
  -o smtpd_tls_auth_only=yes

127.0.0.1:submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o myhostname=mail2.mydomain.tld
.
.
.
<truncated>



PS: I hope this is sort of questions are acceptable in this mailing list.

Thanks in advance,
Any help is greatly appreciated.

Vijay

Reply via email to