Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Postfix - antispam and relay package

    pfSense Packages
    136
    855
    1.0m
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • marcellocM
      marcelloc
      last edited by

      Hi all,

      I've just finished postfix package version 2.3.

      Postfix is an amazing mail forwarder that really keep away any misconfigured server or server trying to forge email.
      Postfix Forwarder package at pfsense has many antispam features but for now, no SASL support for remote authentication.

      • Zombie blocker (postscreen)

      • Header chekcs

      • Body checks

      • Access lists

      • RBL checks

      • SPF checks

      • Dashboard widgets with mail stats

      • Sqlite logs support

      • Sqlite logs forward to use only one box to search mail

      • Package permissions to allow users to just search mail or view queue

      • Search mail tool

      • view postfix queue in gui

      And you can also use an third part antispam engine like mailscanner or policyd v2 for a complete antispam solution.

      note: NEVER try to install policydv2 freebsd package, it will break out your pfsense.
      if you plan to use policydv2 you must put it on other server or in a jail.

      The mailscanner tutorial(or package) is under development, for now you can configure by hand using pkg_add -r MailScanner.

      att,
      Marcello Coutinho
      postfix_22_widget.png
      postfix_22_widget.png_thumb
      postfix23_queue.jpg_thumb
      postfix23_sync.jpg
      postfix23_sync.jpg_thumb
      postfix23_search.jpg
      postfix23_search.jpg_thumb
      postfix23_queue.jpg
      postfix23_recipients.jpg
      postfix23_recipients.jpg_thumb
      postfix23_viewconfig.jpg
      postfix23_viewconfig.jpg_thumb
      postfix23_search_results.jpg
      postfix23_search_results.jpg_thumb

      Treinamentos de Elite: http://sys-squad.com

      Help a community developer! ;D

      1 Reply Last reply Reply Quote 0
      • M
        mikesamo
        last edited by

        it's possible to use them as an outbound smtp proxy ? with the antispam features?

        Thanks,

        1 Reply Last reply Reply Quote 0
        • M
          mikesamo
          last edited by

          Seem to work but it's possible to disable valid recipient functionnality?

          Thanks,

          1 Reply Last reply Reply Quote 0
          • marcellocM
            marcelloc
            last edited by

            You can set your internal mail servers on ACLs -> Client Access List, but I don't know if postscreen('zombie blocker') or rbl checks can validade internal mail servers.

            You can check other postfix antispam features with 'strong header verification' and ACLs for filter header,MIME and body settings.

            For a deep internal mail server antispam search you may need mailscanner.
            I'm working on this package now and will be available soon.

            best regards,
            Marcello Coutinho

            Treinamentos de Elite: http://sys-squad.com

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • M
              mauricioniñoavella
              last edited by

              how to do my main.cf configuracuion if I have it in centos bit too high I want to pass this pfSense this is my main.cf I want to enable in pfsnese

              thanks for the collaboration

              General settings

              bounce_queue_lifetime = 6h
              mailbox_size_limit = 51200000
              message_size_limit = 10240000
              luser_relay =
              recipient_delimiter = +
              message_strip_characters = \0

              Authentication with SASL

              broken_sasl_auth_clients = yes
              smtpd_sasl_auth_enable = yes
              smtpd_sasl_security_options = noanonymous
              smtpd_sasl_local_domain = $mydomain

              Encryption with TLS

              smtpd_tls_auth_only = yes

              smtpd_use_tls = yes
              smtpd_tls_cert_file = /etc/postfix/cert.pem
              smtpd_tls_key_file = /etc/postfix/key.pem
              smtpd_tls_loglevel = 1

              Mail restrictions (note: Kolab policies are not implemented)

              smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
              kolabpolicy_time_limit = 3600
              kolabpolicy_max_idle = 20

              Mail routing

              mailbox_transport = mailpostfilter
              content_filter = mailprefilter
              transport_maps = hash:/etc/postfix/transport

              Outbound SMTP authentication

              smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
              smtp_sasl_auth_enable = yes
              smtp_sasl_security_options =
              unknown_local_recipient_reject_code = 550
              smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
              smtp_tls_security_level = may
              smtp_sasl_type = cyrus
              relayhost = [xxxx.com]:587

              1 Reply Last reply Reply Quote 0
              • marcellocM
                marcelloc
                last edited by

                You can put your options on custom main.cf options at gui.

                This package was designed to be a relay server only, I do not recomend enabling mailboxes on it.

                Treinamentos de Elite: http://sys-squad.com

                Help a community developer! ;D

                1 Reply Last reply Reply Quote 0
                • M
                  mauricioniñoavella
                  last edited by

                  I just want it to pass and I get this

                  postfix/smtpd[50880]: NOQUEUE: reject: RCPT from unknown[192.168.200.xxx]: 554 5.7.1 mauricio.nino@xxx.com.co: Relay access denied; from= root@localhost.localdomainto= mauricio.nino@xxx.com.coproto=ESMTP helo=<localhost.localdomain></localhost.localdomain>/mauricio.nino@xxx.com.co/root@localhost.localdomain/mauricio.nino@xxx.com.co

                  1 Reply Last reply Reply Quote 0
                  • marcellocM
                    marcelloc
                    last edited by

                    Include your 192.168.200.xxx internal ip in ACL/fiter map.

                    Treinamentos de Elite: http://sys-squad.com

                    Help a community developer! ;D

                    1 Reply Last reply Reply Quote 0
                    • M
                      mauricioniñoavella
                      last edited by

                      marcelloc

                      appreciate your help but I do not work I have this in the log

                      The truth can not be done now, I only serve as a relay,

                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=check_client_access
                      Oct 11 16:49:45 postfix/smtpd[29361]: check_namadr_access: name unknown addr 192.168.200.14
                      Oct 11 16:49:45 postfix/smtpd[29361]: check_domain_access: unknown
                      Oct 11 16:49:45 postfix/smtpd[29361]: dict_cidr_lookup: /usr/local/etc/postfix/cal_cidr: unknown
                      Oct 11 16:49:45 postfix/smtpd[29361]: check_addr_access: 192.168.200.14
                      Oct 11 16:49:45 postfix/smtpd[29361]: dict_cidr_lookup: /usr/local/etc/postfix/cal_cidr: 192.168.200.14
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=check_client_access status=0
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=permit
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=permit status=1
                      Oct 11 16:49:45 postfix/smtpd[29361]: >>> START Helo command RESTRICTIONS <<<
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=reject_unknown_helo_hostname
                      Oct 11 16:49:45 postfix/smtpd[29361]: reject_unknown_hostname: localhost.localdomain
                      Oct 11 16:49:45 postfix/smtpd[29361]: lookup localhost.localdomain type A flags 0
                      Oct 11 16:49:45 postfix/smtpd[29361]: dns_query: localhost.localdomain (A): OK
                      Oct 11 16:49:45 postfix/smtpd[29361]: dns_get_answer: type A for localhost.localdomain
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=reject_unknown_helo_hostname status=0
                      Oct 11 16:49:45 postfix/smtpd[29361]: >>> END Helo command RESTRICTIONS <<<
                      Oct 11 16:49:45 postfix/smtpd[29361]: >>> START Sender address RESTRICTIONS <<<
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=reject_unknown_sender_domain
                      Oct 11 16:49:45 postfix/smtpd[29361]: reject_unknown_address: root@localhost.localdomain
                      Oct 11 16:49:45 postfix/smtpd[29361]: ctable_locate: move existing entry key root@localhost.localdomain
                      Oct 11 16:49:45 postfix/smtpd[29361]: reject_unknown_mailhost: localhost.localdomain
                      Oct 11 16:49:45 postfix/smtpd[29361]: lookup localhost.localdomain type MX flags 0
                      Oct 11 16:49:45 postfix/smtpd[29361]: dns_query: localhost.localdomain (MX): Host not found
                      Oct 11 16:49:45 postfix/smtpd[29361]: lookup localhost.localdomain type A flags 0
                      Oct 11 16:49:45 postfix/smtpd[29361]: dns_query: localhost.localdomain (A): OK
                      Oct 11 16:49:45 postfix/smtpd[29361]: dns_get_answer: type A for localhost.localdomain
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=reject_unknown_sender_domain status=0
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=permit
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=permit status=1
                      Oct 11 16:49:45 postfix/smtpd[29361]: >>> START Recipient address RESTRICTIONS <<<
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=reject_unauth_destination
                      Oct 11 16:49:45 postfix/smtpd[29361]: reject_unauth_destination: mauricio.nino@xxxx.com.co
                      Oct 11 16:49:45 postfix/smtpd[29361]: permit_auth_destination: mauricio.nino@xxxx.com.co
                      Oct 11 16:49:45 postfix/smtpd[29361]: ctable_locate: move existing entry key mauricio.nino@xxxx.com.co
                      Oct 11 16:49:45 postfix/smtpd[29361]: NOQUEUE: reject: RCPT from unknown[192.168.200.14]: 554 5.7.1 mauricio.nino@itac.com.co: Relay access denied; from= root@localhost.localdomainto= mauricio.nino@xxx.com.coproto=ESMTP helo=<localhost.localdomain></localhost.localdomain>/mauricio.nino@xxx.com.co/root@localhost.localdomain/mauricio.nino@itac.com.co
                      Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=reject_unauth_destination status=2
                      Oct 11 16:49:45 postfix/smtpd[29361]: > unknown[192.168.200.14]: 554 5.7.1 mauricio.nino@xxxx.com.co: Relay access denied
                      Oct 11 16:49:45 postfix/smtpd[29361]: watchdog_pat: 0x800e115f0
                      Oct 11 16:49:45 postfix/smtpd[29361]: < unknown[192.168.200.14]: DATA
                      Oct 11 16:49:45 postfix/smtpd[29361]: > unknown[192.168.200.14]: 554 5.5.1 Error: no valid recipients
                      Oct 11 16:49:45 postfix/smtpd[29361]: watchdog_pat: 0x800e115f0
                      Oct 11 16:49:45 postfix/smtpd[29361]: < unknown[192.168.200.14]: RSET
                      Oct 11 16:49:45 postfix/smtpd[29361]: > unknown[192.168.200.14]: 250 2.0.0 Ok
                      Oct 11 16:49:45 postfix/smtpd[29361]: watchdog_pat: 0x800e115f0
                      Oct 11 16:49:45 postfix/smtpd[29361]: < unknown[192.168.200.14]: QUIT
                      Oct 11 16:49:45 postfix/smtpd[29361]: > unknown[192.168.200.14]: 221 2.0.0 Bye
                      Oct 11 16:49:45 postfix/smtpd[29361]: match_hostname: unknown ~? 192.168.200.0/23
                      Oct 11 16:49:45 postfix/smtpd[29361]: match_hostaddr: 192.168.200.14 ~? 192.168.200.0/23
                      Oct 11 16:49:45 postfix/smtpd[29361]: disconnect from unknown[192.168.200.14]

                      ![postfix relay.png_thumb](/public/imported_attachments/1/postfix relay.png_thumb)
                      ![postfix relay.png](/public/imported_attachments/1/postfix relay.png)/mauricio.nino@xxxx.com.co

                      1 Reply Last reply Reply Quote 0
                      • J
                        jedblack
                        last edited by

                        marcelloc,

                        Thanks for all the hard work!

                        I have one question…

                        can i use the postfix forwarder to forward my mail to GMAIL server... i'm doing this now with a centos/postfix install... below is the pertinent config file entries..

                        SASL authentication

                        smtp_tls_security_level=encrypt
                        smtp_sasl_auth_enable = yes
                        smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
                        smtp_sasl_security_options = noanonymous
                        relayhost = [smtp.gmail.com]:587
                        transport_maps = hash:/etc/postfix/transport

                        TLS

                        smtp_tls_CAfile = /etc/postfix/cacert.pem
                        smtp_tls_cert_file = /etc/postfix/certs/git01.pem
                        smtp_tls_key_file = /etc/postfix/certs/git01.key
                        smtp_tls_session_cache_database = btree:/var/run/smtp_tls_session_cache
                        smtp_use_tls = yes
                        smtpd_tls_CAfile = /etc/postfix/cacert.pem
                        smtpd_tls_cert_file = /etc/postfix/certs/git01.pem
                        smtpd_tls_key_file = /etc/postfix/certs/git01.key
                        smtpd_tls_received_header = yes
                        smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache
                        smtpd_use_tls = yes
                        smtp_tls_loglevel = 1
                        tls_random_source = dev:/dev/urandom
                        smtp_cname_overrides_servername = no
                        #debug_peer_list=smtp.gmail.com
                        #debug_peer_level=3

                        1 Reply Last reply Reply Quote 0
                        • marcellocM
                          marcelloc
                          last edited by

                          Did you tried to include your config in custom main.cf options and of course transfer your files to pfsense?

                          I'm not sure if other options will affect you setup but could work.

                          Treinamentos de Elite: http://sys-squad.com

                          Help a community developer! ;D

                          1 Reply Last reply Reply Quote 0
                          • marcellocM
                            marcelloc
                            last edited by

                            @mauricioniñoavella:

                            marcelloc
                            Oct 11 16:49:45 postfix/smtpd[29361]: dns_query: localhost.localdomain (MX): Host not found
                            Oct 11 16:49:45 postfix/smtpd[29361]: dns_query: localhost.localdomain (A): OK
                            Oct 11 16:49:45 postfix/smtpd[29361]: dns_get_answer: type A for localhost.localdomain
                            Oct 11 16:49:45 postfix/smtpd[29361]: NOQUEUE: reject: RCPT from unknown[192.168.200.14]: 554 5.7.1 mauricio.nino@itac.com.co: Relay access denied; from= root@localhost.localdomainto= mauricio.nino@itac.com.coproto=ESMTP helo=<localhost.localdomain></localhost.localdomain>/mauricio.nino@itac.com.co/root@localhost.localdomain/mauricio.nino@itac.com.co
                            Oct 11 16:49:45 postfix/smtpd[29361]: generic_checks: name=reject_unauth_destination status=2
                            Oct 11 16:49:45 postfix/smtpd[29361]: > unknown[192.168.200.14]: 554 5.5.1 Error: no valid recipients

                            mauricioniñoavella,

                            see what postfix is rejecting and correct it.
                            It looks like you tried to send a email with an invalid sender.
                            If you need this sender, create this domain in dns server that pfsense uses.

                            att,
                            Marcello Coutinho

                            Treinamentos de Elite: http://sys-squad.com

                            Help a community developer! ;D

                            1 Reply Last reply Reply Quote 0
                            • M
                              mauricioniñoavella
                              last edited by

                              marcelloc

                              greeting
                              I tried to do everything

                              Current issue if tusabes Nose to issue

                              generates this error since I only use smtp_sasl

                              mailserver postfix/smtpd[20836]: warning: smtpd_sasl_auth_enable is true, but SASL support is not compiled in
                              mailserver postfix/smtpd[20836]: connect from unknown[xxxx.xxxx.xxxx.xxx]
                              mailserver postfix/smtpd[20836]: disconnect from unknown[xxxx.xxxx.xxxx.xxx]

                              I hit it in the

                              custom main.cf options

                              smtp_sasl_auth_enable = yes
                              smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
                              smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
                              relayhost = [smtp.xxx.com]:587

                              thanks for your collaboration

                              1 Reply Last reply Reply Quote 0
                              • marcellocM
                                marcelloc
                                last edited by

                                Seems that many people need SASL auth, I will put in postfix forwarder TODO list.

                                Treinamentos de Elite: http://sys-squad.com

                                Help a community developer! ;D

                                1 Reply Last reply Reply Quote 0
                                • M
                                  mauricioniñoavella
                                  last edited by

                                  Too bad I could bother you confirm if it works as a relay Services: Postfix relay and antispam (postfix forwarder) and also worked with
                                  STARTTLS

                                  thanks for your collaboration

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    darklogic
                                    last edited by

                                    Hello,

                                    I must say I am glad to see this package. Mail proxies and mail forwarders with filtering is a must have these days. I am new to this package and was wondering if there is any documentation on how to configure and set it up for use. Some of the setting are unclear to me.

                                    I am not sure what the binding setting is for the WAN, LAN, and loopback and can't find anything that explains it better or what basic settings should be set to. Also, when I removed my SMTP port forward form NAT and rules to use this package, I am having trouble recieving mails. I went to mxtoolbox.com and did a diagnostics test and I don't get a header response or anything. It just says host times out from inactivity.

                                    I really did not change any of the default setting from the install and yes I did add the domain with a forwarding internal address.

                                    Could someone help or post a basic setup that would get this working. It is a little hard to figure settings with no documentation or explinations of settings.

                                    Thanks,

                                    MDP

                                    1 Reply Last reply Reply Quote 0
                                    • marcellocM
                                      marcelloc
                                      last edited by

                                      at docs.pfsense.com has some info but not so detailed.

                                      the basic setup is:

                                      • remove nat from port 25

                                      • create a wan rule to permit smtp traffic to wan address

                                      • check enable postfix option

                                      • choose at least wan loopback interfaces

                                      • fill your domain/internal smtp info

                                      Many options has recommend, default and link option to postfix documentation.

                                      I recommend enable all antispam settings too.

                                      att,
                                      Marcello Coutinho

                                      Treinamentos de Elite: http://sys-squad.com

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        darklogic
                                        last edited by

                                        Hey thanks very much for the info. I will give a try. I really like the concept of this package and have waited a while to see something like this come out for pfsense, so thanks for all your hard work.

                                        I do have one question for your response. When you say WAN loopback interface, do you mean select the WAN interface only, the loopback interface only, or both?

                                        Thanks Again,

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          darklogic
                                          last edited by

                                          So I have e-mails forwarding ok now and thanks for the basic info for that. Just curious, as I seen in early to mid last month a post you made about mailscanner, and was wondering if this will become part of the base install of the postfix forwarder package?

                                          Currently I am unsure how to implement this ability and not really sure on what the ACLs/Filter maps tab does.

                                          If you made this package an all inclusive install with all the components needed for a full SMTP filter, that would be sweet.

                                          Thanks

                                          1 Reply Last reply Reply Quote 0
                                          • marcellocM
                                            marcelloc
                                            last edited by

                                            Mailscanner + spamassassin will be released soon as a new package with more then 500 options to filter spam. As I told in other posts, I'm waiting Mailscanner package compilation by core team. But if you know how mailscanner works you can add freebsd package and configure it.

                                            Can you feedback in % how postfix + all antispam settings reduced spam messages on mailboxes?

                                            Treinamentos de Elite: http://sys-squad.com

                                            Help a community developer! ;D

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.