Какво е SpamAssassin?
SpamAssassin е спам филтър, който помага за намаляване на получаваните спам съобщения.
SpamAssassin е проект на Apache Software Foundation (ASF) и е едно от най-добрите приложения с отворен код за филтриране на SPAM.
Според разработчиците и статистиките, филтърът в над 95% от случаите разпознава правилно спам имейл съобщенията. И по-точно, SpamAssassin генерира около 1.5% false negatives – спам съобщения, които са пропуснати. Същевременно 0.6% са false positives – погрешно маркирани имейли като спам. Това се нарича още ham. Думата се използва като синоним на нормални имейл съобщения, които са маркирани като спам.
Основните функции, които SpamAssassin използва, са:
- Header tests;
- Body phrase tests;
- Bayesian filtering (BayesFaq);
- Automatic address whitelist/blacklist (AutoWhitelist);
- Automatic sender reputation system (TxRep);
- Manual address whitelist/blacklist (ManualWhitelist);
- Collaborative spam identification databases (DCC, Pyzor, Razor2);
- DNS Blocklists, also known as RBLs or Realtime Blackhole Lists;
- Character sets and locales.
SpamAssassin прилага различни тестове върху писмата
Принципът за проверка на мейл кореспонденцията, дали е спам или не, е прилагане на предварително създадени тестове. Те се прилагат върху съдържанието и хедърите на даденото писмо.
Спам филтърът SpamAssassin използва многобройни правила, всеки от които си има определени точки. Стойността на тези точки може да е:
- положителна за „това е спам“ (spam);
- отрицателна за „това не е спам“ (ham).
Примерни тестове, с точки валидни за версия 3.3.x SpamAssassin:
върху какво се извършва теста | описание | име на теста | точки |
header (хедъри) | Изпращачът на писмото съответства на SPF записа | SPF_PASS | -0.001 |
body (съдържанието на съобщението) | Текстовата част на съобщението се състои от 80-90% празни редове | BLANK_LINES_80_90 | 1 |
header (хедъри) | Темата на писмото съдържа единствено главни букви | SUBJ_ALL_CAPS | 1 |
За следния тест, ако писмото отговаря на условията му, тоест в полето От: (изпращач) се съдържа думата „cash“ се добавят 2.5 точки:
върху какво се извършва теста | описание | име на теста | точки |
header (хедъри) | В поле From: се съдържа думата „cash“ | FH_FROM_CASH | 2.5 |
Вижте пълен списък на тестовете за SpamAssassin версия 3.3.x
Глобалното число и достигането на предварително зададена негова стойност, определя дали дадено писмо се маркира като спам. Това число може да се променя в настройките на филтъра през cPanel, като зададете нова стойност в полето required_score.
За SpamAssassin може да се зададе глобално число от 0 до 10, като при 0 е най-рестриктивната защита и всички имейли ще са маркирани като спам съобщения.
Например:
- 0 – Всички имейли, ще бъдат маркирани като спам. Това е така, защото реално ще трябват 0 точки, за да се маркира дадено писмо като спам. Ако не се стигне до 0 точки, глобалното число ще е с отрицателна стойност. Това отново маркира писмото като спам;
- 5 – Стойност по подразбиране. За да се маркира дадено писмо като спам, ще е нужно резултатите от тестовете да са събрали 5 точки;
- 10 – По-малко писма ще бъдат маркирани като спам. За да се маркира дадено писмо като спам, ще е необходимо от тестовете върху писмото да се съберат 10 точки.