Пример из практики: как Canonical обеспечивает управление электронной почтой Ubuntu с помощью корпоративного решения с открытым исходным кодом Forward Email
Узнайте, как компания Canonical оптимизировала управление электронной почтой в доменах Ubuntu, Kubuntu, Lubuntu и Edubuntu с помощью корпоративного решения Forward Email с открытым исходным кодом, устойчивого к квантовым вычислениям и бесшовной интеграцией единого входа (SSO).
В мире программного обеспечения с открытым исходным кодом мало какие имена имеют такой же вес, как Канонический, компания, стоящая за Убунту, один из самых популярных дистрибутивов Linux в мире. С обширной экосистемой, охватывающей множество дистрибутивов, включая Ubuntu, Кубунту, Лубунту, Эдубунтуи другие, Canonical столкнулись с уникальными проблемами при управлении адресами электронной почты в своих многочисленных доменах. В этом исследовании рассматривается, как Canonical сотрудничала с Forward Email для создания бесшовного, безопасного и ориентированного на конфиденциальность решения для управления корпоративной электронной почтой, которое идеально соответствует их ценностям открытого исходного кода.
Задача: управление сложной экосистемой электронной почты
Экосистема Canonical разнообразна и обширна. С миллионами пользователей по всему миру и тысячами участников в различных проектах управление адресами электронной почты в нескольких доменах представляло значительные трудности. Основным участникам требовались официальные адреса электронной почты (@ubuntu.com, @kubuntu.org и т. д.), которые отражали бы их участие в проекте, при этом сохраняя безопасность и простоту использования с помощью надежной системы управления доменами Ubuntu.
До внедрения функции пересылки электронной почты компания Canonical сталкивалась со следующими проблемами:
- Управление адресами электронной почты в нескольких доменах (@ubuntu.com, @kubuntu.org, @lubuntu.me, @edubuntu.org и @ubuntu.net)
- Обеспечение единообразного взаимодействия с электронной почтой для основных участников
- Интеграция служб электронной почты с существующими Убунту Один Система единого входа (SSO)
- Поиск решения, соответствующего их обязательствам по обеспечению конфиденциальности, безопасности и безопасности электронной почты с открытым исходным кодом
- Масштабирование инфраструктуры безопасной электронной почты с минимальными затратами
Ключевые выводы
- Canonical успешно реализовала единое решение для управления электронной почтой на нескольких доменах Ubuntu
- Полностью открытый подход Forward Email идеально соответствует ценностям Canonical
- Интеграция SSO с Ubuntu One обеспечивает бесперебойную аутентификацию для участников
- Квантово-устойчивое шифрование обеспечивает долгосрочную безопасность всех электронных сообщений
- Решение масштабируется экономически эффективно для поддержки растущей базы авторов Canonical.
Зачем пересылать электронную почту
Forward Email, как единственный 100% поставщик услуг электронной почты с открытым исходным кодом, уделяющий особое внимание конфиденциальности и безопасности, естественным образом подошел для корпоративных потребностей Canonical в пересылке электронной почты. Наши ценности идеально соответствуют приверженности Canonical программному обеспечению с открытым исходным кодом и конфиденциальности.
Ключевые факторы, сделавшие Forward Email идеальным выбором:
-
Полная база открытого исходного кода: Вся наша платформа имеет открытый исходный код и доступна на Гитхаб, что обеспечивает прозрачность и вклад сообщества. В отличие от многих «конфиденциально ориентированных» провайдеров электронной почты, которые только открывают исходный код своих frontend-ов, оставляя backend-ы закрытыми, мы сделали всю нашу кодовую базу — как frontend-ов, так и backend-ов — доступной для проверки любым желающим на Гитхаб.
-
Подход, ориентированный на конфиденциальность: В отличие от других провайдеров, мы не храним электронные письма в общих базах данных, и мы используем надежное шифрование с TLS. Наша фундаментальная философия конфиденциальности проста: Ваши электронные письма принадлежат вам и только вамЭтот принцип лежит в основе всех принимаемых нами технических решений: от того, как мы осуществляем пересылку электронной почты, до того, как мы внедряем шифрование.
-
Отсутствие зависимости от третьих лиц: Мы не используем Amazon SES или другие сторонние сервисы, что дает нам полный контроль над инфраструктурой электронной почты и исключает потенциальные утечки конфиденциальной информации через сторонние сервисы.
-
Экономически эффективное масштабирование: Наша модель ценообразования позволяет организациям масштабироваться без оплаты за каждого пользователя, что делает ее идеальной для большой базы участников Canonical.
-
Квантово-устойчивое шифрование: Мы используем индивидуально зашифрованные почтовые ящики SQLite с ЧаЧа20-Поли1305 как шифр для квантовобезопасное шифрование. Каждый почтовый ящик представляет собой отдельный зашифрованный файл, то есть доступ к данным одного пользователя не предоставляет доступа другим.
Реализация: бесшовная интеграция SSO
Одним из наиболее важных аспектов внедрения была интеграция с существующей системой единого входа Ubuntu One от Canonical. Эта интеграция позволила бы основным участникам управлять своими адресами электронной почты @ubuntu.com, используя существующие учетные данные Ubuntu One.
Визуализация потока аутентификации
Следующая диаграмма иллюстрирует полный процесс аутентификации и подготовки электронной почты:
flowchart TD
A[User visits forwardemail.net/ubuntu] --> B[User clicks 'Log in with Ubuntu One']
B --> C[Redirect to Ubuntu SSO service]
C --> D[User authenticates with Ubuntu One credentials]
D --> E[Redirect back to Forward Email with authenticated profile]
E --> F[Forward Email verifies user]
subgraph "User Verification Process"
F --> G{Is user banned?}
G -->|Yes| H[Error: User is banned]
G -->|No| I[Query Launchpad API]
I --> J{Is user valid?}
J -->|No| K[Error: User is not valid]
J -->|Yes| L{Has signed Ubuntu CoC?}
L -->|No| M[Error: User has not signed CoC]
L -->|Yes| N[Fetch Ubuntu team membership]
end
subgraph "Email Provisioning Process"
N --> O[Get Ubuntu members map]
O --> P{Is user in team?}
P -->|Yes| Q[Check for existing alias]
Q --> R{Alias exists?}
R -->|No| S[Create new email alias]
R -->|Yes| T[Update existing alias]
S --> U[Send notification email]
T --> U
P -->|No| V[No email provisioned]
end
subgraph "Error Handling"
H --> W[Log error with user details]
K --> W
M --> W
W --> X[Email team at Ubuntu]
X --> Y[Store error in cache to prevent duplicates]
end
Подробности технической реализации
Интеграция между Forward Email и Ubuntu One SSO была достигнута посредством индивидуальной реализации стратегии аутентификации passport-ubuntu. Это позволило реализовать бесшовный поток аутентификации между системами Ubuntu One и Forward Email.
Поток аутентификации
Процесс аутентификации работает следующим образом:
- Пользователи посещают специальную страницу управления электронной почтой Ubuntu по адресу forwardemail.net/ubuntu
- Они нажимают «Войти с Ubuntu One» и перенаправляются на службу единого входа Ubuntu.
- После аутентификации с использованием учетных данных Ubuntu One они перенаправляются обратно на страницу пересылки электронной почты с их аутентифицированным профилем.
- Пересылка электронной почты подтверждает их статус участника и соответствующим образом предоставляет или управляет их адресом электронной почты.
Техническая реализация использовала passport-ubuntu
пакет, который представляет собой Паспорт стратегия аутентификации в Ubuntu с использованием OpenID. Конфигурация включала:
passport.use(new UbuntuStrategy({
returnURL: process.env.UBUNTU_CALLBACK_URL,
realm: process.env.UBUNTU_REALM,
stateless: true
}, function(identifier, profile, done) {
// User verification and email provisioning logic
}));
Интеграция и проверка API Launchpad
Важнейшим компонентом нашей реализации является интеграция с Стартовая площадкаAPI для проверки пользователей Ubuntu и их членства в командах. Мы создали повторно используемые вспомогательные функции для эффективной и надежной обработки этой интеграции.
sync-ubuntu-user.js
Функция помощника отвечает за проверку пользователей через API Launchpad и управление их адресами электронной почты. Вот упрощенная версия того, как это работает:
async function syncUbuntuUser(user, map) {
try {
// Validate user object
if (!_.isObject(user) ||
!isSANB(user[fields.ubuntuUsername]) ||
!isSANB(user[fields.ubuntuProfileID]) ||
!isEmail(user.email))
throw new TypeError('Invalid user object');
// Get Ubuntu members map if not provided
if (!(map instanceof Map))
map = await getUbuntuMembersMap(resolver);
// Check if user is banned
if (user[config.userFields.isBanned]) {
throw new InvalidUbuntuUserError('User was banned', { ignoreHook: true });
}
// Query Launchpad API to validate user
const url = `https://api.launchpad.net/1.0/~${user[fields.ubuntuUsername]}`;
const response = await retryRequest(url, { resolver });
const json = await response.body.json();
// Validate required boolean properties
if (!json.is_valid)
throw new InvalidUbuntuUserError('Property "is_valid" was false');
if (!json.is_ubuntu_coc_signer)
throw new InvalidUbuntuUserError('Property "is_ubuntu_coc_signer" was false');
// Process each domain for the user
await pMap([...map.keys()], async (name) => {
// Find domain in database
const domain = await Domains.findOne({
name,
plan: 'team',
has_txt_record: true
}).populate('members.user');
// Process user's email alias for this domain
if (map.get(name).has(user[fields.ubuntuUsername])) {
// User is a member of this team, create or update alias
let alias = await Aliases.findOne({
user: user._id,
domain: domain._id,
name: user[fields.ubuntuUsername].toLowerCase()
});
if (!alias) {
// Create new alias with appropriate error handling
alias = await Aliases.create({
user: user._id,
domain: domain._id,
name: user[fields.ubuntuUsername].toLowerCase(),
recipients: [user.email],
locale: user[config.lastLocaleField],
is_enabled: true
});
// Notify admins about new alias creation
await emailHelper({
template: 'alert',
message: {
to: adminEmailsForDomain,
subject: `New @${domain.name} email address created`
},
locals: {
message: `A new email address ${user[fields.ubuntuUsername].toLowerCase()}@${domain.name} was created for ${user.email}`
}
});
}
}
});
return true;
} catch (err) {
// Handle and log errors
await logErrorWithUser(err, user);
throw err;
}
}
Чтобы упростить управление членством в командах в разных доменах Ubuntu, мы создали простое сопоставление между именами доменов и соответствующими им командами Launchpad:
ubuntuTeamMapping: {
'ubuntu.com': '~ubuntumembers',
'kubuntu.org': '~kubuntu-members',
'lubuntu.me': '~lubuntu-members',
'edubuntu.org': '~edubuntu-members',
'ubuntustudio.com': '~ubuntustudio-core',
'ubuntu.net': '~ubuntu-smtp-test'
},
Это простое сопоставление позволяет нам автоматизировать процесс проверки членства в команде и предоставления адресов электронной почты, что упрощает обслуживание и расширение системы по мере добавления новых доменов.
Обработка ошибок и уведомления
Мы внедрили надежную систему обработки ошибок, которая:
- Регистрирует все ошибки с подробной информацией о пользователе
- Отправляет электронное письмо команде Ubuntu при обнаружении проблем
- Уведомляет администраторов о регистрации новых участников и создании ими адресов электронной почты.
- Обрабатывает особые случаи, например, когда пользователи не подписали Кодекс поведения Ubuntu.
Это гарантирует быстрое выявление и решение любых проблем, поддерживая целостность системы электронной почты.
Конфигурация DNS и маршрутизация электронной почты
Для каждого домена, управляемого через пересылку электронной почты, Canonical добавила простую запись DNS TXT для проверки:
❯ dig ubuntu.com txt
ubuntu.com. 600 IN TXT "forward-email-site-verification=6IsURgl2t7"
Эта проверочная запись подтверждает право собственности на домен и позволяет нашей системе безопасно управлять электронной почтой для этих доменов. Canonical направляет почту через наш сервис через Postfix, который обеспечивает надежную и безопасную инфраструктуру доставки электронной почты.
Результаты: оптимизированное управление электронной почтой и повышенная безопасность
Внедрение корпоративного решения Forward Email принесло Canonical значительные преимущества в управлении электронной почтой во всех доменах:
Эффективность работы
- Централизованное управление: Все домены, связанные с Ubuntu, теперь управляются через единый интерфейс
- Сокращение административных накладных расходов: Автоматизированное предоставление и управление самообслуживанием для участников
- Упрощенная регистрация: Новые участники могут быстро получить свои официальные адреса электронной почты
Повышенная безопасность и конфиденциальность
- Сквозное шифрование: Все электронные письма шифруются с использованием передовых стандартов
- Нет общих баз данных: Электронные письма каждого пользователя хранятся в отдельных зашифрованных базах данных SQLite, что обеспечивает изолированное шифрование, которое в корне более безопасно, чем традиционные общие реляционные базы данных.
- Безопасность с открытым исходным кодом: Прозрачная кодовая база позволяет проводить проверки безопасности сообщества
- Обработка в памяти: Мы не сохраняем пересланные письма на диске, что повышает уровень защиты конфиденциальности
- Нет хранения метаданных: В отличие от многих поставщиков услуг электронной почты, мы не ведем учет того, кто кому отправляет электронные письма.
Экономия средств
- Масштабируемая модель ценообразования: Отсутствие платы за пользователя, что позволяет Canonical добавлять участников без увеличения затрат
- Сокращение потребностей в инфраструктуре: Нет необходимости содержать отдельные почтовые серверы для разных доменов
- Более низкие требования к поддержке: Самостоятельное управление сокращает количество обращений в ИТ-поддержку
Улучшенный опыт для участников
- Простая аутентификация: Единый вход с существующими учетными данными Ubuntu One
- Последовательный брендинг: Единый интерфейс для всех служб, связанных с Ubuntu
- Надежная доставка электронной почты: Высокая репутация IP гарантирует, что электронные письма дойдут до адресата
Интеграция с Forward Email значительно упростила процесс управления электронной почтой Canonical. Теперь участники имеют бесперебойный опыт управления своими адресами электронной почты @ubuntu.com, с уменьшенными административными издержками и повышенной безопасностью.
Взгляд в будущее: продолжение сотрудничества
Партнерство Canonical и Forward Email продолжает развиваться. Мы работаем вместе над несколькими инициативами:
- Расширение почтовых служб на дополнительные домены, связанные с Ubuntu
- Улучшение пользовательского интерфейса на основе отзывов участников
- Внедрение дополнительных функций безопасности
- Изучение новых способов использования нашего сотрудничества в области открытого исходного кода
Заключение: Идеальное партнерство с открытым исходным кодом
Сотрудничество Canonical и Forward Email демонстрирует силу партнерства, основанного на общих ценностях. Выбрав Forward Email в качестве поставщика услуг электронной почты, Canonical нашла решение, которое не только отвечало их техническим требованиям, но и идеально соответствовало их приверженности программному обеспечению с открытым исходным кодом, конфиденциальности и безопасности.
Для организаций, управляющих несколькими доменами и требующих бесшовной аутентификации с помощью существующих систем, Forward Email предлагает гибкое, безопасное и ориентированное на конфиденциальность решение. Наш подход с открытым исходным кодом обеспечивает прозрачность и позволяет вносить вклад в развитие сообщества, что делает его идеальным выбором для организаций, которые ценят эти принципы.
Поскольку Canonical и Forward Email продолжают внедрять инновации в своих областях, это партнерство является свидетельством силы сотрудничества с открытым исходным кодом и общих ценностей в создании эффективных решений.
Вы можете проверить наш статус обслуживания в реальном времени чтобы увидеть наши текущие показатели доставки электронной почты, которые мы постоянно отслеживаем, чтобы гарантировать качественную репутацию IP-адресов и доставляемость электронной почты.
Поддержка корпоративных клиентов
Хотя в этом примере основное внимание уделяется нашему партнерству с Canonical, Forward Email с гордостью оказывает поддержку многочисленным корпоративным клиентам из различных отраслей, которые ценят нашу приверженность принципам конфиденциальности, безопасности и открытого исходного кода.
Наши корпоративные решения разработаны с учетом конкретных потребностей организаций всех размеров и предлагают:
- Пользовательский домен управление электронной почтой в нескольких доменах
- Полная интеграция с существующими системами аутентификации
- Выделенный канал поддержки чата Matrix
- Расширенные функции безопасности, включая квантово-устойчивое шифрование
- Полная переносимость данных и владение ими
- Полностью открытая инфраструктура для прозрачности и доверия
Свяжитесь с нами
Если в вашей организации есть потребности в корпоративной электронной почте или вы хотите узнать больше о том, как функция пересылки электронной почты может помочь оптимизировать управление электронной почтой, одновременно повышая конфиденциальность и безопасность, мы будем рады услышать от вас:
- Напишите нам напрямую по адресу
support@forwardemail.net
- Подайте запрос на помощь на нашем страница помощи
- Проверьте наш страница с ценами для корпоративных планов
Наша команда готова обсудить ваши конкретные требования и разработать индивидуальное решение, соответствующее ценностям и техническим потребностям вашей организации.
О пересылке по электронной почте
Forward Email is the 100% open-source and privacy-focused email service. We provide custom domain email forwarding, SMTP, IMAP, and POP3 services with a focus on security, privacy, and transparency. Our entire codebase is available on Гитхаб, и мы стремимся предоставлять услуги электронной почты, которые уважают конфиденциальность и безопасность пользователей. Узнайте больше о почему электронная почта с открытым исходным кодом — это будущее, как работает наша пересылка электронной почты, а также наш подход к защите конфиденциальности электронной почты.