spamd использует много кредитов ЦП на моем экземпляре AWS EC2

275
scuba_mike

У меня есть микроэкземпляр EC2 на AWS и работает spamassassin. В последние 5 минут он последовательно использовал около 0,5 кредитов ЦП. (Это означает, что мой процессор работает на 50% в течение 5 минут).

Есть ли способ уменьшить частоту запуска spamd или уменьшить общее количество процессоров, которые он использует?

Спасибо!

РЕДАКТИРОВАТЬ: В этом сообщении неправильно указано, что fail2ban вызывает использование процессора. После выключения он все еще использовал много кредитов ЦП и нашел другого виновника.

0
Обратите внимание, что 1 кредит ЦП = 1 ядро ​​за 1 минуту, поэтому 0,5 кредита за 5 минут - это 0,1 кредита в минуту, или 10% ЦП ... не 50%. Любой экземпляр не с 0% * всегда * использует кредиты. Michael - sqlbot 8 лет назад 0

1 ответ на вопрос

1
davidgo

Spamd is not something which is scheduled. Its run whenever a process calls it.

There is no simple bullet, and a lot of the answer is "it depends on your setup", but (assuming you have a normallish email server/user profile) you can greatly drop the amount of email your server needs to process by introducing grey-listing.

(Greylisting is a lightweight way to drop incoming spam, typically it drops about 80% of spam, and typically most email is spam, so it can make quite a difference. It works by allowing other servers to connect, send the from and to address, and if it does not recognise these it adds them to a list and closes the connection - legitimate mail servers are supposed to try and resend email, a lot of spam systems don't. The downside is that when people first communicate with each other it takes longer for the first email to get through).

I would probably not advise it, but you can also try use blacklists to block email from likely spam sources before it reaches spamassassin. This is much lighter-weight then using spamassassin to check emails, but gives a lot of trust (maybe to much trust) to RBL's.

If your server is sending a lot of email and you are sure its all legit you may want to bypass spam filtering for outgoing mail. If someone sending email through your server is compromised though, you will get blacklisted that much faster - you might be able to somewhat work around this by introducing quotas - eg "cluebringer/policyd".

Lastly, you may be able to gut parts of spamassassin to make it less CPU intensive. This is probably not a good idea though.

Спасибо @davidgo за ваш ответ. Я пошел по пути внесения в черный список на основе DNS. Так как я запускаю postfix, это было [относительно просто] (https://www.howtoforge.com/block_spam_at_mta_level_postfix). Я согласен с вами, что это требует некоторого доверия со стороны владельцев, которые создают черные списки, но так как SpamAssassin использует те же черные списки, я не думаю, что это больше доверия, чем я предлагал уже. Я просто прекращаю их, прежде чем они смогут отправлять почту. scuba_mike 8 лет назад 0
Я рад, если это помогло. Существует разница между использованием черного списка Postfix и списком Spamassassin - Spamassassin использует черные списки, чтобы помочь ему оценить вероятность спама (так что вы все равно можете получать электронную почту с черного списка IP), в то время как Postfix заблокирует его напрямую. Из любопытства, что эта мера сделала с кредитами / использованием вашего процессора? davidgo 8 лет назад 0
извините за задержку ответа. Я еще не проверял. Оказывается, что высокая загрузка ЦП произошла из-за того, что кто-то использовал спам-сервер на моем сервере. Это, в свою очередь, приводило к тому, что spamassassin сходил с ума из-за всех скачков, которые он получал! Пока нет данных о мерах по блокировке черного списка на уровне постфикса. На самом деле получается, что некоторые черные списки блокируют экземпляры ec2. scuba_mike 8 лет назад 0

Похожие вопросы