Пример из практики: как 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 идеальным выбором:

  1. Полная база открытого исходного кода: Вся наша платформа имеет открытый исходный код и доступна на Гитхаб, что обеспечивает прозрачность и вклад сообщества. В отличие от многих «конфиденциально ориентированных» провайдеров электронной почты, которые только открывают исходный код своих frontend-ов, оставляя backend-ы закрытыми, мы сделали всю нашу кодовую базу — как frontend-ов, так и backend-ов — доступной для проверки любым желающим на Гитхаб.

  2. Подход, ориентированный на конфиденциальность: В отличие от других провайдеров, мы не храним электронные письма в общих базах данных, и мы используем надежное шифрование с TLS. Наша фундаментальная философия конфиденциальности проста: Ваши электронные письма принадлежат вам и только вамЭтот принцип лежит в основе всех принимаемых нами технических решений: от того, как мы осуществляем пересылку электронной почты, до того, как мы внедряем шифрование.

  3. Отсутствие зависимости от третьих лиц: Мы не используем Amazon SES или другие сторонние сервисы, что дает нам полный контроль над инфраструктурой электронной почты и исключает потенциальные утечки конфиденциальной информации через сторонние сервисы.

  4. Экономически эффективное масштабирование: Наша модель ценообразования позволяет организациям масштабироваться без оплаты за каждого пользователя, что делает ее идеальной для большой базы участников Canonical.

  5. Квантово-устойчивое шифрование: Мы используем индивидуально зашифрованные почтовые ящики 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.

Поток аутентификации

Процесс аутентификации работает следующим образом:

  1. Пользователи посещают специальную страницу управления электронной почтой Ubuntu по адресу forwardemail.net/ubuntu
  2. Они нажимают «Войти с Ubuntu One» и перенаправляются на службу единого входа Ubuntu.
  3. После аутентификации с использованием учетных данных Ubuntu One они перенаправляются обратно на страницу пересылки электронной почты с их аутентифицированным профилем.
  4. Пересылка электронной почты подтверждает их статус участника и соответствующим образом предоставляет или управляет их адресом электронной почты.

Техническая реализация использовала 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'
},

Это простое сопоставление позволяет нам автоматизировать процесс проверки членства в команде и предоставления адресов электронной почты, что упрощает обслуживание и расширение системы по мере добавления новых доменов.

Обработка ошибок и уведомления

Мы внедрили надежную систему обработки ошибок, которая:

  1. Регистрирует все ошибки с подробной информацией о пользователе
  2. Отправляет электронное письмо команде Ubuntu при обнаружении проблем
  3. Уведомляет администраторов о регистрации новых участников и создании ими адресов электронной почты.
  4. Обрабатывает особые случаи, например, когда пользователи не подписали Кодекс поведения 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
  • Расширенные функции безопасности, включая квантово-устойчивое шифрование
  • Полная переносимость данных и владение ими
  • Полностью открытая инфраструктура для прозрачности и доверия

Свяжитесь с нами

Если в вашей организации есть потребности в корпоративной электронной почте или вы хотите узнать больше о том, как функция пересылки электронной почты может помочь оптимизировать управление электронной почтой, одновременно повышая конфиденциальность и безопасность, мы будем рады услышать от вас:

Наша команда готова обсудить ваши конкретные требования и разработать индивидуальное решение, соответствующее ценностям и техническим потребностям вашей организации.

О пересылке по электронной почте

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 Гитхаб, и мы стремимся предоставлять услуги электронной почты, которые уважают конфиденциальность и безопасность пользователей. Узнайте больше о почему электронная почта с открытым исходным кодом — это будущее, как работает наша пересылка электронной почты, а также наш подход к защите конфиденциальности электронной почты.