Безпека й приватність
Spam Scanner читає пошту, яка є приватною, від відправників, які можуть бути зловмисниками. На цій сторінці перелічено, що він кудись надсилає і як поводиться з тим, що читає.
Що залишає комп’ютер#
За замовчуванням — одне: імена хостів у посиланнях листа перевіряються через фільтрувальні резолвери Cloudflare 1.1.1.2 і 1.0.0.2 (шкідливе ПЗ і фішинг) та 1.1.1.3 і 1.0.0.3 (також вміст для дорослих). Це звичайні DNS-запити для імен на кшталт example.com; жодна частина листа чи його адрес не надсилається. Вимкніть їх за допомогою phishing: {cloudflare: false} або --no-cloudflare, або лише перевірку вмісту для дорослих за допомогою phishing: {adult: false}.
Усе інше вимкнено, доки не налаштовано:
| Перевірка | Що надсилає | Куди |
|---|---|---|
authentication | DNS-запити до записів SPF, DKIM, DMARC і ARC відправника | Ваш резолвер або dnsServers |
dnsbl | Обернену IP-адресу клієнта та домени посилань як DNS-запити | Сервери імен чорних списків, через ваш резолвер або dns.servers |
llm | Стислий виклад листа, без персональних даних для віддалених провайдерів | Сервер мовної моделі, який ви вкажете (приватність) |
reputation.apiUrl | IP-адресу, домен і адресу відправника | Сервіс, який ви вкажете |
clamav | Вкладення | Ваш clamd, через його сокет |
Немає телеметрії, перевірки оновлень чи завантажень під час роботи. Модель постачається всередині пакета.
Що він зберігає#
Нічого, якщо про це не попросити. Перевірки не журналюються й не зберігаються. learn() змінює класифікатор у пам’яті; на диск він записується лише через saveModel(), spamscanner learn або параметр серверів --out. Файл моделі містить лічильники хешованих ознак, а не слова чи текст листів.
Відповіді мовної моделі кешуються в пам’яті за хешем надісланого, тож про повторні копії того самого листа модель запитують один раз. Відповіді DNS кешуються в пам’яті на десять хвилин.
Ворожі вхідні дані#
- Вкладення розпізнаються за байтами й ніколи не виконуються та не відкриваються іншою програмою. ZIP-архіви читаються з їхнього центрального каталогу з обмеженням кількості записів; вкладені архіви не розпаковуються.
- Текст тіла читається до
maxLength(100 000 символів), а сервери приймають листи до 25 МБ. - Кожна мережева перевірка має тайм-аут (
timeout, за замовчуванням 10 секунд). Перевірка, що дала збій або не завершилася вчасно, пропускається, і сканування завершується без неї. - Заголовки
X-Spam-*, які вже є в листі, видаляють milterПоштовий фільтр: протокол із Sendmail, який також використовує Postfix; він дозволяє окремій програмі перевіряти кожен лист під час сеансу SMTP., контент-фільтр і--headers, тож відправники не можуть позначити власну пошту як чисту. - Заголовкам вердикту спаму від Microsoft довіряють, лише коли лист надійшов безпосередньо із серверів Microsoft, а заголовки Received ніколи не використовуються, щоб визначити, звідки надійшов лист.
- Текст, звернений до ШІ-фільтрів, оцінюється як спам, а мовній моделі повідомляють, що лист є даними, а не інструкціями. Ін’єкція промптів
Сервери#
Сервери milter, HTTP, TCP і spamdДемон SpamAssassin. Його протокол використовують spamc, Exim, Haraka та інші клієнти SpamAssassin. слухають на 127.0.0.1, якщо --host не вказує інше. HTTP API порівнює свій токен за сталий час і відмовляє в /learn без токена. Жоден із них не підтримує TLS: щоб звертатися до них через мережу, використовуйте приватну мережу, SSH-тунель або зворотний проксі з TLS.
Запускайте їх від імені непривілейованого користувача. Юніт systemd у посібнику з Postfix додає звичне посилення захисту.
Повідомлення про вразливість#
Повідомляйте про проблеми безпеки приватно через звітування про вразливості на GitHub, а не в публічних issues.