У меня есть Apple XServe G5 с сервером 10.4, который я использую в основном для веб-сайта (небольших) компаний и внутренней электронной почты. Обычно загрузка процессора колеблется в пределах 5-10%. Поскольку у меня довольно небольшая компания, и я предпочитаю использовать свою учетную запись GMail, почтовый сервер может видеть 10 писем в день и имеет 4 активных аккаунта. 2 дня назад программа Clam AV начала засасывать 100% всего доступного процессорного пространства, и ее обновление не помогло. Я отключил его, но теперь сталкиваюсь с другой проблемой: поток qmngr Postfix читал и записывал огромное количество данных на диск: 5-7 МБ / секунду, непрерывно, 24/7. Также он забирал 10-15% ЦП. Когда я его убиваю, количество операций ввода-вывода на диске падает почти до нуля, но, конечно же, он снова запускается, когда приходит электронное письмо. Кроме того, syslogd занимает 15-20%. Как я уже сказал, эти проблемы возникли два дня назад совершенно неожиданно; Я не внес абсолютно никаких изменений в конфигурацию сервера.
Спасибо за любую помощь,
Крис
P.S. - Еще несколько примечаний по конфигурации сервера: 2 ГБ ОЗУ (я знаю, что это немного мало, я работаю над этим ...), 1 двухъядерный процессор G5, 1 ТБ HDD. Система используется для электронной почты и запускает программу Crossroads для балансировки HTTP-запросов между собой и двумя серверами CentOS.
Похоже, вас заваливают спамом, входящим (плохо) или передаваемым через ваш сервер (хуже). Сначала взгляните на очередь почты с помощью sudo postqueue -p
или Администратор сервера -> Почтовый сервис -> Обслуживание (вкладка внизу окна) -> Очередь почты (вкладка вверху). Если он показывает много нежелательной почты, адресованной другим доменам, вы используете в качестве ретранслятора спама и вам нужно найти дыру в настройках вашего ретранслятора и закрыть его (а затем очистить очередь почты). Если он показывает много входящих и / или отказов, вам необходимо усилить защиту от входящего спама. Если он пуст ... значит, это что-то еще, и этот ответ не сильно поможет (кроме частей регистрации). В любом случае, первое, что нужно сделать, это убедиться, что у вас достаточно запущенных журналов: в Server Admin -> Mail -> Settings -> Logging установите уровень детализации журнала SMTP на Information или Debug (я предпочитаю Info); журнал SMTP (/var/log/mail.log) - лучшее место для подробностей о том, что происходит внутри крохотного разума postfix.
Блокировка ретрансляции: ваш сервер будет ретранслировать сообщения, если они приходят с доверенного IP-адреса (указанного в Server Admin -> Mail -> Settings -> Relay -> Accept SMTP relay only from these hosts and networks), либо отправитель аутентифицируется с действительным имя пользователя Пароль. Чтобы узнать, что это такое, поищите в журнале SMTP соединение и входящее сообщение; он должен выглядеть примерно так (только с меткой времени и именем сервера перед каждой строкой):
postfix/smtpd[17145]: connect from unknown[10.0.0.201]
postfix/smtpd[17145]: 069E852BC63: client=unknown[10.0.0.201], sasl_method=CRAM-MD5, sasl_username=sucker
postfix/cleanup[17153]: 069E852BC63: message-id=<C45A4B44-A531-4977-AAB3-DAE90CBA5CF1@spamguys.com>
postfix/qmgr[72]: 069E852BC63: from=<spammer@spamguys.com>, size=63282, nrcpt=1 (queue active)
Обратите внимание, что эти строки могут быть растянуты, так как в журнале происходят другие события и другие сообщения. Что я делаю, так это ищу сообщение qmgr с подозрительным from = <>, а затем ищу номер сообщения (069E852BC63 в этом примере), чтобы найти строку smtpd, а затем, при необходимости, используйте идентификатор процесса smtpd (17145 выше), чтобы найти первоначальное подключение. После того как вы нашли соответствующие строки журнала, нужно искать исходный IP-адрес (10.0.0.201 выше) и посмотреть, доверяет ли он; если это так, найдите компьютер / устройство по этому адресу и выясните, почему он рассылает спам. Еще нужно проверить строку smtpd, которая включает "sasl_method = CRAM-MD5, sasl_username = sucker" - это означает, что клиент аутентифицирован как пользователь с именем "sucker", и вам необходимо немедленно изменить пароль этого пользователя (а затем попробуйте узнать, как пароль был слит / угадан).
Блокировка входящего спама: на сервере 10.4 у вас есть две линии защиты от спама на сервере: черные списки и фильтрация. Вы должны сделать как можно больше с черным списком, потому что он блокирует сообщения еще до того, как ваш сервер даже получает их, тем самым снижая нагрузку на ваш сервер (ему не нужно запускать фильтры спама и вирусов, обрабатывать сообщения о недоставке и т. Д.). Вы можете подписаться на черный список DNS в разделе Server Admin -> Mail -> Settings -> Relay -> Use эти серверы отклонения нежелательной почты (черный список в реальном времени). Я не проводил хороших опросов в течение нескольких лет, но zen.spamhaus.org имеет очень хорошую репутацию, и я всегда получал хорошие результаты от bl.spamcop.net, когда у меня был более важный сервер. При наличии одного или двух черных списков нагрузка должна быть сокращена до точки, с которой qmgr и вирусный фильтр могут справиться (с оговоркой, я доберусь до нее через минуту). Если вы хотите стать немного интереснее, на сайте topicdesk.com есть PDF с некоторыми дополнительными приемами.
Наконец, предостережение относительно ClamAV: версия ClamAV, включенная в сервер 10.4, больше не поддерживается текущими определениями вирусов; опять же, на topicdesk.com есть PDF с инструкциями по обновлению движка ClamAV.
Есть ли у вас какая-то фильтрация спама? Много месяцев назад я столкнулся с раздражающим спамом с прикрепленным zip-файлом. Файл, включенный в этот архив, был в основном заполнен «00000000000000000000000000000» или чем-то в этом роде, и когда мой спам-фильтр извлек этот архив, невинно выглядящее вложение размером в пару сотен килобайт увеличилось до десятков мегабайт. И, конечно же, было много-много такого входящего спама одновременно.
Отличный способ замучить свой почтовый сервер!