Техническое: дополнительные полезности от DNSSEC – SSHFP

KeypadDNSSEC удостоверяет информацию, размещаемую в DNS. Вообще, современное понимание DNS сильно шире простого преобразования “символьное имя <-> числовой адрес”. Эту систему рассматривают как распределённую базу данных, хранящую некие пары значений и снабжённую не менее распределённым механизмом для поиска. То, что при помощи DNS можно сопоставлять символьные имена хостов и IP-адреса – это лишь одно из применений полезного сервиса.

Например, существует такая ресурсная запись (то есть, пара значений из базы данных DNS) – SSHFP, SSH FingerPrint. Эта запись позволяет разместить в DNS отпечаток серверного криптографического ключа, используемого для доступа при помощи SSH. Зачем? Для того, чтобы SSH-клиент мог сверить данные, полученные при установлении соединения от сервера, с данными, размещёнными в DNS, и лишний раз убедиться, что всё в порядке, канал никто не перехватывает – или наоборот: перехватывает.

Для того, чтобы схема имела смысл, доменная зона должна быть безопасной, подписанной DNSSEC. Понятно, что подписанная зона удостоверяет IP-адрес, с которым будет устанавливаться соединение по SSH. Но DNS никак не гарантирует, что это соединение не перехвачено на уровне IP, и атакующий не подменяет сервер.

Включить проверку можно при помощи настройки SSH-клиента. Например:

$ ssh -o VerifyHostKeyDNS=yes test@example.com

(Понятно, что опцию VerifyHostKeyDNS можно просто указать в конфигах.)

Отпечаток, размещаемый в DNS, генерируется (в Linux-ах) при помощи следующей команды:

$ ssh-keygen -r dxdt.ru

Например, я держу такую запись в зоне dxdt.ru, которая, естественно, подписана DNSSEC. Выглядит запись так:

dxdt.ru. IN SSHFP 1 1 0A1D19C05D239CCE90EE616DEB2EF80B35F3759B

– посмотреть может каждый, опросив серверы, поддерживающие зону.

На мой взгляд, полезное применение DNSSEC.

()

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 5

  • 1. 24th April 2013, 00:22 // Читатель Дмитрий Белявский написал:

    Полезное, но geek-only. DANE имеет шанс быть более массовым.

  • 2. 24th April 2013, 06:40 // Читатель Саша Сергеев написал:

    Дмитрий, не мешайте DANE и SSHFP в одну кучу. Они для разных целей и совсем не конкурируют за “самое полезное”.

    Кстати SSHFP появилось довольно давно, но только теперь, в эру повсеместного разгона DNSSEC начало быть действительно полезным. Хотя у DANE натыкается на заморочки с клиентскими сетями и устройствами у него всё равно будет подобная точка, когда наконец о нём заговорят больше.

  • 3. 24th April 2013, 10:14 // Александр Венедюхин ответил:

    Для разных-то – для разных, но концепции весьма схожие. Собственно, SSHFP повлияла на форму DANE.

  • 4. 24th April 2013, 16:52 // Читатель sarin написал:

    что-то не улавливаю, в чём отличие от DANE?

  • 5. 25th April 2013, 09:36 // Александр Венедюхин ответил:

    > что-то не улавливаю, в чём отличие от DANE?

    В DANE есть несколько вариантов публикации отпечатков ключей, часть этих вариантов учитывает параллельную иерархию подписей SSL-сертификатов. В SSH такой иерархии нет, а SSHFP её вводит, на базе DNS.