From: Evgeny Sinelnikov <sin@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: [devel] Some premium Kea extensions that are not open source (GSS-TSIG) Date: Sun, 10 Dec 2023 21:27:54 +0400 Message-ID: <CAK42-GpqZ+aLjtTZ5sHF5VmxejEykeHd+-2mTPfB-UUUhD6gUA@mail.gmail.com> (raw) Добрый вечер, дублирую выводы из разбора возможностей новой реализации 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)
reply other threads:[~2023-12-10 17:27 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAK42-GpqZ+aLjtTZ5sHF5VmxejEykeHd+-2mTPfB-UUUhD6gUA@mail.gmail.com \ --to=sin@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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