Хороший индикатор для взламывания activies или других нападений является количеством ошибок в час. Следующий сценарий возвращает даты и часы, которые имели больше чем 25 возвращенных кодов ошибок. Скорректируйте значение в зависимости от объема движения на сайте (и качество Вашего веб-приложения ;-)).
SELECT date as Date, QUANTIZE(time, 3600) AS Hour,
sc-status as Status, count(*) AS ErrorCount
FROM {filename}
WHERE sc-status >= 400
GROUP BY date, hour, sc-status
HAVING ErrorCount > 25
ORDER BY ErrorCount DESC
Результат мог что-то вроде этого:
Date Hour Status ErrorCount ---------- -------- ------ ------ 2009-07-24 18:00:00 404 187 2009-07-17 13:00:00 500 99 2009-07-21 21:00:00 404 80 2009-07-03 04:00:00 404 45 ...
Следующий запрос обнаруживает необычно высокое количество хитов на единственном URL от одного IP-адреса. В этом примере я выбрал 500, но Вам, вероятно, придется изменить запрос для пограничных случаев (исключая IP-адрес Google Лондон, например, ;-).)
SELECT DISTINCT date AS Date, cs-uri-stem AS URL,
c-ip AS IPAddress, Count(*) AS Hits
FROM {filename}
GROUP BY date, c-ip, cs-uri-stem
HAVING Hits > 500
ORDER BY Hits Desc
Date URL IPAddress Hits ---------- ----------------------------------- --------------- ---- 2009-07-24 /Login.aspx 111.222.111.222 1889 2009-07-12 /AccountUpdate.aspx 11.22.33.44 973 2009-07-19 /Login.aspx 123.231.132.123 821 2009-07-21 /Admin.aspx 44.55.66.77 571 ...
Необходимо обновить правила, если сообщение на самом деле не содержит дату в прошлом 2020, FH_DATE_PAST_20XX не должен инициировать (было правило, фиксируют для этого несколько месяцев назад). Выполненный sa-update
и это должно обновить Ваши правила. Если это не работает по некоторым причинам, читайте на этом сообщении: Держание в курсе SpamAssassin.
Вы, должно быть, не установили порог к 7,5, потому что заголовок ясно указывает, что 5.0, это - порог. Вы local.cf
файл должен содержать строку, подобную required_score 7.5
Будьте осторожны нет другой строки с другим счетом где-то в другом месте в файле.