사례 연구: Canonical이 Forward Email의 오픈소스 엔터프라이즈 솔루션을 통해 Ubuntu 이메일 관리를 강화하는 방법

Canonical이 원활한 SSO 통합을 갖춘 Forward Email의 오픈 소스, 양자 저항 엔터프라이즈 솔루션을 사용하여 Ubuntu, Kubuntu, Lubuntu 및 Edubuntu 도메인에서 이메일 관리를 어떻게 간소화했는지 알아보세요.

오픈 소스 소프트웨어의 세계에서는 다음과 같은 이름만큼 큰 영향력을 미치는 이름은 거의 없습니다. 정식, 뒤에 있는 회사 우분투, 전 세계적으로 가장 인기 있는 Linux 배포판 중 하나입니다. Ubuntu를 포함한 여러 배포판에 걸친 광대한 생태계를 갖추고 있습니다. 쿠분투, 루분투, 에듀분투, 그리고 다른 사람들, Canonical은 수많은 도메인에서 이메일 주소를 관리하는 데 있어 고유한 과제에 직면했습니다. 이 사례 연구는 Canonical이 Forward Email과 협력하여 오픈 소스 가치와 완벽하게 일치하는 원활하고 안전하며 개인 정보 보호에 중점을 둔 엔터프라이즈 이메일 관리 솔루션을 만든 방법을 살펴봅니다.

과제: 복잡한 이메일 생태계 관리

Canonical의 생태계는 다양하고 광범위합니다. 전 세계적으로 수백만 명의 사용자와 다양한 프로젝트에 참여하는 수천 명의 기여자가 있는 상황에서 여러 도메인에서 이메일 주소를 관리하는 것은 상당한 과제였습니다. 핵심 기여자는 프로젝트에 대한 참여를 반영하는 공식 이메일 주소(@ubuntu.com, @kubuntu.org 등)가 필요했으며, 강력한 Ubuntu 도메인 관리 시스템을 통해 보안과 사용 편의성을 유지해야 했습니다.

Forward Email을 구현하기 전에 Canonical은 다음과 같은 문제에 어려움을 겪었습니다.

  • 여러 도메인(@ubuntu.com, @kubuntu.org, @lubuntu.me, @edubuntu.org 및 @ubuntu.net)에서 이메일 주소 관리
  • 핵심 기여자에게 일관된 이메일 경험 제공
  • 기존 서비스와 이메일 서비스 통합 우분투 원 Single Sign-On (SSO) 시스템
  • 개인정보 보호, 보안 및 오픈 소스 이메일 보안에 대한 약속과 일치하는 솔루션 찾기
  • 비용 효율적으로 보안 이메일 인프라 확장

주요 요점

  • Canonical은 여러 Ubuntu 도메인에서 통합 이메일 관리 솔루션을 성공적으로 구현했습니다.
  • Forward Email의 100% 오픈 소스 접근 방식은 Canonical의 가치와 완벽하게 일치했습니다.
  • Ubuntu One과의 SSO 통합은 기여자에게 원활한 인증을 제공합니다.
  • 양자 저항 암호화는 모든 이메일 통신에 대한 장기적인 보안을 보장합니다.
  • 이 솔루션은 Canonical의 성장하는 기여자 기반을 지원하기 위해 비용 효율적으로 확장됩니다.

왜 이메일을 전달해야 하나요?

프라이버시와 보안에 중점을 둔 유일한 100% 오픈소스 이메일 서비스 제공업체인 Forward Email은 Canonical의 엔터프라이즈 이메일 전달 요구 사항에 자연스럽게 적합했습니다. 당사의 가치는 오픈소스 소프트웨어와 프라이버시에 대한 Canonical의 헌신과 완벽하게 일치했습니다.

Forward Email을 이상적인 선택으로 만든 주요 요소는 다음과 같습니다.

  1. 완전한 오픈소스 코드베이스: 전체 플랫폼은 오픈 소스이며 다음에서 사용할 수 있습니다. 깃허브투명성과 커뮤니티 기여를 허용합니다. 백엔드를 폐쇄한 채 프런트엔드만 오픈 소스로 공개하는 많은 "개인 정보 보호 중심" 이메일 제공업체와 달리, 우리는 프런트엔드와 백엔드 모두의 전체 코드베이스를 누구나 검토할 수 있도록 공개했습니다. 깃허브.

  2. 개인정보 보호 중심 접근 방식: 다른 공급업체와 달리, 우리는 공유 데이터베이스에 이메일을 저장하지 않으며, TLS를 사용한 강력한 암호화를 사용합니다. 우리의 기본적인 개인정보 보호 철학은 간단합니다. 당신의 이메일은 당신만의 것입니다. 이 원칙은 이메일 전달을 처리하는 방법부터 암호화를 구현하는 방법까지 우리가 내리는 모든 기술적 결정을 안내합니다.

  3. 제3자에 대한 의존성 없음: Amazon SES나 기타 타사 서비스를 사용하지 않으므로 이메일 인프라에 대한 완벽한 제어권을 확보하고 타사 서비스를 통한 잠재적인 개인 정보 유출 위험을 없앨 수 있습니다.

  4. 비용 효율적인 확장: Canonical의 가격 책정 모델은 조직이 사용자당 비용을 지불하지 않고도 확장할 수 있게 해주므로 기여자 기반이 큰 회사에 이상적입니다.

  5. 양자 저항 암호화: 개별적으로 암호화된 SQLite 사서함을 사용합니다. 차차20-폴리1305 암호로서 양자 안전 암호화각 사서함은 별도의 암호화된 파일이므로 한 사용자의 데이터에 액세스한다고 해서 다른 사용자에게 액세스 권한이 부여되는 것은 아닙니다.

구현: 원활한 SSO 통합

구현의 가장 중요한 측면 중 하나는 Canonical의 기존 Ubuntu One SSO 시스템과 통합하는 것이었습니다. 이 통합을 통해 핵심 기여자는 기존 Ubuntu One 자격 증명을 사용하여 @ubuntu.com 이메일 주소를 관리할 수 있습니다.

인증 흐름 시각화

다음 다이어그램은 전체 인증 및 이메일 프로비저닝 흐름을 보여줍니다.

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 SSO 서비스로 리디렉션됩니다.
  3. Ubuntu One 자격 증명으로 인증한 후 인증된 프로필을 사용하여 Forward Email로 다시 리디렉션됩니다.
  4. 전달 이메일은 기여자 상태를 확인하고 이에 따라 이메일 주소를 제공하거나 관리합니다.

기술적 구현은 다음을 활용했습니다. passport-ubuntu 패키지는 다음과 같습니다. 여권 Ubuntu를 사용하여 인증하기 위한 전략 오픈아이디. 구성에는 다음이 포함되었습니다.

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 통합 및 검증

우리 구현의 중요한 구성 요소는 통합입니다. 런치패드's API를 사용하여 Ubuntu 사용자와 팀 멤버십을 검증합니다. 이 통합을 효율적이고 안정적으로 처리하기 위해 재사용 가능한 도우미 함수를 만들었습니다.

그만큼 sync-ubuntu-user.js 헬퍼 기능은 Launchpad API를 통해 사용자를 검증하고 이메일 주소를 관리하는 역할을 합니다. 작동 방식을 간략하게 설명하면 다음과 같습니다.

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은 검증을 위한 간단한 DNS TXT 레코드를 추가했습니다.

❯ dig ubuntu.com txt
ubuntu.com.             600     IN      TXT     "forward-email-site-verification=6IsURgl2t7"

이 검증 기록은 도메인 소유권을 확인하고 당사 시스템이 이러한 도메인의 이메일을 안전하게 관리할 수 있도록 합니다. 정식 경로는 안정적이고 안전한 이메일 전달 인프라를 제공하는 Postfix를 통해 당사 서비스를 통해 메일을 보냅니다.

결과: 간소화된 이메일 관리 및 향상된 보안

Forward Email의 엔터프라이즈 솔루션 구현은 Canonical의 모든 도메인에 걸친 이메일 관리에 상당한 이점을 제공했습니다.

운영 효율성

  • 중앙 관리: 모든 Ubuntu 관련 도메인은 이제 단일 인터페이스를 통해 관리됩니다.
  • 관리 비용 절감: 기여자를 위한 자동화된 프로비저닝 및 셀프 서비스 관리
  • 간소화된 온보딩: 새로운 기여자는 공식 이메일 주소를 빠르게 얻을 수 있습니다.

강화된 보안 및 개인 정보 보호

  • 종단간 암호화: 모든 이메일은 고급 표준을 사용하여 암호화됩니다.
  • 공유 데이터베이스 없음: 각 사용자의 이메일은 개별 암호화된 SQLite 데이터베이스에 저장되어 기존의 공유 관계형 데이터베이스보다 근본적으로 더 안전한 샌드박스 암호화 방식을 제공합니다.
  • 오픈소스 보안: 투명한 코드베이스를 통해 커뮤니티 보안 검토가 가능합니다.
  • 메모리 내 처리: 전달된 이메일을 디스크에 저장하지 않아 개인 정보 보호가 강화됩니다.
  • 메타데이터 저장 없음: 우리는 많은 이메일 제공자와 달리 누가 누구에게 이메일을 보냈는지에 대한 기록을 보관하지 않습니다.

비용 절감

  • 확장 가능한 가격 모델: 사용자당 요금 없음으로 인해 Canonical은 비용을 증가시키지 않고도 기여자를 추가할 수 있습니다.
  • 감소된 인프라 요구 사항: 다른 도메인에 대해 별도의 이메일 서버를 유지할 필요가 없습니다.
  • 낮은 지원 요구 사항: 셀프 서비스 관리로 IT 지원 티켓 감소

개선된 기여자 경험

  • 원활한 인증: 기존 Ubuntu One 자격 증명을 사용한 단일 로그인
  • 일관된 브랜딩: 모든 Ubuntu 관련 서비스에 걸친 통합된 경험
  • 안정적인 이메일 전달: 고품질 IP 평판은 이메일이 목적지에 도달하도록 보장합니다.

Forward Email과의 통합으로 Canonical의 이메일 관리 프로세스가 상당히 간소화되었습니다. 기여자는 이제 @ubuntu.com 이메일 주소를 원활하게 관리할 수 있으며, 관리 오버헤드가 감소하고 보안이 강화되었습니다.

기대: 지속적인 협력

Canonical과 Forward Email 간의 파트너십은 계속해서 진화하고 있습니다. 우리는 여러 이니셔티브에 협력하고 있습니다.

  • 추가 Ubuntu 관련 도메인으로 이메일 서비스 확장
  • 기여자 피드백을 기반으로 사용자 인터페이스 개선
  • 추가 보안 기능 구현
  • 오픈 소스 협업을 활용하는 새로운 방법 탐색

결론: 완벽한 오픈소스 파트너십

Canonical과 Forward Email의 협업은 공유된 가치에 기반한 파트너십의 힘을 보여줍니다. Canonical은 Forward Email을 이메일 서비스 공급자로 선택함으로써 기술적 요구 사항을 충족할 뿐만 아니라 오픈 소스 소프트웨어, 개인 정보 보호 및 보안에 대한 약속과 완벽하게 일치하는 솔루션을 찾았습니다.

여러 도메인을 관리하고 기존 시스템과 원활한 인증을 요구하는 조직의 경우 Forward Email은 유연하고 안전하며 개인 정보 보호에 중점을 둔 솔루션을 제공합니다. 오픈소스 접근 방식 투명성을 보장하고 지역 사회 기여를 허용하므로 이러한 원칙을 중시하는 조직에 이상적인 선택입니다.

Canonical과 Forward Email은 각자의 분야에서 혁신을 계속하고 있으며, 이러한 파트너십은 효과적인 솔루션을 창출하는 데 있어 오픈 소스 협업과 공유 가치의 힘을 입증합니다.

당신은 우리의 확인할 수 있습니다 실시간 서비스 상태 당사의 현재 이메일 전달 성과를 확인해 보세요. 당사는 고품질 IP 평판과 이메일 전달성을 보장하기 위해 지속적으로 모니터링하고 있습니다.

기업 고객 지원

이 사례 연구는 Canonical과의 파트너십에 초점을 맞추고 있지만, Forward Email은 개인정보 보호, 보안 및 오픈 소스 원칙에 대한 당사의 노력을 중시하는 다양한 산업 분야의 수많은 기업 고객을 자랑스럽게 지원합니다.

당사의 기업 솔루션은 모든 규모의 조직의 특정 요구 사항을 충족하도록 맞춤화되어 있으며 다음을 제공합니다.

  • 사용자 정의 도메인 이메일 관리 여러 도메인에 걸쳐
  • 기존 인증 시스템과의 원활한 통합
  • 전담 Matrix 채팅 지원 채널
  • 향상된 보안 기능 포함 양자 저항 암호화
  • 완전한 데이터 이동성 및 소유권
  • 투명성과 신뢰를 위한 100% 오픈소스 인프라

연락하기

귀하의 조직에 엔터프라이즈 이메일 요구 사항이 있거나 Forward Email이 개인정보 보호 및 보안을 강화하는 동시에 이메일 관리를 간소화하는 데 어떻게 도움이 될 수 있는지 자세히 알아보고 싶으시다면, 저희에게 연락해 주시기 바랍니다.

  • 이메일로 직접 문의해주세요 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 깃허브, 그리고 우리는 사용자의 프라이버시와 보안을 존중하는 이메일 서비스를 제공하기 위해 최선을 다하고 있습니다. 자세히 알아보기 오픈소스 이메일이 미래인 이유, 이메일 전달이 어떻게 작동하는지, 그리고 이메일 개인정보 보호에 대한 당사의 접근 방식.