This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

SMTP proxy on 3 IP addresses

I have 3 IP addresses assigned to my Internet interface. Off course two of them are virtual. So let say I have 212.1.1.1 which is originaly asigned to firewall for IPSec/VPN, then 212.1.1.2 that is a new one publishing an WEB server using a DNAT rule and 212.1.1.3 which is where my MX record points to. The problem is that I activate the SMTP proxy instead publishing with DNAT rule so the port 25 looks open for the three IP addresses. Off course another SMTP server will enter only using the 212.1.1.3 since the DNS is pointing that as MX record... but a hacker could try to mess with the other two IP addresses.

How can I assign the SMTP proxy to the 212.1.1.3 only????

I thought making some DNAT rules to no place but looks quite dirty solution to me   . Any idea?

Thank you.
Javier


This thread was automatically locked due to age.
Parents
  • The activation of the SMTP proxy opens port 25 for ANY incoming traffic. You can use a small hack to fix this.
    at the console, login as root.

    iptables -L AUTO_INPUT -n --line-numbers | grep dpt:25

    This will give you the number of the rule that ASL creates in the AUTO_INPUT table. Number 23 in my case.

    23   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spts:1:65535 dpt:25

    Drop this rule...

    iptables -R AUTO_INPUT 23

    Insert a replacment rule to allow incoming traffic on port 25 on your specific interface.

    iptables -I AUTO_INPUT 23 -p tcp -s 0.0.0.0/0 --sport 1:65535 -d 212.1.1.3/32 --dport 25 -j ACCEPT

    This rule will allow only tcp traffic from any port and any address to 212.1.1.3 on port 25.

    I tried creating a script to do this in another thread, this is a variant. give it a shot.

     
    #!/bin/sh 

    rowstr=`iptables -L AUTO_INPUT -n --line-numbers | grep dpt:25`

    rownum=${rowstr:0:2} 

    iptables -R AUTO_INPUT $rownum 
    iptables -I AUTO_INPUT $rownum -p tcp -s 0.0.0.0/0 --sport 1:65535 -d 212.1.1.3/32 --dport 25 -j ACCEPT 


    make sure you use the "back tic" not single quote aournd the iptables -L command line.
  • Thanks for the info Jim.  One other question.  Using those same commands, can I change the port to something other than port 25?  Or will that traffic not get handed to the SMTP Relay correctly if that is done?

    Thanks,

    Joe Malechek
Reply
  • Thanks for the info Jim.  One other question.  Using those same commands, can I change the port to something other than port 25?  Or will that traffic not get handed to the SMTP Relay correctly if that is done?

    Thanks,

    Joe Malechek
Children
  • I believe you could use a DNAT rule to translate the incoming port 8025 (for example) traffic to port 25. But why? Other mail servers won't be able to send you mail.
    If you're only receiving mail from other specific sources and want to go through the bother of reconfiguring them as well, I suppose it's possible.
  • Yea, I only want to receive mail from one specific IP.  And now that I'm looking over the  the fix you posted above in more detail, I see that I should be able to put the single IP I want to receive traffic from right into that same rule.  That should work perfectly.

    Thanks,
    Joe