DNS에 4028 비트 DKIM 키를 입력하려고하는데 UDP 512 바이트 제한과 TXT 레코드의 최대 레코드 크기를 모두 초과하는 것으로 보입니다.
누군가 어떻게 큰 키 (인코딩 된 크기가 큰)를 올바르게 만들어 DNS로 가져 옵니까?
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는이를 줄이 연결되는 추가 공백없이 하나의 긴 문자열로 취급합니다. 모든 " "
시퀀스는 무시됩니다.
" "
시퀀스 를 무시하는 것은 DNS가 아니며 실제로 마지막 인용에서 그것을 증명합니다. 그것은이다 SPF RFC 4408 연결이 SPF 확인을위한 DNS 레코드를 읽는 응용 프로그램에서 사용되어야한다고 정의 섹션 3.1.3.
Amazon Route 53 인 경우 청크 사이에 개행 (공백 만)을 사용하지 마십시오.
"do it" "this way"
"not like"
"this"
pdn에 poweradmin UI를 사용하는 경우 입력 필드에 전체 dkim 문자열을 입력하면됩니다.
v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxtR3bw1Kbh1B7q4+5aWjTj2YEFwv230gcv+NMp4KouOSLdIr0mCMiwDZpY+7zCdks0zMXtz+F5TPij/NkSAxIKBbJqbIO3mvAhgeI0Vy5aQ5prwnIyXUj54po6AsXbv5Ud2tFbGSsdIhvWiC755d3WaFs8mdWFkpSxprlW6PobCzOWDayWGCvsNfHpjmTxHZinkd3TmLQqE/O6Nb1YnRwQwUCLioSyudV+5Bd2+rXZ2V9FYAOiK2aQi2aSTiUaLCVxft9H6xen3JDaKsuu43QMBrhydoJOCV2QaY82IxqE3GgZrlADu6YEOfotdwD2aA9GRwVB88GqdXL8HwgEGTbwIDAQAB
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