Самохостинг електронної пошти: Відданість відкритому коду
Передмова
Електронна пошта залишається основою нашої онлайн-ідентичності та комунікації. Багатьом користувачам доводиться жертвувати приватністю заради зручності або зручністю заради приватності. У Forward Email ми завжди вірили, що вам не потрібно обирати між цим.
Ми запустили наше рішення для самохостингу електронної пошти. Воно відповідає нашим принципам відкритого коду та дизайну з фокусом на приватність і передає повний контроль над вашою електронною комунікацією у ваші руки.
У цьому дописі розглянуто філософію нашого рішення для самохостингу, його технічну реалізацію та те, що воно пропонує користувачам, які хочуть і приватності, і власності над своїми цифровими комунікаціями.
Чому самохостинг електронної пошти важливий
Ми віримо, що приватність означає контроль, а контроль починається з відкритого коду. Наше рішення для самохостингу електронної пошти дає користувачам, які хочуть повної власності над своїми цифровими комунікаціями, повністю відкриту, перевірену платформу, яку вони можуть запускати на своїх умовах.
Проблема традиційних сервісів електронної пошти
Традиційні сервіси електронної пошти створюють такі проблеми для користувачів, які піклуються про приватність:
- Вимоги довіри: Ви повинні довіряти провайдеру, що він не отримуватиме доступ, не аналізуватиме та не ділитиметься вашими даними
- Централізований контроль: Ваш доступ може бути відкликаний у будь-який момент з будь-якої причини
- Вразливість до спостереження: Централізовані сервіси є основними цілями для спостереження
- Обмежена прозорість: Більшість сервісів використовують пропрієтарне, закрите програмне забезпечення
- Залежність від постачальника: Міграція від цих сервісів може бути складною або неможливою
Навіть "орієнтовані на приватність" провайдери електронної пошти часто не дотримуються цього, відкриваючи лише свої фронтенд-застосунки, залишаючи бекенд-системи пропрієтарними та закритими. Вас просять вірити їхнім обіцянкам приватності без можливості їх перевірити.
Альтернатива самохостингу
Самостійне розміщення вашої електронної пошти дає вам:
- Повний контроль: Ви володієте та контролюєте всю інфраструктуру електронної пошти
- Перевірена конфіденційність: Вся система прозора та підлягає аудиту
- Відсутність необхідності довіри: Вам не потрібно довіряти третій стороні свої комунікації
- Свобода налаштувань: Адаптуйте систему під свої конкретні потреби
- Стійкість: Ваш сервіс працює незалежно від рішень будь-якої компанії
Як сказав один користувач: «Самостійне розміщення моєї електронної пошти — це цифровий еквівалент вирощування власної їжі — це потребує більше зусиль, але я точно знаю, що в ній».
Наше самостійне розміщення: технічний огляд
Наше рішення для самостійного розміщення електронної пошти побудоване на тих самих принципах конфіденційності, що керують усіма нашими продуктами. Ось як ми це реалізували.
Архітектура на базі Docker для простоти та портативності
Ми упакували всю нашу інфраструктуру електронної пошти за допомогою Docker, що робить її легкою для розгортання на більшості систем на базі Linux. Цей контейнеризований підхід забезпечує такі переваги:
- Спрощене розгортання: одна команда налаштовує всю інфраструктуру
- Послідовне середовище: усуває проблеми «працює на моєму комп’ютері»
- Ізольовані компоненти: кожна служба працює у власному контейнері для безпеки
- Легкі оновлення: прості команди для оновлення всього стеку
- Мінімальні залежності: потрібні лише Docker і Docker Compose
Архітектура включає контейнери для:
- Веб-інтерфейс для адміністрування, а також сервер API для програмного доступу
- SNI-маршрутизатор nginx, який завершує TLS на порту 443 і проксіює до веб-, API-, CalDAV- та CardDAV-застосунків
- SMTP-сервер для вихідної пошти та сервер MX для вхідної пошти
- Сервери IMAP/POP3 для отримання пошти
- Сервер CalDAV для календарів
- Сервер CardDAV для контактів
- Сервер SQLite для безпечного зашифрованого зберігання поштових скриньок, а також воркер SQLite, який виконує резервне копіювання скриньок, операції
VACUUMта ротацію паролів псевдонімів - Виконавці запланованих завдань (Bree) для рівнів web/API, вихідного та SQLite
- MongoDB для зберігання конфігурації
- Redis для кешування та продуктивності
Note
Обов’язково ознайомтеся з нашим керівництвом для розробників самостійного розміщення
Встановлення за допомогою Bash-скрипта: доступність і безпека
Ми розробили процес встановлення максимально простим, зберігаючи найкращі практики безпеки:
bash <(curl -fsSL https://raw.githubusercontent.com/SureShinde/forwardemail/refs/heads/master/self-hosting/setup.sh)
Ця одна команда:
- Перевіряє системні вимоги
- Керує вас через конфігурацію
- Налаштовує DNS-записи
- Конфігурує TLS-сертифікати
- Розгортає Docker-контейнери
- Виконує початкове посилення безпеки
Для тих, хто турбується про передачу скриптів через pipe в bash (і це правильно!), ми рекомендуємо переглянути скрипт перед виконанням. Він повністю відкритий і доступний для перевірки.
Квантово-безпечне шифрування для захисту конфіденційності у майбутньому
Як і наш хостинг-сервіс, наше рішення для самостійного розміщення реалізує квантово-стійке шифрування, використовуючи ChaCha20-Poly1305 як шифр для баз даних SQLite. Такий підхід захищає ваші дані електронної пошти від сучасних загроз і майбутніх атак квантових комп’ютерів.
Кожна поштова скринька зберігається у власному зашифрованому файлі бази даних SQLite, що забезпечує повну ізоляцію між користувачами, що безпечніше за традиційні підходи зі спільними базами даних.
Автоматизоване обслуговування та оновлення
Ми вбудували утиліти обслуговування в рішення для самостійного розміщення:
- Автоматичні резервні копії: планові резервні копії всіх критичних даних
- Оновлення сертифікатів: автоматичне керування сертифікатами Let's Encrypt
- Оновлення системи: проста команда для оновлення до останньої версії
- Моніторинг стану: вбудовані перевірки для забезпечення цілісності системи
Ці утиліти доступні через просте інтерактивне меню:
# script prompt
1. Початкове налаштування
2. Налаштування резервних копій
3. Налаштування автоматичних оновлень
4. Оновлення сертифікатів
5. Відновлення з резервної копії
6. Допомога
7. Вихід
Відданість відкритому коду
Наше рішення для самостійного розміщення електронної пошти, як і всі наші продукти, є 100% відкритим кодом, як фронтенд, так і бекенд. Це означає:
- Повна прозорість: Кожен рядок коду, який обробляє ваші електронні листи, доступний для публічного перегляду
- Внески спільноти: Будь-хто може запропонувати покращення або виправити помилки
- Безпека через відкритість: Вразливості можуть бути виявлені та виправлені глобальною спільнотою
- Відсутність залежності від постачальника: Ви ніколи не залежите від існування нашої компанії
Весь код доступний на GitHub за адресою https://github.com/SureShinde/forwardemail.
Самохостинг проти керованого сервісу: як зробити правильний вибір
Самохостинг підходить не всім. Самохостинг електронної пошти пов’язаний із реальними обов’язками та викликами:
Реальність самохостингу електронної пошти
Технічні аспекти
- Управління сервером: Вам потрібно підтримувати VPS або виділений сервер
- Налаштування DNS: Правильне налаштування DNS критично важливе для доставляння листів
- Оновлення безпеки: Важливо своєчасно встановлювати патчі безпеки
- Управління спамом: Вам доведеться самостійно фільтрувати спам
- Стратегія резервного копіювання: Надійне резервне копіювання — ваша відповідальність
Витрати часу
- Початкове налаштування: Час на встановлення, перевірку та вивчення документації
- Поточне обслуговування: Періодичні оновлення та моніторинг
- Вирішення проблем: Час на усунення несправностей
Фінансові аспекти
- Вартість сервера: $5-$20 на місяць за базовий VPS
- Реєстрація домену: $10-$20 на рік
- Вартість часу: Ваш час має реальну цінність
Коли обирати наш керований сервіс
Для багатьох користувачів наш керований сервіс залишається найкращим варіантом:
- Зручність: Ми займаємося всіма оновленнями, обслуговуванням і моніторингом
- Надійність: Ви отримуєте переваги нашої перевіреної інфраструктури та досвіду
- Підтримка: Допомога у разі виникнення проблем
- Доставляння листів: Використання нашої встановленої репутації IP-адрес
- Економічність: З урахуванням вартості часу наш сервіс часто коштує менше
Обидва варіанти забезпечують однакові переваги конфіденційності та прозорість відкритого коду. Різниця в тому, хто керує інфраструктурою.
Початок роботи з самохостингом Forward Email
Щоб почати:
Системні вимоги
- Ubuntu 20.04 LTS або новіша, чи Debian 11/12 (див. покрокові посібники для Ubuntu та Debian)
- Мінімум 1 ГБ ОЗП (рекомендується 2 ГБ і більше)
- Рекомендовано 20 ГБ дискового простору
- Доменне ім’я, яким ви керуєте
- Публічна IP-адреса з підтримкою порту 25
- Можливість налаштувати зворотній PTR
- Підтримка IPv4 та IPv6
Tip
Ми рекомендуємо кілька провайдерів поштових серверів на https://forwardemail.studio/blog/docs/best-mail-server-providers (джерело на https://github.com/forwardemail/awesome-mail-server-providers)
Кроки встановлення
-
Запустіть скрипт встановлення:
bash <(curl -fsSL https://raw.githubusercontent.com/SureShinde/forwardemail/refs/heads/master/self-hosting/setup.sh) -
Слідуйте інтерактивним підказкам:
- Введіть ваше доменне ім’я
- Налаштуйте облікові дані адміністратора
- Налаштуйте DNS-записи згідно з інструкціями
- Оберіть бажані параметри конфігурації
-
Перевірте встановлення:
Після завершення встановлення ви можете перевірити працездатність:- Перевірте статус контейнерів:
docker ps - Надішліть тестовий лист
- Увійдіть у веб-інтерфейс
- Перевірте статус контейнерів:
Майбутнє самохостингу електронної пошти
Ми плануємо вдосконалювати рішення для самохостингу, додаючи:
- Покращені інструменти адміністрування: Потужніше веб-управління
- Додаткові варіанти автентифікації: Включно з підтримкою апаратних ключів безпеки
- Розширений моніторинг: Кращий аналіз стану системи та продуктивності
- Розгортання на кількох серверах: Варіанти для конфігурацій з високою доступністю
- Покращення, що надходять від спільноти: Врахування внесків користувачів
Висновок: Свобода електронної пошти для кожного
Наше рішення для самостійного розміщення електронної пошти розширює наші конфіденційні, прозорі сервіси електронної пошти. Наш керований сервіс і варіант самостійного розміщення мають однаковий відкритий код і дизайн з пріоритетом на конфіденційність.
Електронна пошта надто важлива, щоб її контролювали закриті, пропрієтарні системи, які ставлять збір даних вище за приватність користувача. Рішення Forward Email для самостійного розміщення — це альтернатива, що дає вам повний контроль над вашими цифровими комунікаціями.
Ми віримо, що конфіденційність — це фундаментальне право, і наш варіант самостійного розміщення електронної пошти робить його доступнішим.
Почніть сьогодні або дослідіть наш репозиторій на GitHub, щоб дізнатися більше.
Джерела
[1] Репозиторій Forward Email на GitHub: https://github.com/SureShinde/forwardemail
[2] Документація для самостійного розміщення: https://forwardemail.studio/en/self-hosted
[3] Технічна реалізація захисту конфіденційності електронної пошти: https://forwardemail.studio/en/blog/docs/email-privacy-protection-technical-implementation
[4] Чому важлива електронна пошта з відкритим кодом: https://forwardemail.studio/en/blog/docs/why-open-source-email-security-privacy