Bagaimana cara memasukkan kunci DKIM yang kuat (panjang) ke DNS?

19

Saya mencoba memasukkan kunci DKIM 4028 bit ke dalam DNS dan sepertinya saya melebihi batas 512 byte UDP dan juga ukuran rekaman maksimum untuk catatan TXT.

Bagaimana cara seseorang membuat kunci besar dengan benar (dengan ukuran penyandian tersirat lebih besar) dan mengimpornya ke DNS?

goodguys_activate
sumber
Perlu lebih detail; apa perangkat lunak server DNS?
JGurtz
1
Sudahkah Anda mempertimbangkan ukuran kunci Anda dengan cermat? RFC menyatakan: "Pengverifikasi HARUS dapat memvalidasi tanda tangan dengan kunci mulai dari 512 bit hingga 2048 bit, dan mereka MUNGKIN dapat memvalidasi tanda tangan dengan kunci yang lebih besar." Jadi kunci panjang Anda mungkin tidak diverifikasi.
HTTP500
@JGurtz Kami menggunakan "UltraDNS" ini adalah layanan yang di-host.
goodguys_activate
@Jason - Kita bisa melakukan 2048, tapi saya pikir panjang bit bisa melebihi batas paket UDP.
goodguys_activate
1
Mungkin Anda harus mempertimbangkan bahwa masalah yang Anda buat melalui penggunaan kunci panjang yang tidak biasa jauh lebih besar daripada keuntungan yang Anda harapkan dari itu.
John Gardeniers

Jawaban:

25

Anda perlu membaginya dalam bidang teks. Saya percaya bahwa 2048 adalah batas praktis untuk ukuran kunci. Membagi bidang teks menjadi bagian-bagian 255 karakter atau kurang. Ada overhead untuk setiap pemisahan.

Ada dua format untuk bidang panjang.

TXT "bagian satu" \ "bagian dua"

TXT ("bagian satu" "bagian dua")

Keduanya akan digabungkan sebagai "bagian pada bagian dua". Lebih detail dari Zytrax.

Untuk menghasilkan entri dkim saya, saya memasukkan file kunci publik saya dan membungkusnya dengan tanda kutip.
File kunci publik saya berisi yang berikut ini:

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3
q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0
ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB

Setelah mengedit kunci dalam file zona dns saya muncul sebagai berikut:

dkim3._domainkey        IN      TXT     ("v=DKIM1; t=s; p=" 
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3"
"q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0"
"ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB")

DNS mengembalikannya sebagai berikut:

 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 memperlakukannya sebagai satu string panjang tanpa spasi tambahan di mana garis digabungkan. Semua " "urutan diabaikan.

BillThor
sumber
Bisakah Anda memberi contoh? untuk ini saya tidak tahu bagaimana membuatnya jelas apa bagian 1 dan bagian 2 adalah .... #threadnecro
janw
1
@janw Saya telah menambahkan salah satu kunci saya sebagai contoh. Kunci ini hanya 1024 bit.
BillThor
5
Tnx untuk balasan cepat. Tapi kunci ini cocok dengan tombol 255. Jadi saya masih belum mengerti bagaimana Anda membaginya menjadi beberapa kunci.
Januari
1
Bukan DNS yang mengabaikan " "urutan dan Anda benar-benar membuktikannya dalam kutipan terakhir Anda. Ini adalah SPF RFC 4408 bagian 3.1.3 yang mendefinisikan bahwa rangkaian harus digunakan oleh aplikasi yang membaca catatan DNS untuk validasi SPF.
Phil
3
@Alnitak RFC yang berlaku untuk kasus ini adalah tools.ietf.org/html/rfc6376#section-3.6 . String digabungkan tanpa spasi di antara mereka. SPF dan format lain mengikuti aturan yang sama yang memungkinkan jeda ditempatkan di lokasi sewenang-wenang. Ini dapat dilakukan untuk keterbacaan atau untuk membatasi ukuran catatan.
BillThor
1

Jika itu adalah Amazon Route 53 maka jangan gunakan baris baru (hanya spasi) antara potongan.

"do it" "this way"

"not like"
"this"

Lihat /server//a/763871/80856

Messa
sumber
1

Jika Anda menggunakan UI poweradmin untuk pdns, Anda bisa memasukkan seluruh string dkim di bidang input.

v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxtR3bw1Kbh1B7q4+5aWjTj2YEFwv230gcv+NMp4KouOSLdIr0mCMiwDZpY+7zCdks0zMXtz+F5TPij/NkSAxIKBbJqbIO3mvAhgeI0Vy5aQ5prwnIyXUj54po6AsXbv5Ud2tFbGSsdIhvWiC755d3WaFs8mdWFkpSxprlW6PobCzOWDayWGCvsNfHpjmTxHZinkd3TmLQqE/O6Nb1YnRwQwUCLioSyudV+5Bd2+rXZ2V9FYAOiK2aQi2aSTiUaLCVxft9H6xen3JDaKsuu43QMBrhydoJOCV2QaY82IxqE3GgZrlADu6YEOfotdwD2aA9GRwVB88GqdXL8HwgEGTbwIDAQAB
Johannes Winter
sumber
0

Tidak apa-apa jika catatan lebih besar dari batas UDP 512-byte karena DNS akan menggunakan TCP.

Ini harus transparan bagi pengguna, tetapi terkadang peralatan firewall buggy (seperti Cisco PIX / ASA) akan memfilter / memblokir kueri yang lebih besar ini.

JGurtz
sumber
0

Saya tahu posting ini kuno, tetapi saya menemukannya hari ini ketika menanyakan "kunci DKIM 2048 bit dengan UltraDNS." Tim DNS saya telah mencoba untuk membagi kunci menjadi dua bagian dengan tanda kutip di sekitarnya dan spasi di antaranya. Itu menyebabkan UltraDNS untuk menyajikan 3 paket (yang di tengah kosong) yang menyebabkan hasil validasi yang tidak konsisten.

Apa yang berhasil bagi saya di panel kontrol UltraDNS adalah hanya menyerahkan seluruh catatan dalam tanda kutip tanpa beberapa set tanda kutip, pembatas, dll. Bekerja seperti yang diharapkan sekarang.

Joe Sutherland
sumber
-1

Jika Anda menggunakan MySQL / MariaDB sebagai backend DNS Anda, seperti PowerDNS Anda bisa mengubah ukuran kolom konten Anda.

Panjang konten PowerDNS default adalah VARCHAR (255)

Jadi tanda tangan DKIM Anda akan dipangkas menjadi 255 karakter

untuk memperbaikinya

hanya mengubah ukuran konten melalui CLI MySQL CLI / MariaDB

mysql -u root -p

USE powerdns;
alter table records modify column content text not null;

restart Layanan DNS Anda (mis. PowerDNS)

service pdns restart
webmaster
sumber