ฉันสามารถตั้งค่าคีย์ DKIM เดียวสำหรับหลายโดเมนด้วย OPENDKIM ได้โดยใช้ KeyTables และ SigningTable แต่เนื่องจากบริษัทเริ่มใช้ RSPAMD ฉันจึงไม่สามารถใช้ OPENDKIM ร่วมกับ RSPAMD ได้อีกต่อไป และจำเป็นต้องใช้ DKIM Signing Module โดย RSPAMD
เป็นเรื่องยาว แต่ฉันก็จบลงด้วยสถานการณ์นี้ซึ่งฉันต้องตั้งค่าคีย์ DKIM เดียวสำหรับโดเมนแบรนด์ของบริษัทอื่น โดยปกติ ฉันจะทำสิ่งนี้ใน OPEDKIM:
*@maincorp.com mail._domainkey.maincorp.com
*@brand1.com mail._domainkey.maincorp.com
*@brand2.com mail._domainkey.maincorp.com
แต่จะทำอย่างไรในการลงนาม RSPAMD DKIM ฉันได้ลองหลายวิธีแล้วแต่ไม่สำเร็จด้วยการเรียกดูและใช้เอกสาร RSPAMD เป็นไปได้ไหมที่จะใช้คีย์ DKIM เดียวสำหรับหลายโดเมน DKIM Signing ใน RSPAMD เช่นเดียวกับใน OPENDKIM
โปรดทราบว่าไกลจากการทดสอบของฉัน:
ในรูปแบบ 1 ต่อ 1 นั่นคือการลงนาม DKIM ด้วยคีย์ DKIM ที่แตกต่างกันสำหรับโดเมนต่างๆ ที่กำลังทำงานอยู่ แต่ฉันต้องการแบบแผน 1 ต่อ N, 1 คีย์ DKIM สำหรับหลายโดเมน
สำหรับหมายเหตุ:
- ฉันเข้าใจว่าฉันเพียงแค่เพิ่มระเบียน CNAME ที่ชี้ไปที่ maincorp.com _domainkey สำหรับชื่อโดเมนทุกยี่ห้อ แต่ชื่อโดเมนของแบรนด์ทุกชื่อจดทะเบียนในบริษัทจดทะเบียนโดเมนของประเทศอื่น ซึ่งฉันไม่สามารถเข้าถึงได้ทันที (มันจะเป็นระบบราชการที่ค่อนข้างยาว) ดังนั้นจึงไม่น่าเป็นไปได้
- ฉันใช้ Opendkim และ Spamassassin และได้รับการแต่งตั้งเรื่องนี้ในลำดับที่ 1 ทำงานได้ดี แต่ตอนนี้ Spamassassin แทนที่ด้วย RSPAMD และ Opendkim ไม่ได้ใช้อีกต่อไป
ขอขอบคุณ,
โทมัส
สำหรับการอ้างอิงของคุณนี่คือการกำหนดค่า DKIM Signing ของฉันใน local.d/dkim_signing.conf:
local.d/dkim_signing.conf ของฉัน:
enabled = true;
If false, messages with empty envelope from are not signed
allow_envfrom_empty = true;
# If true, envelope/header domain mismatch is ignored
allow_hdrfrom_mismatch = false;
# If true, multiple from headers are allowed (but only first is used)
allow_hdrfrom_multiple = false;
# If true, username does not need to contain matching domain
allow_username_mismatch = true;
# If false, messages from authenticated users are not selected for signing
auth_only = true;
# Default path to key, can include '$domain' and '$selector' variables
#path = "/etc/opendkim/userkeys/$domain/$selector.private";
path = "/etc/opendkim/keys/mailcorp.com/mail.private";
# Default selector to use
#selector = "default";
selector = "mail";
# If false, messages from local networks are not selected for signing
sign_local = true;
# Map file of IP addresses/subnets to consider for signing
# sign_networks = "/some/file"; # or url
# Symbol to add when message is signed
symbol = "DKIM_SIGNED";
# Whether to fallback to global config
try_fallback = false;
selector_map = "/etc/rspamd/dkim_selectors.map";
path_map = "/etc/rspamd/dkim_paths.map";
# Domain to use for DKIM signing: can be "header" (MIME From), "envelope" (SMTP From) or "auth" (SMTP username)
use_domain = "header";
# Domain to use for DKIM signing when sender is in sign_networks ("header"/"envelope"/"auth")
use_domain_sign_networks = "header";
# Domain to use for DKIM signing when sender is a local IP ("header"/"envelope"/"auth")
use_domain_sign_local = "header";
# Whether to normalise domains to eSLD
use_esld = false;
# Whether to get keys from Redis
# Not using redis, keys coming from files in /etc/opendkim
use_redis = false;
# Hash for DKIM keys in Redis
key_prefix = "DKIM_KEYS";
/etc/rspamd/dkim_selector.map ของฉัน:
maincorp.com mail
brand1.com mail
brand2.com mail
และ /etc/rspamd/dkim_paths.map ของฉัน:
maincorp.com /etc/opendkim/keys/mancorp.com/mail.private
brand1.com /etc/opendkim/keys/mancorp.com/mail.private
brand2.com /etc/opendkim/keys/mancorp.com/mail.private
การใช้การกำหนดค่าด้านบนที่ local.d/dkim_signing.conf ส่งผลให้ได้ผลลัพธ์ดังต่อไปนี้:
- เมื่อส่งอีเมลจาก @mailcorp.com จะไม่มีปัญหาและ DKIM จะได้รับการลงนาม ทำไม? เพราะที่ DNS mailcorp.com มี _domainkey
- แต่เมื่อส่งอีเมลจาก @brand1.com และ @brand2.com จะไม่มีการเซ็นชื่อ DKIM เว้นแต่ฉันจะเพิ่มระเบียน CNAME ใน brand1.com และ brand2.com ซึ่งฉันไม่ต้องการตั้งแต่ครั้งแรก
สิ่งที่ต้องทำ (เป้าหมายหลัก) ซึ่งยังไม่สำเร็จโดยใช้การกำหนดค่าด้านบนคือ และฉันต้องการความช่วยเหลือจากคุณ:
เป้าหมายคือเพื่อให้สามารถสำหรับ brand1.com และ brand2.com ได้รับการลงนามโดยคีย์ DKIM เดียวที่มีอยู่แล้วซึ่งใช้งานแล้วใน TXT Record ใน maincorp.com โดยไม่จำเป็นต้องเพิ่ม CNAME หรือ TXT Record _domainkey ในแต่ละ brand1.com และแผง DNS ของ brand2.com
สำหรับ maincorp.com มันใช้งานได้แล้วเพราะมี TXT Record ของ mail._domainkey.maincorp.com ในแผง DNS แต่ใช้ไม่ได้กับ brand1.com และ brand2.com
กรุณาช่วย...
อัปเดต 9 เมษายน 2019:
ฉันพบว่าคุณลักษณะนี้ที่ฉันต้องการยังไม่ได้รับการสนับสนุนจาก RSPAMD อย่างน้อยก็ในเวลาที่มีการสอบสวนเรื่องนี้ หวังว่าพวกเขาจะเปิดใช้งานได้
ดังนั้น สำหรับตอนนี้ ฉันแค่ต้องเพิ่มระเบียน CNAME ใน brand1.com และ brand2.com เพื่อให้ DKIM ถูกต้องและลงนาม :(
ขอบคุณมากสำหรับความอดทนและความช่วยเหลือ! มีวันที่ดี!