Recently we've had issues with some spammers in our network and i am looking for solutions.
Unfortunately, i haven't found much information regarding this subject, but i would like to share what i have found and to hope you can also share other solutions.
We are selling both containers and KVM, using bridged network interfaces.
1. The brute approach - Blocking Port 25
While this is the safest and easiest to implement solution, by using the Proxmox firewall, it's not really an option as there are many legitimate customers requiring email services. As most customers host their own sites, the email server is necessary.
2. Monitoring Connections
The idea here would be to monitor and count the outgoing port 25 connections in a time interval. That's easily done via tcpdump.
For openvz, there's also nodewatch, a highly acclaimed solution for monitoring the containers against spam and other abuse. I do not generally like it it's not officially supported on debian, rather bulky, and it's closed-source.
I'm considering building a small script to handle this, seems one of the best approaches at this moment.
3. Rate-limiting port 25
This would imply limiting the number of connections done in a time interval, at the firewall level, to a normal value, let's say 10 per minute.
This would be a great solution, but i am not sure if it's possible or how to to implement it on the proxmox cluster for both KVM and containers.
4. Transparent SMTP Proxy
The idea here would be to route all smtp traffic via a transparent SMTP proxy like ASSP, and use it to filter the email.
I am however afraid, that it would block legitimate email or that the spam will pass-through and look as originating from the proxy's IP.
There is also a privacy problem here, as you would actually scan through your customer's outgoing emails.
I'm looking forward for your additions and concerns regarding this topic.
Unfortunately, i haven't found much information regarding this subject, but i would like to share what i have found and to hope you can also share other solutions.
We are selling both containers and KVM, using bridged network interfaces.
1. The brute approach - Blocking Port 25
While this is the safest and easiest to implement solution, by using the Proxmox firewall, it's not really an option as there are many legitimate customers requiring email services. As most customers host their own sites, the email server is necessary.
2. Monitoring Connections
The idea here would be to monitor and count the outgoing port 25 connections in a time interval. That's easily done via tcpdump.
For openvz, there's also nodewatch, a highly acclaimed solution for monitoring the containers against spam and other abuse. I do not generally like it it's not officially supported on debian, rather bulky, and it's closed-source.
I'm considering building a small script to handle this, seems one of the best approaches at this moment.
3. Rate-limiting port 25
This would imply limiting the number of connections done in a time interval, at the firewall level, to a normal value, let's say 10 per minute.
This would be a great solution, but i am not sure if it's possible or how to to implement it on the proxmox cluster for both KVM and containers.
4. Transparent SMTP Proxy
The idea here would be to route all smtp traffic via a transparent SMTP proxy like ASSP, and use it to filter the email.
I am however afraid, that it would block legitimate email or that the spam will pass-through and look as originating from the proxy's IP.
There is also a privacy problem here, as you would actually scan through your customer's outgoing emails.
I'm looking forward for your additions and concerns regarding this topic.