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

    Filtering Packets with EHLO 'XYZ' Data

    Firewalling
    7
    14
    2.6k
    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.
    • D
      doktornotor Banned
      last edited by

      There's a (broken) postfix mail relay package.

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

        Thanks for the reply!

        Dare I ask how "broken"?

        Thanks

        Dino

        1 Reply Last reply Reply Quote 0
        • D
          doktornotor Banned
          last edited by

          Well, search the Packages subforum and you can see for yourself. I'm not personally using it, so… :)

          1 Reply Last reply Reply Quote 0
          • johnpozJ
            johnpoz LAYER 8 Global Moderator
            last edited by

            what exactly are you trying to accomplish might I ask?

            An intelligent man is sometimes forced to be drunk to spend time with his fools
            If you get confused: Listen to the Music Play
            Please don't Chat/PM me for help, unless mod related
            SG-4860 24.11 | Lab VMs 2.7.2, 24.11

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

              If EHLO = 'XYZ' and occurs > '###' of times than block.  Preferably drop the connections for that IP and add a rule.  But blocking is good enough for me right now.

              I've noticed a pattern in some of the EHLO values over the course of the year and would like to target that instead of just the IP or subnet.  In one example as to why I would want to do this;  one EHLO pattern is known but that pattern has reused an IP only 5% of the time.

              Thanks for the post!!

              Dino

              1 Reply Last reply Reply Quote 0
              • johnpozJ
                johnpoz LAYER 8 Global Moderator
                last edited by

                You would have to do something like that with layer 7

                https://doc.pfsense.org/index.php/Layer_7

                An intelligent man is sometimes forced to be drunk to spend time with his fools
                If you get confused: Listen to the Music Play
                Please don't Chat/PM me for help, unless mod related
                SG-4860 24.11 | Lab VMs 2.7.2, 24.11

                1 Reply Last reply Reply Quote 0
                • D
                  doktornotor Banned
                  last edited by

                  Really this is best done on a mailserver. If you are on 2.2.x, I wouldn't touch L7 at all since it only produces a CPU burn-in test - https://redmine.pfsense.org/issues/4276

                  1 Reply Last reply Reply Quote 0
                  • DerelictD
                    Derelict LAYER 8 Netgate
                    last edited by

                    Exim:

                    If HELO/EHLO is "bad-helo" drop the connection after delay

                    acl_check_helo:
                            drop
                                    message = Service temporarily unavailable
                                    condition = ${if eq {$sender_helo_name}{bad-helo}{yes}{no}}
                                    delay = 30s

                    accept

                    Chattanooga, Tennessee, USA
                    A comprehensive network diagram is worth 10,000 words and 15 conference calls.
                    DO NOT set a source address/port in a port forward or firewall rule unless you KNOW you need it!
                    Do Not Chat For Help! NO_WAN_EGRESS(TM)

                    1 Reply Last reply Reply Quote 0
                    • BBcan177B
                      BBcan177 Moderator
                      last edited by

                      I have tried to do this in postfix but couldn't find a solution, so I ended up adding a custom rule to Snort…

                      Getting hit by a usually EHLO  ylmf-pc  (Chinese OS)

                      Snort won't block it fast enough to prevent a couple login attempts, but it will stop an IP after about three attempts. This is because currently Snort is acting on a copy of the packet.

                      alert tcp $EXTERNAL_NET any -> any 25 (msg:"SMTP EHLO from ylmf-pc attempt"; threshold: type limit, track by_src, count 1, seconds 60; content:"ylmf-pc"; nocase; classtype:suspicious-login; sid:9000032; rev:2;)

                      "Experience is something you don't get until just after you need it."

                      Website: http://pfBlockerNG.com
                      Twitter: @BBcan177  #pfBlockerNG
                      Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                      1 Reply Last reply Reply Quote 0
                      • johnpozJ
                        johnpoz LAYER 8 Global Moderator
                        last edited by

                        ah ylmf-pc, isn't that pushdo – pretty sure most of the IPs that spambot net is coming from is in zen  https://www.spamhaus.org/zen/

                        They are most likely hitting you fast are they not.. You could prob put in a rate limit rule on your rule that allows connection to your smtp server, pretty sure if that is triggered puts it into virusprot table and then they get dropped..

                        Not sure exactly when the virusprot table clears..  Check the crons

                        An intelligent man is sometimes forced to be drunk to spend time with his fools
                        If you get confused: Listen to the Music Play
                        Please don't Chat/PM me for help, unless mod related
                        SG-4860 24.11 | Lab VMs 2.7.2, 24.11

                        1 Reply Last reply Reply Quote 0
                        • D
                          dcol Banned
                          last edited by

                          This is why we need Suricata Inline IPS. A good example here with EHLO from ylmf.
                          I want to block all EHLO's of localserv, but not block the IP from future access.

                          Can't be done without Inline Suricata, which is not working on PFsense right now. Not sure it ever will be.

                          1 Reply Last reply Reply Quote 0
                          • jimpJ
                            jimp Rebel Alliance Developer Netgate
                            last edited by

                            It's better to properly configure the mail server rather than relying on other layers as your only means of protection. Postfix can do this very easily.

                            main.cf:

                            smtpd_helo_required = yes
                            
                            smtpd_helo_restrictions =
                                      permit_sasl_authenticated
                                      permit_mynetworks
                                      check_helo_access hash:/usr/local/etc/postfix/helo_checks
                            
                            

                            /usr/local/etc/postfix/helo_checks

                            
                            ylmf-pc REJECT Go away
                            localhost REJECT None for me, thanks
                            sometrustedserver OK
                            
                            

                            Every time you edit that file from that dir, run

                            postmap helo_checks
                            

                            Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                            Need help fast? Netgate Global Support!

                            Do not Chat/PM for help!

                            1 Reply Last reply Reply Quote 0
                            • DerelictD
                              Derelict LAYER 8 Netgate
                              last edited by

                              pfSense and snort/suricata should not be able to see that traffic anyway because it should be encrypted.

                              I realize we have a LONG way to go with SMTP in this regard but it will only become more common, not less common.

                              So you are better off implementing the proper solution.

                              Chattanooga, Tennessee, USA
                              A comprehensive network diagram is worth 10,000 words and 15 conference calls.
                              DO NOT set a source address/port in a port forward or firewall rule unless you KNOW you need it!
                              Do Not Chat For Help! NO_WAN_EGRESS(TM)

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