What do you guys for email spam protection? I have a CentOS 6 server, with cPanel/WHM installed. We use roundcube for webmail (installed on a sub domain), and have Spam Assassin enabled, but even with strict settings--ALOT of spam comes through(100+ per day, across roughly 15 accounts, all with different IPs, hostnames, and email addresses).
Do you know of anything better then Spam Assassin?
In addition to Spam Assassin, I have Sender Verify ON.
You can customize Exim configuration to reduce or prevent mail abuses. There are things that you can do to check incoming as well as outgoing spams.
A few things that you can do are
*Extended DNSBL check
*Outgoing non-smtp spamassassin check
*Extended spamassassin rules
*Extended HELO check
*Limiting max email recipients in single mails to prevent mass mailings
*Logging mail scripts in apache error logs, so that we can track spamming
Also, implementing apache and FTP upload scans will prevent your clients from uploading malicious scripts.
If the suggestions by david510 doesn't help, you may want to look at a spam appliance such as spamexperts, mailfoundry, barracuda, and free ones such as mailscanner -- though I don't have experience with mailscanner. Those usually replace the MX records and then deliver mail to the mail server if the mail isn't spam. Those usually need to have the domains setup in their systems and routes setup.
-Steven | u2-web, LLC - Clustered Shared Hosting "It is the mark of an educated mind to be able to entertain a thought without accepting it" -Aristotle
You can try using other anti-spam tools like cPanel MailScanner / ClamAV. Similarly you can try using spam filters to filter out the email by analysing the pattern of incoming email. Another point is to use callouts to verify the existence of the sender email. Similarly you shouldn't use your default address feature (catch-all) within cPanel to receive emails.
If you are getting alot of spam on your server and use Spamassassin (SA) simply setup a folder for your clients such spam and isnotspam and train SA through a cron job.
That way when client's messages (false positives) are flag as spam you can have your clients put it in isnotspam and run the cronjob to teach and the same for spam messages that are indeed spam placed in folder "spam" and train SA.
This could help. You would need a ton of messages to really see some improvement. But aside from what others said this would be that additional step if it's not already being done in cPanel.