Postfix: ปิดใช้งานการพิสูจน์ตัวตนผ่านพอร์ต 25


12

เมื่อใช้PostfixและIMAPบนเซิร์ฟเวอร์จดหมายมักจะเปิดอย่างน้อย 3 พอร์ต

25 smtp   : incoming emails from anybody (whole internet)
465 smtps : outgoing emails from authorized users (to the whole intenet)
993 imap  : imap for authorized users

ฉันต้องการกำหนดค่า postfix เพื่อให้ผู้ใช้ที่ได้รับอนุญาตสามารถส่งอีเมลผ่าน 465 เท่านั้นโดยค่าเริ่มต้นจะไม่เป็นเช่นนั้น ผู้ใช้ยังสามารถใช้ STARTTLS ผ่านพอร์ต 25 ได้ฉันต้องการปิดการใช้งาน

แผนของฉันคือการใช้พอร์ต 25 สำหรับบุคคลทั่วไปที่ส่งอีเมลถึงฉัน

ใช้พอร์ต 465 สำหรับผู้ใช้ของฉัน (ฉันสามารถใช้ไฟร์วอลล์เพื่ออนุญาตช่วง IP เฉพาะหรือใช้พอร์ตแบบกำหนดเอง)

สิ่งนี้จะป้องกันพอร์ต 25 ที่ถูกเอารัดเอาเปรียบจากการโจมตีด้วยกำลังดุร้ายซึ่งแฮกเกอร์พยายามคาดเดาผู้ใช้ / รหัสผ่าน พอร์ต 25 จะไม่ยอมรับผู้ใช้ / รหัสผ่านแม้ว่าจะถูกต้องก็ตาม และเนื่องจากพอร์ต 465 ถูก จำกัด โดยไฟร์วอลล์แฮกเกอร์จึงไม่สามารถใช้ประโยชน์จาก 465 ได้เช่นกัน

เป็นไปได้ใน Postfix หรือไม่

ฉันใช้ Postfix 2.9.6-2 กับ Debian Wheezy


1
ฉันรู้ว่านี้เป็นรุ่นเก่า แต่คุณควรเสมอช่วยให้พอร์ต 587 (ส่ง) เช่นนี้เป็นพอร์ตที่เหมาะสม
lbutlr

คำตอบ:


14

คำเตือน:
คำขอไม่เป็นไปตามแนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุดเนื่องจากคุณปิดใช้งาน TLS (การเข้ารหัส) บนพอร์ตรีเลย์เมลหลักของคุณเปิดเผยข้อมูลที่ส่งผ่านพอร์ตนั้นไปยังผู้ฟังบุคคลที่สามและ / หรือการปรับเปลี่ยนในเที่ยวบิน คำตอบด้านล่างเป็นไปตามคำขอ แต่แนวปฏิบัติที่ดีที่สุดนั้นต้องใช้ STARTTLS สำหรับการเชื่อมต่อพอร์ต 25 เช่นกัน

master.cfไฟล์ (ปกติ/etc/postfix/master.cf) ควบคุมการเริ่มต้นและการกำหนดค่าของบริการ Postfix ที่เฉพาะเจาะจง การกำหนดค่าเช่นนี้ในไฟล์นั้นตามเอกสารประกอบจะทำสิ่งที่คุณต้องการ:

smtp  inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=none
  -o smtpd_sasl_auth_enable=no

smtps inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

การกำหนดค่านี้จะปิดการตรวจสอบความถูกต้องและตัวเลือก STARTTLS ที่พอร์ต 25 ซึ่งจะเปิดตัวเลือก STARTTLS ที่พอร์ต 465 ซึ่งต้องใช้การใช้งาน STARTTLS เปิดใช้งานการตรวจสอบความถูกต้องและอนุญาตให้ลูกค้าเชื่อมต่อหากผ่านการตรวจสอบสิทธิ์

คุณอาจดูsmtpd_tls_wrappermodeตัวเลือกเพื่อบังคับใช้การเชื่อมต่อ TLS จริง (และไม่ใช่การเชื่อมต่อ STARTTLS)

โปรดทราบว่าการกำหนดค่าประเภทนี้สามารถทำให้การกำหนดค่า Postfix ค่อนข้างยากที่จะติดตาม (อาจมีการตั้งค่าตัวเลือกmain.cfแล้วแทนที่ด้วยmaster.cf) ตัวเลือกอื่นคือเรียกใช้หลายอินสแตนซ์ของ Postfix แต่ละmain.cfไฟล์มีไฟล์กำหนดค่าของตนเองที่ระบุตัวเลือกเหล่านี้


1
หากมีการตั้งค่าตัวเลือกที่ขัดแย้งกันตัวเลือกmain.cfใดที่จะถูกใจ จากสิ่งที่คุณพูดมันก็ดูเหมือนว่าแทนที่master.cf main.cfถูกต้องหรือไม่
Martin Vegter

1
-oตัวเลือกแทนที่ผู้ที่อยู่ในแฟ้มการกำหนดค่า master.cfไฟล์พิกัดเริ่มต้นของกระบวนการและถ้าคุณกำลังจะเริ่มต้นกระบวนการด้วยมือที่มี-oตัวเลือกที่พวกเขาจะแทนที่สิ่งที่แฟ้มการกำหนดค่าที่ระบุไว้
hrunting

จะไม่-o smtpd_tls_security_level=noneฆ่า TLS / ทำข้อความล้วนทุกอย่างในกรณีที่เซิร์ฟเวอร์บางตัวพยายามส่งต่ออีเมลหรือการเชื่อมต่อ SMTP เซิร์ฟเวอร์ระหว่างเซิร์ฟเวอร์อื่น ๆ ไปยังพอร์ต 25 หรือไม่
TCB13

-o smtpd_tls_security_level=noneแน่นอนจะป้องกันไม่ให้ STARTTLS จากการทำงานในพอร์ต 25 และทำให้การสื่อสารทั้งหมดในข้อความธรรมดา นั่นคือคำถามที่ขอ
วิ่งเหยาะ

ฉันยังคง downvoting นี้ด้วยเหตุผลข้างต้น การปฏิบัติตามคำขอของ OP นั้นใช้ได้ แต่คุณควรเพิ่มคำเตือนตัวอักษรที่เป็นความคิดที่แย่มาก (โปรดให้ฉันลงคะแนนให้คุณแทนโดยเพิ่มนั่น ;-))
ntninja
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.