Безпека й приватність

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}.

Усе інше вимкнено, доки не налаштовано:

ПеревіркаЩо надсилаєКуди
authenticationDNS-запити до записів SPF, DKIM, DMARC і ARC відправникаВаш резолвер або dnsServers
dnsblОбернену IP-адресу клієнта та домени посилань як DNS-запитиСервери імен чорних списків, через ваш резолвер або dns.servers
llmСтислий виклад листа, без персональних даних для віддалених провайдерівСервер мовної моделі, який ви вкажете (приватність)
reputation.apiUrlIP-адресу, домен і адресу відправникаСервіс, який ви вкажете
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.

Редагувати цю сторінку на GitHub · Markdown ·