What port does sendmail send mail on?

Hi,

I would like to completely firewall my linux box's internet interface. I want to block all incoming packets and accept only outgoing packets from sendmail, as this is the only service that should need internet access. Does sendmail use port 25 for outgoing packets? Do I need any other ports open?

Also, when setting an iptables rule for OUTPUT packets, do I refer to the source port instead of the destination port?

Thanks
tomp_glAsked:
Who is Participating?
 
giltjrConnect With a Mentor Commented:
SMTP uses a destination port of 25 and a source port that is 1024 or greater.

For OUTPUT you use the destination port.

Typically for IP protocols the source port is a random port that is 1024 or greater.  You typically filter/block based on destination port.

0
 
dekkarConnect With a Mentor Commented:
Should be port 25, but it can be changed. If you dont have any other functions that need to access the net on that server, then 25 is the only port you need open.
0
 
tomp_glAuthor Commented:
The server will only be sending mail, not accepting it. Would I need to accept INPUT packets to established or related connections? Also, do I need to accept ping requests?

Essentially I want to do this:

# only let sendmail out
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -P OUTPUT DROP
# let nothing in
iptables -P INPUT DROP

But will I need to keep any other source ports open for OUTPUT packets?

Thanks
0
Evaluating UTMs? Here's what you need to know!

Evaluating a UTM appliance and vendor can prove to be an overwhelming exercise.  How can you make sure that you're getting the security that your organization needs without breaking the bank? Check out our UTM Buyer's Guide for more information on what you should be looking for!

 
Kerem ERSOYConnect With a Mentor PresidentCommented:
HI,

SMTP uses Port 25 by default. So does sendmail.

If you want to block incoming e-mail traffic then don't include any rules that allow port 25 among your iptables rules.

But when sendmail wants to send mail to oustside the default

iptables -A input -m state --state ESTABLISHED,RELATED -j ACCEPT

rule will allow your SMTP server to connect to outside SMTP servers over the default SMTP port.
0
 
Kerem ERSOYConnect With a Mentor PresidentCommented:
If all you want is this then you don't need any other ports. But you might like servers to access your DNS if it is located at the same segment though.

0
 
tomp_glAuthor Commented:
If sendmail is using a random source port then I should probably accept all OUTPUT packets... are there any security ramifications to this?
0
 
Kerem ERSOYConnect With a Mentor PresidentCommented:
You've already accomplsh this.

to say --dport=25 means --sport 0:65535 also. so you don't need another port.
0
 
giltjrConnect With a Mentor Commented:
Typically you allow anything out.  If you want to allow only specific packets out, then you want to allow based on destination port, not source port.

So:

# let sendmail out
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
# let DNS queries out, both TCP and UDP
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -P OUTPUT DROP

Then use the entry that KeremE had in his post

# allow inbound TCP traffic if we established the connection outbound
iptables -A input -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT DROP

However, this means that NOTHING other than smtp and DNS queries gets OUT.  You can't surf the web, you can't ftp, you have NO way to get patches/updates from the network.

Again, typically any traffic is allowed out and only inbound traffic is filters.
0
All Courses

From novice to tech pro — start learning today.