web-dev-qa-db-ja.com

強力な(長い)DKIMキーをDNSに入力するにはどうすればよいですか?

4028ビットのDKIMキーをDNSに入力しようとしていますが、TXTレコードのUDP 512バイト制限と最大レコードサイズの両方を超えているようです。

誰かがどのようにして大きな鍵(暗黙的に大きなエンコードサイズで)を適切に作成し、それをDNSにインポートしますか?

19

それらをテキストフィールドで分割する必要があります。 2048がキーサイズの実際的な制限だと思います。テキストフィールドを255文字以下の部分に分割します。各分割にはオーバーヘッドがあります。

長いフィールドには2つの形式があります。

TXT「パート1」\「パート2」

TXT( "パート1" "パート2")

どちらも「パート1パート2」として結合されます。 詳細 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は、行を結合する余分なスペースのない1つの長い文字列として扱います。すべて " "シーケンスは無視されます。

26
BillThor

Pdnsにpoweradmin UIを使用する場合は、dkim文字列全体を入力フィールドに入力するだけです。

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

それがAmazon Route 53の場合、チャンク間に改行(スペースのみ)を使用しないでください。

"do it" "this way"

"not like"
"this"

https://serverfault.com/a/763871/80856 を参照してください

1
Messa

私はこの投稿が古いことを知っていますが、「UltraDNSを使用したDKIM 2048ビットキー」をクエリしたところ、今日見つかりました。私のDNSチームは、引用符とその間のスペースを使用して、キーを2つの部分に分割しようとしました。そのため、UltraDNSは最大3つのパケットを処理し(中央の1つは空でした)、整合性のない検証結果を引き起こしていました。

UltraDNSコントロールパネルで機能したのは、レコード全体を引用符で囲んで送信することだけでした。複数の引用符や区切り文字などを使用する必要はありませんでした。

0
Joe Sutherland

DNSはTCPを使用するため、レコードがUDP 512バイトの制限を超えていても問題ありません。

これはユーザーに対して透過的である必要がありますが、バグの多いファイアウォールアプライアンス(Cisco PIX/ASAなど)がこれらのより大きなクエリをフィルタリング/ブロックすることがあります。

0
JGurtz