Практичний приклад: як Ubuntu забезпечує керування електронною поштою за допомогою корпоративного рішення Forward Email з відкритим кодом

Дізнайтеся, як Canonical оптимізувало керування електронною поштою в доменах Ubuntu, Kubuntu, Lubuntu та Edubuntu за допомогою квантово стійкого корпоративного рішення Forward Email з відкритим вихідним кодом і бездоганною інтеграцією SSO.

У світі програмного забезпечення з відкритим кодом небагато імен мають таку вагу, як Канонічний, компанія, що стоїть за Ubuntu, один із найпопулярніших дистрибутивів Linux у всьому світі. Завдяки величезній екосистемі, що охоплює кілька дистрибутивів, включаючи Ubuntu, У людяності, Lubuntu, Edubuntuта інші, компанія Canonical зіткнулася з унікальними проблемами в управлінні електронними адресами в своїх численних доменах. У цьому прикладі досліджується, як Canonical у партнерстві з Forward Email створили цілісне, безпечне й орієнтоване на конфіденційність корпоративне рішення для керування електронною поштою, яке ідеально відповідає їх цінностям відкритого коду.

Завдання: управління складною екосистемою електронної пошти

Екосистема Canonical різноманітна та обширна. З мільйонами користувачів у всьому світі та тисячами співавторів у різних проектах, керування адресами електронної пошти в кількох доменах становило значні труднощі. Основним учасникам були потрібні офіційні адреси електронної пошти (@ubuntu.com, @kubuntu.org тощо), які відображали б їх участь у проекті, зберігаючи при цьому безпеку та простоту використання через надійну систему керування доменом Ubuntu.

Перед запровадженням пересилання електронної пошти Canonical стикався з:

  • Керування електронними адресами в кількох доменах (@ubuntu.com, @kubuntu.org, @lubuntu.me, @edubuntu.org і @ubuntu.net)
  • Забезпечення стабільної електронної пошти для основних учасників
  • Інтеграція служб електронної пошти з наявними Ubuntu One Система єдиного входу (SSO).
  • Пошук рішення, яке відповідатиме їхнім зобов’язанням щодо конфіденційності, безпеки та безпеки електронної пошти з відкритим кодом
  • Економічно масштабувати свою безпечну інфраструктуру електронної пошти

Ключові висновки

  • Canonical успішно впровадив уніфіковане рішення для керування електронною поштою в кількох доменах Ubuntu
  • 100% відкритий підхід Forward Email ідеально узгоджується з цінностями Canonical
  • Інтеграція SSO з Ubuntu One забезпечує безперебійну автентифікацію для учасників
  • Квантово-стійке шифрування забезпечує довгострокову безпеку всіх електронних повідомлень
  • Рішення економічно масштабується для підтримки зростаючої бази учасників Canonical

Навіщо пересилати електронну пошту

Будучи єдиним постачальником послуг електронної пошти з 100% відкритим вихідним кодом, який зосереджується на конфіденційності та безпеці, Forward Email був природним рішенням для корпоративних потреб Canonical у сфері пересилання електронної пошти. Наші цінності ідеально узгоджуються з прихильністю Canonical щодо відкритого програмного забезпечення та конфіденційності.

Основні фактори, які зробили Forward Email ідеальним вибором, включали:

  1. Повна база коду з відкритим кодом: уся наша платформа є відкритою та доступна на GitHub, що забезпечує прозорість і внески спільноти. На відміну від багатьох «орієнтованих на конфіденційність» постачальників послуг електронної пошти, які відкривають вихідні коди лише для своїх інтерфейсів, але залишають закритими, ми зробили всю нашу кодову базу — як інтерфейс, так і сервер — доступною для будь-кого, щоб перевірити на GitHub.

  2. Підхід, орієнтований на конфіденційність: На відміну від інших постачальників, ми не зберігаємо електронні листи в спільних базах даних і використовуємо надійне шифрування за допомогою TLS. Наша фундаментальна філософія конфіденційності проста: ваші електронні листи належать вам і тільки вам. Цим принципом керується кожне технічне рішення, яке ми приймаємо, від того, як ми обробляємо пересилання електронної пошти до того, як ми впроваджуємо шифрування.

  3. Відсутність залежності від третіх сторін: Ми не використовуємо Amazon SES чи інші сторонні служби, що дає нам повний контроль над інфраструктурою електронної пошти та усуває можливі витоки конфіденційності через сторонні служби.

  4. Економічне масштабування: наша модель ціноутворення дозволяє організаціям масштабуватися без плати за кожного користувача, що робить її ідеальною для великої бази учасників Canonical.

  5. Квантово стійке шифрування: Ми використовуємо індивідуально зашифровані поштові скриньки SQLite з ChaCha20-Poly1305 як шифр для квантово стійке шифрування. Кожна поштова скринька є окремим зашифрованим файлом, тобто доступ до даних одного користувача не надає доступу іншим.

Реалізація: безперебійна інтеграція SSO

Одним із найважливіших аспектів впровадження була інтеграція з існуючою системою Ubuntu One SSO 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» і перенаправляються до служби SSO Ubuntu
  3. Після автентифікації за допомогою своїх облікових даних Ubuntu One вони перенаправляються назад до Forward Email з їхнім автентифікованим профілем
  4. Forward Email перевіряє їхній статус співавтора та положення або відповідно керує їхньою адресою електронної пошти

Технічна реалізація використала passport-ubuntu пакет, який є a Паспорт стратегія автентифікації за допомогою 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
}));

Інтеграція та перевірка Launchpad API

Важливим компонентом нашої реалізації є інтеграція з Стартова панельAPI для перевірки користувачів Ubuntu та членства в їхніх командах. Ми створили багаторазові допоміжні функції для ефективної та надійної обробки цієї інтеграції.

The 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 і маршрутизація електронної пошти

Для кожного домену, керованого через Forward Email, Canonical додала простий запис TXT DNS для перевірки:

❯ 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
  • Розширені функції безпеки, включаючи квантово стійке шифрування
  • Повна переносимість даних і право власності
  • 100% інфраструктура з відкритим кодом для прозорості та довіри

Зв'яжіться з нами

Якщо вашій організації потрібна корпоративна електронна пошта або ви хочете дізнатися більше про те, як Forward Email може допомогти оптимізувати керування електронною поштою, підвищуючи конфіденційність і безпеку, ми будемо раді почути від вас:

Наша команда готова обговорити ваші конкретні вимоги та розробити індивідуальне рішення, яке відповідає цінностям і технічним потребам вашої організації.

Про переслати електронну пошту

Forward Email — це служба електронної пошти з 100% відкритим вихідним кодом, орієнтована на конфіденційність. Ми надаємо спеціальні доменні пересилання електронної пошти, SMTP, IMAP і POP3 служби з акцентом на безпеку, конфіденційність і прозорість. Уся наша кодова база доступна на GitHub, і ми прагнемо надавати послуги електронної пошти, які поважають конфіденційність і безпеку користувачів. Дізнайтеся більше про чому за електронною поштою з відкритим кодом майбутнє, як працює наша переадресація електронної пошти, і наш підхід до захисту конфіденційності електронної пошти.