Postfix - antispam and relay package
-
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
-
-
it's possible to use them as an outbound smtp proxy ? with the antispam features?
Thanks,
-
Seem to work but it's possible to disable valid recipient functionnality?
Thanks,
-
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 -
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 = \0Authentication with SASL
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $mydomainEncryption 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 = 1Mail 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 = 20Mail routing
mailbox_transport = mailpostfilter
content_filter = mailprefilter
transport_maps = hash:/etc/postfix/transportOutbound 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 -
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.
-
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
-
Include your 192.168.200.xxx internal ip in ACL/fiter map.
-
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 -
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/transportTLS
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 -
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.
-
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 recipientsmauricioniñ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 -
marcelloc
greeting
I tried to do everythingCurrent 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]:587thanks for your collaboration
-
Seems that many people need SASL auth, I will put in postfix forwarder TODO list.
-
Too bad I could bother you confirm if it works as a relay Services: Postfix relay and antispam (postfix forwarder) and also worked with
STARTTLSthanks for your collaboration
-
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
-
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 -
-
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,
-
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
-
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?