Blocking SMTP connections

From GigaTux Wiki
Revision as of 13:44, 23 March 2017 by Cocodude (talk | contribs) (→Rate Limiting)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Blocking

If a VPS user has been found to be spamming other users, you can block them temporarily from accessing SMTP ports by issuing commands similar to the following on the node that their VPS is situated on:

 iptables -t mangle -I POSTROUTING -s <IP ADDRESS> -p tcp --source-port 25 -j DROP
 iptables -t mangle -I POSTROUTING -s <IP ADDRESS> -p tcp --destination-port 25 -j DROP

To unblock, just use the -D rules:

 iptables -t mangle -D POSTROUTING -s <IP ADDRESS> -p tcp --source-port 25 -j DROP
 iptables -t mangle -D POSTROUTING -s <IP ADDRESS> -p tcp --destination-port 25 -j DROP

Rate Limiting

If you want to reduce their SMTP limits to around 1Mbit per second (66 packets at ~1500 bytes per packet), use the following commands:

 iptables -t mangle -A POSTROUTING -s <IP ADDRESS> -p tcp -m multiport --dports 25,465 -m limit --limit 66/sec -j ACCEPT
 iptables -t mangle -A POSTROUTING -s <IP ADDRESS> -p tcp -m multiport --dports 25,465 -j DROP

To unblock, just use the -D rules:

 iptables -t mangle -D POSTROUTING -s <IP ADDRESS> -p tcp -m multiport --dports 25,465 -m limit --limit 66/sec -j ACCEPT
 iptables -t mangle -D POSTROUTING -s <IP ADDRESS> -p tcp -m multiport --dports 25,465 -j DROP