ฉันกำลังพยายามป้อนคีย์ DKIM 4028 บิตลงใน DNS และดูเหมือนว่าฉันเกินขีด จำกัด UDP 512 ไบต์และขนาดบันทึกสูงสุดสำหรับระเบียน TXT
บางคนสร้างคีย์ขนาดใหญ่อย่างถูกต้อง (ด้วยขนาดที่เข้ารหัสที่ใหญ่กว่า) และนำเข้าสู่ DNS ได้อย่างไร
ฉันกำลังพยายามป้อนคีย์ DKIM 4028 บิตลงใน DNS และดูเหมือนว่าฉันเกินขีด จำกัด UDP 512 ไบต์และขนาดบันทึกสูงสุดสำหรับระเบียน TXT
บางคนสร้างคีย์ขนาดใหญ่อย่างถูกต้อง (ด้วยขนาดที่เข้ารหัสที่ใหญ่กว่า) และนำเข้าสู่ DNS ได้อย่างไร
คำตอบ:
คุณต้องแยกพวกมันในช่องข้อความ ฉันเชื่อว่า 2048 เป็นข้อ จำกัด ในทางปฏิบัติสำหรับขนาดที่สำคัญ แยกฟิลด์ข้อความออกเป็นส่วน ๆ 255 อักขระหรือน้อยกว่า มีค่าใช้จ่ายสำหรับการแยกแต่ละครั้ง
มีสองรูปแบบสำหรับฟิลด์ยาว
TXT "ส่วนที่หนึ่ง" \ "ส่วนที่สอง"
TXT ("ส่วนที่หนึ่ง" "ส่วนที่สอง")
ซึ่งทั้งสองอย่างนี้จะรวมกันเป็น รายละเอียดเพิ่มเติมจาก Zytrax
เพื่อสร้างรายการ dkim ของฉันฉันใส่ไฟล์กุญแจสาธารณะของฉันและห่อมันไว้ในเครื่องหมายคำพูด
ไฟล์กุญแจสาธารณะของฉันมีดังต่อไปนี้:
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3
q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0
ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB
หลังจากแก้ไขคีย์ในไฟล์โซน dns ของฉันจะปรากฏดังนี้:
dkim3._domainkey IN TXT ("v=DKIM1; t=s; p="
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3"
"q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0"
"ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB")
DNS ส่งคืนดังนี้
bill:~$ host -t TXT dkim3._domainkey.systemajik.com
dkim3._domainkey.systemajik.com descriptive text "v=DKIM1\; t=s\; p=" "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3" "q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0" "ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB"
DNS ถือว่าเป็นสตริงที่มีความยาวหนึ่งตัวโดยไม่มีช่องว่างเพิ่มเติมที่มีการรวมบรรทัด " "
ลำดับทั้งหมดจะถูกละเว้น
" "
ลำดับและคุณพิสูจน์ได้จริงในใบเสนอราคาล่าสุดของคุณ เป็นSPF RFC 4408ส่วน 3.1.3 ซึ่งกำหนดว่าการต่อข้อมูลควรใช้โดยแอปพลิเคชันที่อ่านระเบียน DNS สำหรับการตรวจสอบ SPF
หากเป็นAmazon Route 53อย่าใช้การขึ้นบรรทัดใหม่ (เฉพาะช่องว่าง) ระหว่างชิ้น
"do it" "this way"
"not like"
"this"
หากคุณใช้ poweradmin UI สำหรับ pdns คุณสามารถป้อนสตริง dkim ทั้งหมดในฟิลด์อินพุต
v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxtR3bw1Kbh1B7q4+5aWjTj2YEFwv230gcv+NMp4KouOSLdIr0mCMiwDZpY+7zCdks0zMXtz+F5TPij/NkSAxIKBbJqbIO3mvAhgeI0Vy5aQ5prwnIyXUj54po6AsXbv5Ud2tFbGSsdIhvWiC755d3WaFs8mdWFkpSxprlW6PobCzOWDayWGCvsNfHpjmTxHZinkd3TmLQqE/O6Nb1YnRwQwUCLioSyudV+5Bd2+rXZ2V9FYAOiK2aQi2aSTiUaLCVxft9H6xen3JDaKsuu43QMBrhydoJOCV2QaY82IxqE3GgZrlADu6YEOfotdwD2aA9GRwVB88GqdXL8HwgEGTbwIDAQAB
ไม่เป็นไรถ้าบันทึกมีค่ามากกว่าขีด จำกัด UDP 512- ไบต์เนื่องจาก DNS จะใช้ TCP
สิ่งนี้ควรมีความโปร่งใสต่อผู้ใช้ แต่บางครั้งอุปกรณ์ไฟร์วอลล์ที่บั๊กกี้ (เช่น Cisco PIX / ASA) จะกรอง / บล็อกข้อความค้นหาขนาดใหญ่เหล่านี้
ฉันรู้ว่าโพสต์นี้โบราณ แต่ฉันพบว่าวันนี้เมื่อสอบถาม "คีย์บิต DKIM 2048 ด้วย UltraDNS" ทีม DNS ของฉันพยายามแยกคีย์ออกเป็นสองส่วนโดยมีเครื่องหมายคำพูดล้อมรอบและเว้นวรรคระหว่างกัน นั่นเป็นสาเหตุให้ UltraDNS ให้บริการ 3 แพ็คเก็ต (อันที่อยู่ตรงกลางว่างเปล่า) ซึ่งทำให้เกิดผลการตรวจสอบที่ไม่สอดคล้องกัน
สิ่งที่ใช้ได้ผลสำหรับฉันในแผงควบคุม UltraDNS เพียงเพื่อส่งเรกคอร์ดทั้งหมดในเครื่องหมายคำพูดโดยไม่มีชุดคำพูดหลายตัวคั่น ฯลฯ ทำงานตามที่คาดไว้ตอนนี้
หากคุณใช้ MySQL / MariaDB เป็นแบ็กเอนด์ DNS ของคุณเช่น PowerDNS คุณสามารถปรับขนาดคอลัมน์เนื้อหาของคุณ
ความยาวเนื้อหา PowerDNS เริ่มต้นคือ VARCHAR (255)
ดังนั้นลายเซ็น DKIM ของคุณจะถูกตัดออกเป็น 255 อักขระ
เพื่อแก้ไขปัญหานี้
เพียงแค่เปลี่ยนขนาดเนื้อหาผ่าน MySQL CLI / MariaDB CLI
mysql -u root -p
USE powerdns;
alter table records modify column content text not null;
รีสตาร์ทบริการ DNS ของคุณ (เช่น PowerDNS)
service pdns restart