Записи SSHFP на DNS-сервере Windows
Как добавить записи SSHFP (или любые произвольные записи) на DNS-сервер Windows?
Я использую DC с Windows 2012 R2 и хотел бы поместить ключи SSH серверов Unix в DNS.
2 ответа
Как было отмечено в другом ответе, ни один из инструментов Microsoft для MSDNS (dnsmgmt.msc
, dnscmd
, Add-DnsServerResourceRecord
) есть возможность добавить SSHFP
запись.
Кроме того, эти инструменты также не имеют возможности добавлять записи произвольных типов, используя стандартизированный общий непрозрачный формат записи (т.е. type<typeno> # <length> <hexencodedRRdata>
).
Тем не менее, MSDNS поддерживает протокол динамического обновления, что на самом деле позволяет добавлять SSHFP
записи в зоны, размещенные MSDNS!
Несмотря на то, что добавление записи работает, и запись впоследствии можно запросить, я советую быть осторожным, поскольку вы, скорее всего, находитесь на непроверенной территории. Это может не подходить для производственного использования.
Эти начальные шаги могут быть выполнены любым способом, который вы предпочитаете (dnsmgmt.msc
работает нормально, например):
- Убедитесь, что соответствующая зона подписана или иным образом включите подпись (вы можете прочитать о DNSSEC, если вы еще не знакомы)
- Включить динамические обновления для соответствующей зоны
Затем, используя обычный nsupdate
а также dig
инструменты от BIND:
C:\Users\Administrator\Downloads\BIND9.10.2.x64>nsupdate
> server localhost
> zone example.com
> update add foo.example.com 3600 IN SSHFP 2 1 CC17F14DA60CF38E809FE58B10D0F22680D59D08
> send
>
И чтобы убедиться, что запись существует:
C:\Users\Administrator\Downloads\BIND9.10.2.x64>dig @localhost foo.example.com sshfp +dnssec
; <<>> DiG 9.10.2 <<>> @localhost foo.example.com sshfp +dnssec
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53553
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4000
;; QUESTION SECTION:
;foo.example.com. IN SSHFP
;; ANSWER SECTION:
foo.example.com. 3600 IN SSHFP 2 1 CC17F14DA60CF38E809FE58B10D0F22680D59D08
foo.example.com. 3600 IN RRSIG SSHFP 8 3 3600 20150426201836 20150416191836 46761 example.com. rO98HgBwZSCdsHIf/svgKV+ShLGDonandqrRE1Fe0RdhiJiK
S/B0c28g vFCVijPqDBhxbCsY/OBh5AsF/LpZMZjE5erIIliq6E8yIlPMyiN+MabQ Sxm8Pwfo9V/GeiG7MlmgBOArHp+rYWhA2X3GFpzb9xTiequppbB1GMao iz8=
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Apr 16 20:32:45 Coordinated Universal Time 2015
;; MSG SIZE rcvd: 249
C:\Users\Administrator\Downloads\BIND9.10.2.x64>
Коротко: SSHFP
в настоящее время недоступен, и я тоже жду этого.
Объяснение:
Windows DNS Server имеет очень ограниченные возможности для RRType
чтобы предотвратить добавление несовместимых данных. Хотя в графическом интерфейсе есть определенные поля для каждой части записи, некоторые из них также являются выпадающими меню. dnscmd /RecordAdd
и командлет PowerShell Add-DnsServerResourceRecord
имеет те же ограничения для RRType
с и их данные.
RRType
в настоящее время ограничено
- Основанный на RFC
A
,AAAA
,AFSDB
,CNAME
,DHCID
,DNAME
,HINFO
,ISDN
,MX
,NS
,PTR
,RP
,RT
,SRV
,TXT
,WKS
&X25
- Специфичный для Windows
WINS
,WINSR
&ATMA
, - Типы записей, связанные с DNSSEC, создаются автоматически при подписании, поэтому недоступны.
Предполагаемое будущее SSHFP
поэтому тип будет иметь три параметра в соответствии с RFC4255:
dnscmd /RecordAdd <Zone> <NodeName> SSHFP <Algorithm> <FP type> <Fingerprint>
Если SSHFP
RRType становится доступным, как упоминал Эндрю Б, вы должны сначала выполнить два условия:
- Вы должны иметь зону DNSSEC и
SSHFP
запись должна быть подписана. В противном случае это не улучшит вашу безопасность. - Библиотека резолвера на машине с SSH должна иметь
EDNS0
Расширения включены.
Поэтому первый вопрос, который нужно задать, - это как включить DNSSEC на сервере Windows. Хорошо, что у вас Windows Server 2012 R2, поскольку поддержка в 2008 R2 была ограничена автономной подписью статических зон и не поддерживала NSEC3
а также RSA/SHA-2
,
Поскольку этот вопрос не касался DNSSEC на Windows Server в целом, я оставлю эту довольно практичную статью TechNet в качестве домашнего задания. Пошаговое руководство. Демонстрация DNSSEC в тестовой лаборатории.