ТИГ
TSIG ( подпись транзакции ) — это протокол компьютерной сети, определенныйв RFC 2845. В первую очередь он позволяет системе доменных имен (DNS) проверять подлинность обновлений в базе данных DNS. Чаще всего он используется для обновления динамического DNS или вторичного/подчиненного DNS-сервера. TSIG использует общие секретные ключи и одностороннее хеширование , чтобы обеспечить криптографически безопасные средства аутентификации каждой конечной точки соединения, которой разрешено выполнять обновление DNS или отвечать на него.
Хотя запросы к DNS обычно могут выполняться без аутентификации, обновления DNS должны проходить аутентификацию, поскольку они вносят долгосрочные изменения в структуру системы имен Интернета. Поскольку запрос на обновление может поступить по незащищенному каналу (Интернет), необходимо принять меры, обеспечивающие подлинность и целостность запроса. Использование ключа, совместно используемого клиентом, выполняющим обновление, и DNS-сервером, помогает обеспечить подлинность и целостность запроса на обновление. Функция одностороннего хеширования предотвращает изменение обновления и его пересылку по назначению злоумышленниками, обеспечивая тем самым целостность сообщения от источника к месту назначения.
Временная метка включена в протокол TSIG, чтобы предотвратить повторное использование записанных ответов, что позволило бы злоумышленнику нарушить безопасность TSIG. Это налагает требование на динамические DNS-серверы и клиенты TSIG содержать точные часы. Поскольку DNS-серверы подключены к сети, протокол сетевого времени может предоставить точный источник времени.
Обновления DNS, как и запросы, обычно передаются через UDP, поскольку он требует меньших затрат, чем TCP . Однако DNS-серверы поддерживают запросы как UDP, так и TCP.
Выполнение
[ редактировать ]Обновление, как указано в RFC 2136, представляет собой набор инструкций для DNS-сервера. К ним относятся заголовок, обновляемая зона, предварительные требования, которые должны быть выполнены, и записи, которые необходимо обновить. TSIG добавляет финальную запись, которая включает метку времени и хэш запроса. Он также включает имя секретного ключа, который использовался для подписания запроса. В RFC 2535 есть рекомендации по форме имени.
Ответ на успешное обновление TSIG также будет подписан записью TSIG. Сбои не подписываются, чтобы злоумышленник не смог узнать что-либо о ключе TSIG с помощью специально созданных «зондов» обновлений.
Программа nsupdate может использовать TSIG для обновления DNS.
Запись TSIG имеет тот же формат, что и другие записи в запросе на обновление. Значение полей описано в RFC 1035.
Поле | Байты | Ценить | Описание |
---|---|---|---|
ИМЯ | Макс. 256 | Варьируется | Ключевое имя; идентифицирует ключ как на клиенте, так и на сервере |
ТИП | 2 | ТРЕТИЙ (250) | |
СОРТ | 2 | ЛЮБОЙ (255) | |
ТТЛ | 4 | 0 | Записи TSIG не должны кэшироваться |
ДЛИНА | 2 | Варьируется | Длина поля RDATA |
РДАТА | ДЛИНА | Варьируется | Структура, содержащая временную метку, алгоритм и хеш-данные. |
Альтернативы ЦИГ
[ редактировать ]Хотя TSIG широко распространен, у протокола есть несколько проблем:
- Это требует распространения секретных ключей на каждый хост, который должен делать обновления.
- Хотя дайджест HMAC-MD5 все еще широко используется, он больше не считается очень безопасным. HMAC-SHA256 является предпочтительным. [ нужна ссылка ]
В результате был предложен ряд альтернатив и расширений.
- RFC 2137 определяет метод обновления с использованием DNS-записи открытого ключа «SIG». Клиент, обладающий соответствующим секретным ключом, может подписать запрос на обновление. Этот метод соответствует методу DNSSEC для безопасных запросов. Однако этот метод устарел в RFC 3007.
- В 2003 году [update]В RFC 3645 предлагалось расширить TSIG, чтобы обеспечить метод безопасного обмена ключами Generic Security Service (GSS), устраняя необходимость ручного распределения ключей всем клиентам TSIG. Метод распространения открытых ключей в виде записи ресурса DNS (RR) указан в RFC 2930, причем GSS является одним из режимов этого метода. Модифицированный GSS -TSIG , использующий сервер Windows Kerberos , был реализован серверами и клиентами Microsoft Windows Active Directory под названием Secure Dynamic Update. В сочетании с плохо настроенным DNS (без зоны обратного просмотра) с использованием адресации RFC 1918 обновления обратного DNS с использованием этой схемы аутентификации массово пересылаются на корневые DNS-серверы и, таким образом, увеличивают трафик на корневые DNS-серверы. Существует группа Anycast , которая обрабатывает этот трафик и забирает его с корневых DNS-серверов. [1] [2]
- RFC 2845 определяет TSIG, определяет только одну разрешенную функцию хеширования, 128-битную HMAC-MD5 , которая больше не считается высокозащищенной. Был распространен RFC 4635, разрешающий хеширование RFC 3174 Secure Hash Algorithm (SHA1) и FIPS PUB 180-2 SHA-2 для замены MD5. 160-битные и 256-битные дайджесты, созданные с помощью SHA1 и SHA-2, более безопасны, чем 128-битные дайджесты, созданные с помощью MD5 .
- RFC 2930 определяет TKEY — запись DNS , используемую для автоматического распространения ключей от DNS-сервера DNS-клиентам.
- RFC 3645 определяет GSS-TSIG, который использует gss-api и TKEY для автоматического распределения ключей в режиме gss-api.
- Предложение DNSCurve во многом похоже на TSIG.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Эбли, Дж.; Сотомайор, В. (май 2015 г.). «RFC 7534 — Операции сервера имен AS112» . дои : 10.17487/RFC7534 . Проверено 29 декабря 2017 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Обзор проекта AS112» , получено 29 декабря 2017 г.
Внешние ссылки
[ редактировать ]- RFC 2136 Динамические обновления в системе доменных имен (ОБНОВЛЕНИЕ DNS)
- RFC 2845 Аутентификация транзакции с секретным ключом для DNS (TSIG)
- RFC 2930 Создание секретного ключа для DNS (TKEY RR)
- RFC 3007 Динамическое обновление системы безопасных доменных имен (DNS)
- RFC 3645 Общий алгоритм службы безопасности для аутентификации транзакций с секретным ключом для DNS (GSS-TSIG)
- RFC 3174 Алгоритм безопасного хеширования США 1
- RFC 4635 Идентификаторы алгоритмов HMAC SHA TSIG
- RFC 8945 Аутентификация транзакции с секретным ключом для DNS (TSIG)