Office 365에 대한 Postfix 릴레이 - DNS 구성

Office 365에 대한 Postfix 릴레이 - DNS 구성

이메일이 SPAM으로 표시될 가능성을 줄이기 위해 이메일 서버에서 수행해야 할 몇 가지 작업은 다음과 같습니다.

  • 호스트 이름은 유효한 IP로 확인됩니다. 예:mail.example.com에게1.1.1.1
  • 역방향 DNS가 존재합니다. 예:1.1.1.1포인트들mail.example.com
  • 메일 서버는 "HELO" 명령을 다음과 같이 발행합니다.mail.example.com
  • 메일 서버에는 다음을 가리키는 MX 레코드가 있습니다.mail.example.com
  • 포함할 SPF 레코드1.1.1.1승인된 전송 서버로
  • DMARC 및 DKIM이 검증됩니다. 메일서버에서 암호화된 DKIM 서명과 공개키를 이용하여 복호화가 가능합니다.

Postfix 서버가 Office 365로 릴레이할 때 DNS를 어떻게 구성하시겠습니까?

SMTP 릴레이는 옵션 3으로 구성되었습니다. 이 내용을 참고하세요.기사). 아래 나열된 내용은 SMTP 인증이 아닌 SMTP 릴레이를 설정할 때만 적용된다고 생각합니다. HELO 교환은 ​​SMTP 인증을 사용할 때 Office 365와 수신자 서버 간에 수행되므로 이것이 적용되지 않는 이유입니다.

  • Postfix 서버는 유효한 IP로 확인되어야 합니다. 예:mail.example.com에게1.1.1.1
  • 역방향 DNS가 존재합니다. 예:1.1.1.1포인트들mail.example.com.
    • 동일한 IP에서 여러 도메인과 서버가 전송되면 어떻게 되나요? 서버가 해당 도메인을 호스트 이름으로 사용하는 경우 이것이 문제가 되지 않습니까? 예:mail.abc-domain.com그리고mail.example.com동일한 공용 IP 주소를 사용하는 두 개의 별도 서버입니다.
    • 서버가 릴레이하는 도메인에 관계없이 모든 서버에서 HELO 교환에 동일한 호스트 이름을 사용하는 솔루션이 있습니까? 또는 대신 각 도메인에 대해 두 개의 공용 IP를 가질 수 있습니다.
  • Postfix 서버는 다음과 같이 "HELO" 명령을 실행해야 합니다.mail.example.com.
  • MX가 다음으로 설정됨example.mail.protection.outlook.com~을 위한example.com메일이 Office 365로 배달되는 동안 Postfix 서버는 이 시나리오에서 릴레이 서버로만 사용됩니다.
  • SPF 레코드에는 두 가지가 모두 포함되어야 합니다.1.1.1.1그리고spf.protection.outlook.com.
    • Office 365에 대한 SMTP 릴레이에는 HELO 교환에 Postfix 서버의 호스트 이름과 IP가 포함되어 있는 것 같습니다. 즉, SPF 레코드에 Postfix의 공용 IP를 포함하는 것이 중요하다는 의미입니다.
    • Office 365는 다음을 대신하여 이메일을 보냅니다.example.com인증된 사용자(예: Outlook 사용자)에 대한 이유는 다음과 같습니다.spf.protection.outlook.comSPF 레코드에도 필요합니다.
    • 2.2.2.2의 웹 서버에 있는 example.com에 대한 PTR 레코드가 이미 존재합니다. 웹 서버는 자신을 가리키는 PTR 레코드가 필요하지 않으므로 PTR을 Postfix 서버로 변경하는 것이 안전하다고 생각합니다.PTR 레코드에는 어떤 다른 사용 사례가 있나요?
  • DMARC 및 DKIM이 검증됩니다.
    • Postfix 서버와 일반 사용자(Outlook 사용자) 모두 Office 365에 이메일을 제출하므로 DKIM 서명은 Office 365에서 암호화되어야 한다고 생각합니다.이 올바른지?

앞서 언급했듯이 Postfix는 아래와 같이 이메일 헤더에 호스트 이름과 IP를 포함하고 있는 것을 볼 수 있습니다.

Hop Delay   From    By  With    Time (UTC)  Blacklist
1   *   userid  mail.example.com        9/8/2023 6:38:37 AM 
2   1 Second    mail.example.com 59.154.1.42    SY4AUS01FT019.mail.protection.outlook.com 10.114.156.121    Microsoft SMTP Server   9/8/2023 6:38:38 AM Not blacklisted
3   1 Second    SY4AUS01FT019.eop-AUS01.prod.protection.outlook.com 2603:10c6:10:1f4:cafe::15   SY5PR01CA0071.outlook.office365.com 2603:10c6:10:1f4::9 Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384)    9/8/2023 6:38:39 AM Not blacklisted
4   0 seconds   SY5PR01CA0071.ausprd01.prod.outlook.com 2603:10c6:10:1f4::9 ME3PR01MB7048.ausprd01.prod.outlook.com 2603:10c6:220:16d::8    Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384)    9/8/2023 6:38:39 AM

수신된 이메일 헤더에서 이메일을 Office 365로 릴레이할 때 HELO 명령이 Postfix 서버에서 시작된다는 것을 이메일 헤더에 표시하는 것을 볼 수 있습니다.

Received-SPF: Pass (protection.outlook.com: domain of example.com designates
 1.1.1.1 as permitted sender) receiver=protection.outlook.com;
 client-ip=1.1.1.1; helo=mail.example.com; pr=C
Received: from mail.example.com (1.1.1.1) by
 SY4AUS01FT019.mail.protection.outlook.com (10.114.156.121) with Microsoft
 SMTP Server id 15.20.6768.30 via Frontend Transport; Fri, 8 Sep 2023 06:38:38
 +0000

반대로 Outlook을 통해 Office 365를 통해 보내는 경우 HELO는 Office 365에서 시작됩니다.

Received-SPF: Pass (protection.outlook.com: domain of example.com
 designates 40.107.108.68 as permitted sender)
 receiver=protection.outlook.com; client-ip=40.107.108.68;
 helo=AUS01-ME3-obe.outbound.protection.outlook.com; pr=C
Received: from AUS01-ME3-obe.outbound.protection.outlook.com (40.107.108.68)
 by ME3AUS01FT015.mail.protection.outlook.com (10.114.155.141) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6792.19 via Frontend Transport; Wed, 13 Sep 2023 04:01:55 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;

답변1

Postfix 서버의 호스트 이름이 'mail.example.com'에서 '1.1.1.1'과 같은 유효한 IP 주소로 올바르게 확인되는지 확인하는 것부터 시작하세요. 또한 '1.1.1.1'을 다시 'mail.example.com'에 연결하는 역방향 DNS 레코드가 있는지 확인하세요. 이러한 기본 DNS 설정은 스팸으로 표시되지 않고 신뢰를 구축하고 이메일을 전달하는 데 중요한 역할을 합니다.

여러 도메인이 공통 공용 IP를 사용하여 단일 서버를 공유하는 시나리오에서는 HELO 교환을 위해 'mail.example.com'과 같은 일관된 호스트 이름을 채택하는 것이 좋습니다. 이를 통해 구성 및 관리가 단순화되고 SPF 레코드가 하나만 필요합니다. 그러나 도메인 중 하나가 블랙리스트에 추가되면 모든 도메인의 이메일 전달 가능성에 영향을 미칠 수 있으므로 주의하세요. 또는 각 도메인에 별도의 공용 IP를 할당하도록 선택할 수 있습니다. 이는 향상된 격리 및 복원력을 제공하지만 구성 및 관리가 더 복잡한 설정입니다.

SPF DNS 레코드에 Postfix 서버('1.1.1.1')의 공용 IP와 Office 365의 SPF 레코드('spf.protection.outlook.com')를 모두 포함하는 것이 중요합니다. Office 365는 특히 Outlook 사용자와 같은 인증된 사용자에 대해 도메인을 대신하여 전자 메일을 보낼 수 있으므로 이 단계는 매우 중요합니다. SPF 레코드의 예는 'v=spf1 a:1.1.1.1 include:spf.protection.outlook.com ~all'과 같습니다.

웹 서버의 IP('2.2.2.2')를 가리키는 'example.com'에 대한 PTR 레코드가 존재하는 경우 Postfix 서버를 가리키도록 변경하면 웹 서버에 부정적인 영향을 미치지 않습니다. PTR 레코드는 서버 신뢰성을 검증하는 데 중요한 역할을 하며 서버 기능을 정확하게 반영해야 합니다. 이러한 맥락에서 'mail.example.com'을 가리키도록 '1.1.1.1'에 대한 PTR 레코드를 업데이트하는 것은 이메일 서버로서의 역할과 일치합니다.

DKIM 서명이 Office 365에서 올바르게 암호화되었는지 확인하세요. Postfix 서버와 Outlook 사용자 모두 Office 365에 이메일을 제출하고 이메일 인증과 신뢰성을 위해서는 적절한 DKIM 암호화가 필수적이기 때문에 이는 매우 중요합니다. Office 365는 DKIM을 사용하여 보내는 모든 이메일에 자동으로 서명하므로 추가 구성이 필요하지 않습니다.

이러한 DNS 및 이메일 구성 모범 사례를 따르면 Office 365를 통한 이메일 릴레이의 안정성을 높일 수 있습니다. 결과적으로 이메일 전달 가능성이 향상되고 이메일이 스팸으로 표시될 가능성이 줄어듭니다. Postfix 서버와 Office 365 간의 이메일 연결을 암호화하여 보안과 개인정보 보호를 강화하세요. 보안 이메일 릴레이를 위해 SMTP AUTH를 사용하여 Office 365에 인증하도록 Postfix를 설정합니다.

이메일 헤더를 정기적으로 검사하여 HELO 명령이 서버의 호스트 이름과 일치하는지 확인하고 이메일이 성공적으로 전달되도록 하세요.

답변2

릴레이는 이메일을 보내는 것과 매우 다릅니다. 설명하신 조치는 이메일 전송과 관련이 있습니다. 그들~해야 한다모두 이메일 전달과 관련이 없습니다.

Postfix 서버와 일반 사용자(Outlook 사용자) 모두 Office 365에 이메일을 제출하므로 DKIM 서명이 Office 365에서 암호화되어야 한다고 생각합니다. 이것이 맞나요?

아니요. 말도 안 돼요. 디킴표지판이메일. 수신자는 서명을 확인합니다. 서명을 읽을 수 없으면 그렇게 할 수 없습니다.

관련 정보