เพื่อจำกัดระบบที่สามารถส่งอีเมลขาออกที่ไม่ได้รับการตรวจสอบสิทธิ์ผ่าน Zimbra MTA ให้ตั้งzimbraMtaMyNetworksค่าแอตทริบิวต์ของเซิร์ฟเวอร์นั้นเป็นรายการที่อนุญาตสั้นๆ ของที่อยู่ IP หรือเครือข่าย CIDR ที่เชื่อถือได้ คง loopback ไว้ในรายการ รักษาโฮสต์ที่เชื่อถือได้ที่มีอยู่ซึ่งยังคงต้องการการส่งต่อ และลบช่วงกว้างๆ ที่คุณไม่ต้องการเชื่อถืออีกต่อไป จากนั้นโหลด Postfix ใหม่และทดสอบทั้งแหล่งที่มาที่ได้รับอนุมัติและแหล่งที่มาที่ไม่ได้รับอนุมัติ
การตั้งค่านี้ควบคุมไคลเอ็นต์ SMTP ที่เชื่อถือได้ซึ่งสามารถส่งต่ออีเมลได้โดยไม่ต้องมีการตรวจสอบสิทธิ์ SMTP การตั้งค่านี้ไม่ได้บล็อกข้อความขาออกทั้งหมดจากผู้ใช้ Zimbra ที่ได้รับการตรวจสอบสิทธิ์ และไม่ได้ตั้งค่าเซิร์ฟเวอร์อีเมลปลายทาง หากเป้าหมายของคุณคือการกำหนดให้มีการตรวจสอบสิทธิ์สำหรับไคลเอ็นต์อีเมลที่ใช้งานนอกเครือข่าย หรือเพื่อจำกัดบัญชีผู้ใช้บางบัญชี ให้ใช้การควบคุมการตรวจสอบสิทธิ์หรือนโยบายอีเมลที่เหมาะสมแทน
รายการอนุญาต IP ควบคุมอะไรบ้าง?
MTA ของ Zimbra ใช้ Postfix ใน Postfix ไคลเอ็นต์ที่มีที่อยู่ต้นทางตรงกันmynetworksจะถือว่าเชื่อถือได้สำหรับการส่งต่อ Zimbra เปิดเผยรายการนี้ผ่านทางzimbraMtaMyNetworks<relayhost> โฮสต์ที่อยู่ในรายการสามารถส่งอีเมลไปยังปลายทางภายนอกได้โดยไม่ต้องยืนยันตัวตน ดังนั้นแต่ละรายการจึงเป็นการตัดสินใจเรื่องความน่าเชื่อถือที่มีความหมาย
อย่าสับสนระหว่าง allowlist กับ relay zimbraMtaRelayHosthost allowlist จะกำหนดว่าไคลเอ็นต์ SMTP ใดบ้างที่สามารถส่งต่อข้อความผ่าน MTA นี้ได้ relay host คือเซิร์ฟเวอร์ต้นทางที่ MTA ส่งต่อข้อความที่ไม่ใช่ข้อความในพื้นที่ไปให้ เช่น เมื่อผู้ให้บริการเครือข่ายต้องการ smarthost การเปลี่ยนแปลงอย่างใดอย่างหนึ่งไม่ได้ทำให้การทำงานของอีกอย่างหนึ่งเปลี่ยนไป
หน้าเว็บ Tech Center ของ Zimbra อธิบายถึงคุณลักษณะนี้และคำสั่งที่เกี่ยวข้อง แต่เนื้อหาบางส่วนถูกทำเครื่องหมายว่าอยู่ในระหว่างการพัฒนาหรือเป็นเอกสารเก็บถาวร โปรดตรวจสอบพฤติกรรมกับเวอร์ชัน Zimbra ที่ติดตั้งและรูปแบบการใช้งานก่อนที่จะทำการเปลี่ยนแปลง ตัวอย่างด้านล่างใช้เครื่องมือบรรทัดคำสั่งของ Zimbra เป็นzimbraบัญชีบริการ ซึ่งสอดคล้องกับคำแนะนำ MTA ของ Zimbra
ก่อนเปลี่ยนการตั้งค่า
- ระบุโฮสต์ MTA ที่รับการส่งข้อมูล SMTP จากระบบที่คุณต้องการอนุญาต ในสภาพแวดล้อมที่มี MTA หลายตัว ให้พิจารณาว่า MTA ใดจัดการการเชื่อมต่อเหล่านั้น และวางแผนการเปลี่ยนแปลงบนเซิร์ฟเวอร์ที่เกี่ยวข้องแต่ละเครื่อง
- ค้นหาที่อยู่ IP ต้นทางคงที่ที่ MTA มองเห็นจริง หากแอปพลิเคชันอยู่เบื้องหลัง NAT ให้ใช้ที่อยู่ขาออกสาธารณะ ไม่ใช่ที่อยู่ LAN ส่วนตัว หาก IP เปลี่ยนแปลงบ่อย จะต้องมีการบำรุงรักษาอย่างต่อเนื่องสำหรับรายการที่อนุญาตเฉพาะ IP เท่านั้น
- บันทึกค่าแอตทริบิวต์ Zimbra ปัจจุบันและค่า Postfix ที่มีผลบังคับใช้ อย่าแทนที่รายการที่มีอยู่ด้วยที่อยู่ใหม่เพียงอย่างเดียว จนกว่าคุณจะตรวจสอบแล้วว่าบริการใดบ้างที่ขึ้นอยู่กับรายการปัจจุบัน
- กำหนดช่วงเวลาสำหรับการบำรุงรักษาหรือการเปลี่ยนแปลงที่เหมาะสมสำหรับบริการอีเมลของคุณ และเก็บสำเนาสำรองของค่าเดิมที่ถูกต้องไว้
ใช้ CIDR สำหรับโฮสต์เดียว เช่น/32สำหรับที่อยู่ IPv4 ตัวอย่างเช่น198.51.100.25/32แทนโฮสต์ IPv4 หนึ่งตัว ที่อยู่ตัวอย่างนี้ใช้สำหรับเอกสารเท่านั้นและไม่ควรคัดลอกเป็นที่อยู่เซิร์ฟเวอร์จริง ช่วงที่กว้างกว่า เช่น/24จะเชื่อถือทุกที่อยู่ในซับเน็ตนั้น อย่าเพิ่มเครือข่ายสาธารณะหรือช่วงของผู้ให้บริการขนาดใหญ่เพียงเพื่อให้การทดสอบสำเร็จ
วิธีตั้งค่ารายการอนุญาตรีเลย์ของ Zimbra
1. ตรวจสอบค่าที่ตั้งค่าและค่าที่มีผลบังคับใช้
เข้าสู่ระบบโฮสต์ MTA และเปลี่ยนไปใช้บัญชีบริการ Zimbra แทนที่mta.example.comด้วยชื่อเซิร์ฟเวอร์ที่ถูกต้องซึ่งได้จากzmhostnameคำสั่ง การติดตั้งของคุณ
su - zimbra
zmhostname
zmprov gs mta.example.com zimbraMtaMyNetworks
postconf mynetworks
คำสั่งค้นหาแรกจะอ่านค่าที่จัดเก็บไว้สำหรับอ็อบเจ็กต์เซิร์ฟเวอร์ Zimbra และpostconfแสดงการตั้งค่า Postfix ที่มีผลใช้งาน บันทึกผลลัพธ์ทั้งสอง หากไม่ได้ตั้งค่าแอตทริบิวต์ LDAP ไว้ Postfix อาจใช้ค่าเริ่มต้น ดังนั้นอย่าคิดว่าคำสั่งค้นหาที่ว่างเปล่าหมายความว่าไม่มีเครือข่ายที่เชื่อถือได้ ตรวจสอบค่าที่มีผลใช้งานและพฤติกรรมการกำหนดค่าของเวอร์ชันของคุณก่อนดำเนินการต่อ
2. สร้างรายการที่สมบูรณ์ที่เล็กที่สุด
สร้างรายการที่ประกอบด้วยลูปแบ็ก (loopback) และแหล่งที่มาแต่ละแหล่งที่ต้องการการส่งต่อแบบไม่ต้องมีการตรวจสอบสิทธิ์อย่างแท้จริง สำหรับเซิร์ฟเวอร์ที่ควรยอมรับการส่งต่อเฉพาะจาก localhost และโฮสต์แอปพลิเคชันคงที่หนึ่งรายการ รูปแบบของรายการจะเป็นดังนี้:
127.0.0.0/8 198.51.100.25/32
แทนที่ตัวอย่างด้วยที่อยู่จริงที่ MTA สามารถมองเห็นได้ รวมเฉพาะอินเทอร์เฟซภายในเครื่องที่จำเป็นของเซิร์ฟเวอร์หรือบริการที่เชื่อถือได้เพิ่มเติมหลังจากยืนยันแล้วว่าจำเป็น หลีกเลี่ยงการปล่อยให้ซับเน็ตสำนักงานขนาดใหญ่คงอยู่หากต้องการเชื่อถือเซิร์ฟเวอร์เพียงเครื่องเดียว ลดขนาดให้เหลือเพียงรายการโฮสต์หากทำได้
3. ตั้งค่าใน MTA ที่ถูกต้อง
ใช้zmprov msเพื่อตั้งค่าแอตทริบิวต์ระดับเซิร์ฟเวอร์ คำสั่งนี้จะแทนที่ค่า ดังนั้นให้ระบุทุกรายการที่คุณต้องการเก็บไว้ รวมถึง loopback ด้วย:
zmprov ms mta.example.com zimbraMtaMyNetworks '127.0.0.0/8 198.51.100.25/32'
สำหรับ IP หลายรายการ ให้ใส่รายการที่ได้รับอนุมัติทั้งหมดไว้ในค่าที่อยู่ในเครื่องหมายคำพูด โดยคั่นด้วยช่องว่าง อย่าเรียกใช้คำสั่งตัวอย่างโดยไม่เปลี่ยนแปลง หากการตั้งค่าของคุณขึ้นอยู่กับค่าส่วนกลาง การแทนที่ระดับเซิร์ฟเวอร์ IPv6 MTA หลายตัว หรือพฤติกรรมเฉพาะเวอร์ชัน ให้ตรวจสอบว่าการสืบทอดและการกำหนดค่า Postfix ที่สร้างขึ้นทำงานอย่างไรในการใช้งานนั้นก่อนที่จะตั้งค่าแอตทริบิวต์
4. รีโหลด Postfix และตรวจสอบการตั้งค่าที่ใช้งานอยู่
หลังจากเปลี่ยนการตั้งค่า Zimbra แล้ว ให้รีโหลด Postfix โดยใช้บัญชีบริการ Zimbra จากนั้นสอบถามค่าที่มีผลอีกครั้ง:
postfix reload
postconf mynetworks
zmprov gs mta.example.com zimbraMtaMyNetworks
ผลลัพธ์ควรตรงกับรายการที่อนุญาตที่คุณตั้งใจไว้ รวมถึงลูปแบ็กด้วย หาก Postfix รายงานว่าเครือข่ายมีรูปแบบผิดปกติหรือค่าแตกต่างกัน ให้หยุดและแก้ไขปัญหาการกำหนดค่านั้นก่อนที่จะทดสอบการรับส่งอีเมล รายการ CIDR ต้องใช้ขอบเขตเครือข่ายที่ถูกต้อง สำหรับโฮสต์เดียว ให้ใช้ที่อยู่โฮสต์ที่มี/32แทนที่จะใช้มาสก์เครือข่ายที่รวมโฮสต์ข้างเคียง
วิธีตรวจสอบว่าข้อจำกัดนั้นใช้งานได้จริงหรือไม่
ทดสอบจากระบบที่ควบคุมและได้รับอนุญาต โดยใช้เส้นทางเครือข่ายและตัวรับฟัง SMTP เดียวกันกับแอปพลิเคชันจริง ส่งข้อความไปยังกล่องจดหมายที่คุณควบคุมอยู่นอกโดเมน Zimbra ยืนยันว่าโฮสต์ที่ได้รับอนุมัติสามารถส่งข้อความได้ และบันทึก MTA แสดงการยอมรับหรือการส่งมอบที่สำเร็จ กิจกรรมของ Zimbra MTA มักจะถูกบันทึกไว้/var/log/zimbra.logตรวจสอบการประทับเวลาและที่อยู่ IP ต้นทางที่เกี่ยวข้อง แทนที่จะพึ่งพาเฉพาะข้อความแสดงความสำเร็จจากไคลเอนต์อีเมลเท่านั้น
จากนั้นทดสอบจากโฮสต์ที่ไม่ได้อยู่ในรายการที่อนุญาตและไม่ได้ผ่านการตรวจสอบสิทธิ์ ผลลัพธ์ที่คาดหวังคือการปฏิเสธการส่งต่อเมื่อพยายามส่งไปยังผู้รับที่ไม่ใช่ในพื้นที่ ตรวจสอบบันทึก MTA สำหรับการเชื่อมต่อที่ถูกปฏิเสธและที่อยู่ต้นทางที่ Postfix ตรวจพบ ไคลเอนต์ที่ไม่ได้ผ่านการตรวจสอบสิทธิ์อาจยังคงได้รับอนุญาตให้ส่งไปยังผู้รับ Zimbra ในพื้นที่ ซึ่งเป็นการรับอีเมลตามปกติและไม่ได้พิสูจน์ว่าสามารถส่งต่ออีเมลขาออกได้
นอกจากนี้ ให้ทดสอบแอปพลิเคชันที่ถูกต้องตามกฎหมายใดๆ ที่เคยอยู่ในรายการเก่าด้วย การส่งแอปพลิเคชันที่ไม่สำเร็จมักหมายความว่าที่อยู่ต้นทางที่ไม่ถูกต้องถูกเพิ่มเข้าไปในรายการที่อนุญาต การพึ่งพาที่เชื่อถือได้เก่าถูกลบออก หรือแอปพลิเคชันต้องการการตรวจสอบสิทธิ์ SMTP หากไคลเอนต์มีการย้ายไปมาระหว่างเครือข่ายหรือ IP ขาออกไม่เสถียร การตรวจสอบสิทธิ์ SMTP ผ่าน TLS โดยทั่วไปจะจัดการได้ง่ายกว่าการเปลี่ยนแปลงรายการ IP ที่อนุญาตซ้ำๆ
วิธีการย้อนกลับหรือแก้ไขปัญหา
หากแอปพลิเคชันที่ได้รับอนุมัติหยุดส่งข้อมูล ให้คืนค่าที่บันทึกไว้เดิมแทนที่จะเพิ่มซับเน็ตที่คาดเดา ใช้คำสั่ง `apply` เพื่อzmprov msโหลด Postfix ใหม่ และยืนยันค่าที่มีผลด้วยคำสั่ง `reload postfix` postconf mynetworksตรวจสอบว่าโหลดบาลานเซอร์, เกตเวย์ NAT, โฮสต์คอนเทนเนอร์ หรือพร็อกซีขาออก เปลี่ยนที่อยู่ต้นทางก่อนที่จะถึง MTA หรือไม่
การRelay access deniedตอบกลับดังกล่าวอาจหมายความว่าไคลเอ็นต์ไม่ได้รับการตรวจสอบสิทธิ์ และที่อยู่ IP ต้นทางของไคลเอ็นต์นั้นไม่อยู่ในรายการที่เชื่อถือได้ สำหรับผู้ใช้ทั่วไปของอีเมล ให้กำหนดค่าการส่งอีเมลผ่าน SMTP โดยใช้การตรวจสอบสิทธิ์ แทนที่จะเพิ่มเครือข่ายผู้ใช้ทั้งหมดลงในรายการzimbraMtaMyNetworksที่อนุญาต การใช้รายการที่อนุญาตแบบกว้างๆ จะสร้างพื้นที่ส่งต่อที่ไม่ได้รับการตรวจสอบสิทธิ์ที่ใหญ่ขึ้น และอาจทำให้เซิร์ฟเวอร์เสี่ยงต่อการถูกโจมตีหากเครือข่ายที่เชื่อถือได้มีอุปกรณ์ที่ไม่ได้จัดการอยู่
หากค่า MTA ดูเหมือนถูกต้อง แต่พฤติกรรมไม่เปลี่ยนแปลง ให้ตรวจสอบว่าคุณได้แก้ไขเซิร์ฟเวอร์ที่ยอมรับการเชื่อมต่อแล้ว การรีโหลดสำเร็จ และไม่มีอินสแตนซ์ Postfix หรืออุปกรณ์เครือข่ายอื่นใดกำลังจัดการ SMTP อยู่ อย่าแก้ไขไฟล์ Postfix ที่สร้างโดย Zimbra โดยตรงเพื่อแก้ไขปัญหาอย่างถาวร เพราะการจัดการการกำหนดค่าอาจสร้างไฟล์เหล่านั้นขึ้นมาใหม่ ตรวจสอบเอกสารการดูแลระบบ Zimbra หรือช่องทางการสนับสนุนของเวอร์ชันของคุณสำหรับขั้นตอนเฉพาะเวอร์ชันเมื่อค่า LDAP และการกำหนดค่าขณะทำงานไม่ตรงกัน
ผลลัพธ์ที่ประสบความสำเร็จมีลักษณะอย่างไร
postconf mynetworksแสดงเฉพาะลูปแบ็กและที่อยู่หรือเครือข่ายแหล่งที่มาที่เชื่อถือได้ตามที่ต้องการเท่านั้น
- แอปพลิเคชันที่ได้รับอนุมัติแล้วแต่ยังไม่ต้องการตรวจสอบสิทธิ์ สามารถส่งอีเมลไปยังกล่องจดหมายทดสอบภายนอกได้
- โฮสต์ที่ไม่ได้รับการตรวจสอบสิทธิ์หรืออนุมัติ จะได้รับการปฏิเสธการส่งต่อสำหรับผู้รับภายนอก
- ผู้ใช้ที่เข้าสู่ระบบแล้วและการรับอีเมลภายในระบบยังคงทำงานได้ตามปกติ
- ค่าการย้อนกลับที่บันทึกไว้และรายการบริการที่เกี่ยวข้องจะถูกเก็บรักษาไว้สำหรับการเปลี่ยนแปลงในอนาคต
วิธีการนี้ช่วยจำกัดการส่งต่อข้อมูลที่ไม่ได้รับการตรวจสอบสิทธิ์โดยใช้ที่อยู่ IP ต้นทาง แต่ไม่ได้ทดแทนการตรวจสอบสิทธิ์ SMTP, TLS, การควบคุมอัตราการส่งข้อมูล, ความปลอดภัยของบัญชี หรือการตรวจสอบ และไม่สามารถแยกแยะแอปพลิเคชันแต่ละตัวที่ใช้ที่อยู่ NAT สาธารณะเดียวกันได้ ควรใช้เป็นเพียงการควบคุมเฉพาะด้าน และตรวจสอบรายการที่อนุญาตทุกครั้งที่มีการเปลี่ยนแปลงการส่งออกเครือข่ายหรือบทบาทของ MTA
แหล่งที่มา