DNS에 강력한 (긴) DKIM 키를 입력하려면 어떻게합니까? 입력하려고하는데 UDP 512

DNS에 4028 비트 DKIM 키를 입력하려고하는데 UDP 512 바이트 제한과 TXT 레코드의 최대 레코드 크기를 모두 초과하는 것으로 보입니다.

누군가 어떻게 큰 키 (인코딩 된 크기가 큰)를 올바르게 만들어 DNS로 가져 옵니까?



답변

텍스트 필드에서 분할해야합니다. 2048이 키 크기의 실질적인 한계라고 생각합니다. 텍스트 필드를 255 자 이하로 나누십시오. 각 분할마다 오버 헤드가 있습니다.

긴 필드에는 두 가지 형식이 있습니다.

TXT “1 부”\ “2 부”

TXT ( “파트 1” “파트 2”)

둘 다 “part onepart two”로 결합됩니다. 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는이를 줄이 연결되는 추가 공백없이 하나의 긴 문자열로 취급합니다. 모든 " "시퀀스는 무시됩니다.


답변

Amazon Route 53 인 경우 청크 사이에 개행 (공백 만)을 사용하지 마십시오.

"do it" "this way"

"not like"
"this"

참조 /server//a/763871/80856를


답변

pdn에 poweradmin UI를 사용하는 경우 입력 필드에 전체 dkim 문자열을 입력하면됩니다.

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


답변

DNS가 TCP를 사용하기 때문에 레코드가 UDP 512 바이트 제한보다 큰 경우 괜찮습니다.

이는 사용자에게 투명해야하지만 때로는 버그가 많은 방화벽 어플라이언스 (예 : Cisco PIX / ASA)가 더 큰 쿼리를 필터링 / 차단합니다.


답변

나는이 포스트가 고대라는 것을 알고 있지만, 오늘 “UltraDNS를 가진 DKIM 2048 비트 키”를 쿼리 할 때 발견했습니다. DNS 팀은 키를 따옴표로 묶고 공백을 두 부분으로 나누려고했습니다. 이로 인해 UltraDNS가 3 개의 패킷 (중앙에있는 패킷이 비어 있음)을 제공하여 일관성없는 유효성 검사 결과가 발생했습니다.

UltraDNS 제어판에서 나를 위해 일한 것은 여러 따옴표, 구분 기호 등없이 따옴표로 전체 레코드를 제출하는 것입니다. 예상대로 작동합니다.


답변

PowerDNS와 같은 DNS 백엔드로 MySQL / MariaDB를 사용하는 경우 컨텐츠 열의 크기를 조정할 수 있습니다.

기본 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


답변