ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Some premium Kea extensions that are not open source (GSS-TSIG)
@ 2023-12-10 17:27 Evgeny Sinelnikov
  0 siblings, 0 replies; only message in thread
From: Evgeny Sinelnikov @ 2023-12-10 17:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Добрый вечер,

дублирую выводы из разбора возможностей новой реализации dhcp-сервера
kea от ISC, для которого всплыл новый лицензионный подход к
расширениям. Для меня это было интересной неожиданностью.

Предыстория.

С одной стороны, с недавних пор старая реализация dhcp-сервер от ISC
объявлена более не обслуживаемой ("ISC has announced the end of
maintenance for ISC DHCP as of the end of 2022"):
- https://www.isc.org/dhcp/
- https://www.isc.org/blogs/isc-dhcp-eol/

Кроме того, для миграции предложен соответствующий инструментарий -
Kea Migration Assistant (KeaMA) tool (у нас в репозиторий пока не
собран):
- https://www.isc.org/dhcp_migration/
- https://gitlab.isc.org/isc-projects/keama

С другой стороны, миграция предлагается на новую реализацию Kea DHCP
(Modern, open source DHCPv4 & DHCPv6 server):
- https://www.isc.org/kea/
- https://gitlab.isc.org/isc-projects/kea


Проприетарные, коммерческие модули.

Лицензионный подход к расширениям - Kea Hooks Basic Commercial End
User License Agreement v2.0 (HBCEULA 2.0):
- https://www.isc.org/kea-premium-license/

То есть для kea теперь предоставляются платные, коммерческие модули в
том числе и в виде исходного кода, но только по подписке:
- https://kb.isc.org/docs/installing-the-kea-premium-hook-libraries-from-sources

И уже на системной уровне для сервера kea dhcp может возникнуть
необходимость альтернативной сборки с дополнительными внешними
плагинами, если это кому-то потребуется.


Выяснилось это при подготовке рекомендаций по развёртыванию
инфраструктры на базе новой реализации dhcp-сервера kea для обновления
dns записей в домене samba через службу kea-dhcp-ddns:
- https://kea.readthedocs.io/en/kea-2.4.1/arm/ddns.html
- https://kea.readthedocs.io/en/kea-2.4.1/arm/integrations.html#gss-tsig-overview

... Kea supports GSS-TSIG to protect DNS updates sent by the Kea
DHCP-DDNS (D2) server in a premium hook, called libddns_gss_tsig.so.


Выводы.

Получается, что для полноценного функционирования обновления
dns-записей в домене samba, есть следующие варианты:

1. Делать "ручные костыли", как и раньше (для kea эти костыли нужно
ещё готовить):
https://wiki.samba.org/index.php/Configure_DHCP_to_update_DNS_records#Create_the_script_for_the_updates

2. Покупать по подписке один из вариантов годовой лицензии у ISC:
- https://www.isc.org/shop/

3. Ожидать альтернативной реализации. Всё написано, примеры кода
других плагинов имеются. Никто не мешает написать свой
libddns_gss_tsig.so:
- https://kea.readthedocs.io/en/latest/arm/integrations.html#gss-tsig-overview
- https://kea.readthedocs.io/en/latest/arm/ddns.html

GSS-TSIG is defined in RFC 3645. The GSS-TSIG protocol itself is an
implementation of generic GSS-API v2 services, defined in RFC 2743

Secret Key Transaction Authentication for DNS (TSIG), November 2020:
- https://www.rfc-editor.org/info/rfc8945

HMAC SHA (Hashed Message Authentication Code, Secure Hash Algorithm)
TSIG Algorithm Identifiers, August 2006:
- https://www.rfc-editor.org/info/rfc4635

Generic Security Service Algorithm for Secret Key Transaction
Authentication for DNS (GSS-TSIG), October 2003:
- https://www.rfc-editor.org/info/rfc3645

Secret Key Transaction Authentication for DNS (TSIG), May 2000:
- https://www.rfc-editor.org/info/rfc2845

4. Искать другие, обходные пути. Например, если предположить, что
samba dlz-плагин для bind сможет аутентифицировать не только по
GSSAPI, то можно попытаться воспользоваться ручным "подсовыванием"
ключей, как это обычно везде и делалось.

Но это:
а) плохо масштабируется;
б) непонятно насколько легко реализуемо (это основное);
в) имеет свои издержки с точки зрения появления потенциальных уязвимостей.

Для этого требуется разбор механизма аутентификации через TSIG key
(генерируется tsig-keygen) по отношению в механизму GSS-TSIG для samba
dlz-плагина. То еcть вопрос звучит так: "Можно ли обновлять записи в
зоне обслуживаемой bind'ом через samba dlz-плагин без kerberos, то
есть без GSS-TSIG, то есть аутентифицируя на самом bind'е через
обычный TSIG Key Secret (TSIG-TKEY)?"
- https://wiki.samba.org/index.php/BIND9_DLZ_DNS_Back_End
- https://wiki.samba.org/index.php/Testing_Dynamic_DNS_Updates
- https://www.altlinux.org/ActiveDirectory/DC/BIND9_DLZ

При этом вопрос технически ставится так: "Можно ли управлять
настройками TSIG-Based Access Control (то есть правилами обновления
записей) в зоне, управляемой через dlz-плагин, для ключей
сгенерированных через tsig-keygen?"
- https://bind9.readthedocs.io/en/latest/chapter7.html#tsig

Возможно, для этого придётся внести патчи в dlz-плагин и добавить
опцию включения для такого режима.

-- 
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-12-10 17:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-10 17:27 [devel] Some premium Kea extensions that are not open source (GSS-TSIG) Evgeny Sinelnikov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git