ใน postfix วิธีการบังคับใช้ tls + auth มากกว่า 587 ในขณะที่ปล่อยให้ tls เป็นทางเลือกสำหรับ 25


9

ฉันต้องการโฮสต์บริการอีเมลสำหรับบางโดเมน ฉันได้ติดตั้ง postfix เรียบร้อยแล้วเพื่อดู sql สำหรับโดเมนเสมือนเหล่านั้น สิ่งที่ฉันต้องการจะทำคือ:

  • สำหรับการเชื่อมต่อในวันที่ 25:

    1. ปฏิเสธการถ่ายทอด (ส่งไปยังผู้รับในโดเมนเสมือนของฉันเท่านั้น)
    2. ปล่อยให้ tls เป็นทางเลือก แต่ให้ตรวจสอบความถูกต้องก็ต่อเมื่อไคลเอ็นต์ทำ tls
    3. ยอมรับเฉพาะลูกค้าที่ไม่ขึ้นบัญชีดำ (เช่น จำกัด XBL + SBL + PBL จาก spamhaus) หรือลูกค้าที่ทำ tls และรับรองความถูกต้อง ("เซิร์ฟเวอร์อีเมลเพื่อน" ที่ตั้งค่าให้รับรองความถูกต้องกับฉันด้วย auth และ tls)
  • สำหรับการเชื่อมต่อบน 587:

    1. บังคับใช้ tls และรับรองความถูกต้อง
    2. อนุญาตให้ถ่ายทอด
    3. ยอมรับเฉพาะลูกค้าที่ไม่ขึ้นบัญชีดำ (บัญชีดำเหมือนด้านบน แต่ออกจากการตรวจสอบ PBL)

คำถามของฉัน:

  • A. ฉันรู้ถึงตัวเลือก postfix สำหรับข้างต้น แต่ฉันไม่สามารถหาวิธีแยกความแตกต่างของพวกเขาตามพอร์ตการฟัง

  • B. ฉันจะพบปัญหาที่ทราบกันอย่างกว้างขวางกับลูกค้าที่ชอบด้วยกฎหมายตามนโยบายข้างต้นหรือไม่

ฉันยังใหม่ต่อการตั้งค่าเซิร์ฟเวอร์อีเมลขออภัยสำหรับคำถาม / การอัปเดตคำถามที่ไม่มีความหมาย (โปรดระบุ) ขอบคุณ

คำตอบ:


15

ง่ายมาก

  1. ใน/etc/postfix/main.cfคุณจะเพิ่ม / เปลี่ยน

    smtpd_tls_security_level=may
    

    ดังนั้นโดยค่าเริ่มต้น TLS จะพร้อมใช้งาน (แต่ไม่บังคับ)

  2. จากนั้นในของ/etc/postfix/master.cfคุณคุณจะแทนที่มันสำหรับพอร์ต 587 ( submissionพอร์ต) โดยการแทนที่พารามิเตอร์:

    submission inet n       -       n       -       -       smtpd
      -o smtpd_tls_security_level=encrypt
    

    สิ่งนี้ต้องการ TLS สำหรับการเชื่อมต่อทั้งหมด (พอร์ต 587)

สำหรับการปฏิเสธการถ่ายทอดนี่เป็นค่าเริ่มต้น ถ่ายทอดได้รับอนุญาตเท่านั้นสำหรับผู้ใช้รับรองความถูกต้องและที่อยู่ IP mynetworksคุณระบุใน

ในที่สุดคุณสามารถเพิ่มบัญชีดำในmain.cfโดยต่อท้ายไปที่smtpd_recipient_restrictions:

    reject_rbl_client zen.spamhaus.org,

หรือบัญชีดำอะไรก็ได้ที่คุณต้องการ permitเหล่านี้ควรจะปรากฏขึ้นใกล้ถึงจุดสิ้นสุดของรายการก่อนที่สุดท้าย


สิ่งสุดท้าย. สำหรับแนวคิดเพิ่มเติมเกี่ยวกับวิธีป้องกันสแปมโปรดดูการต่อสู้กับสแปม - ฉันจะทำอะไรได้บ้างในฐานะผู้ดูแลระบบอีเมลเจ้าของโดเมนหรือผู้ใช้


ขอบคุณจุดที่พร่ามัวเพียงจุดเดียว: ที่พอร์ต 25 ฉันต้องการปฏิเสธการส่งต่อโดยไม่มีเงื่อนไขไม่ว่าลูกค้าจะรับรองความถูกต้องหรือไม่ก็ตาม
Paralife

การรับรองความถูกต้องบนพอร์ต 25 ถูกปิดใช้งานโดยค่าเริ่มต้น แต่เพื่อตรวจสอบให้แน่ใจว่าไม่ได้smtpd_sasl_auth_enableอยู่ในของคุณmain.cfและมันไม่ได้อยู่ในsmtpส่วนของคุณmaster.cf(แต่ควรตั้งไว้yesในsubmissionส่วน) master.cfควรมองมากเช่นนี้
Michael Hampton

ถูกต้อง แต่ฉันต้องการเปิดใช้งานตัวเลือก auth + tls เมื่อวันที่ 25 ฉันแค่ไม่ต้องการที่จะถ่ายทอด 25 โดยพื้นฐานแล้วฉันต้องการที่จะเป็นอิสระเกี่ยวกับวิธีการที่คนเชื่อมต่อ แต่เข้มงวดมากในการถ่ายทอด (ปฏิเสธการถ่ายทอดทั้งหมด) ไม่ควรอนุญาตให้ใช้การส่งผ่านเว้นแต่ว่าจะมีใน 587 และลูกค้าจะถูกตรวจสอบผ่านทาง tls ชุดค่าผสมอื่น ๆ ควรปฏิเสธการถ่ายทอด ฉันอาจจะเพิ่งลบ allow_sasl_authenticated จาก smtpd_relay_restrictions และวางเฉพาะแทนที่ใน 587 ใน master.cf ขอบคุณ
Paralife

ผู้คนไม่ควรที่จะพยายามรับรองความถูกต้องในวันที่ 25 คุณสามารถเปิดใช้งานได้หากคุณต้องการ แต่คุณไม่ควรทำ
Michael Hampton

3

ฉันไม่ทราบคำตอบสำหรับคำถาม B แต่สำหรับ A:

ใน postfix คุณมักจะมีที่คุณกำหนดทุกกระบวนการทำงานคนเดียวมักจะอยู่ในmaster.cf /etc/postfixในแฟ้มที่คุณมีหนึ่งรายการต่อเรียกใช้บริการ postfix จึงมีสองคนที่แตกต่างกันสำหรับพอร์ตและพอร์ต25 587สำหรับแต่ละพารามิเตอร์คุณสามารถส่งพารามิเตอร์ไปที่smtpdเพื่อให้มีการตั้งค่าที่แตกต่างกัน

นั่นเป็นตัวอย่างจากเมลเซิร์ฟเวอร์ของฉัน:

4.3.2.1:25      inet  n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
4.3.2.1:10027   inet  n       -       -       -       -       smtpd
  -o mynetworks=91.190.245.4/32 127.0.0.0/8
  -o smtpd_client_restrictions=permit_mynetworks,reject
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.