Безопасное Динамическое Обновление Записей Dns В Домене Windows Из Linux (Gss-Tsig)

Необходимость в таком обновлении возникла в следующей ситуации: я установил openvpn-сервер на Linux, и к нему подключались удаленные клиенты.

Сервер Openvpn сам динамически выдает адреса клиентам и хотелось бы, чтобы он создавал записи DNS с сертификатом общего имени на DNS-сервере, который интегрирован в Active Directory. Здесь можно пойти простым путем и в свойстве зоны «Динамическое обновление» установить опцию «Небезопасно и безопасно», но тогда любой, кто имеет доступ к DNS-серверу, сможет менять записи зоны — не комильфо.

Если вы установите «Только безопасный», то DNS-сервер обязательно потребует аутентификацию по протоколу GSS-TSIG. Далее мы поговорим о том, как все это настроить.

Для начала создаём доменного пользователя с минимальными правами, например ddns, и даем ему сложный пароль и опцию «Пароль не имеет срока действия».

Этот пользователь должен иметь достаточные права для изменения записей зоны DNS. В свойствах DNS-зоны необходимо выбрать опцию «Только безопасные обновления».

Установка клиента Kerberos:

  
  
  
  
  
  
  
  
  
   

sudo apt-get install krb5-user

Давайте отредактируем /etc/krb5.conf:

[libdefaults] default_realm = DOMAIN.LOCAL [realms] DOMAIN.LOCAL = { kdc = 192.168.2.200 kdc = 192.168.2.202 default_domain = domain.local admin_server = 192.168.2.200 } [domain_realm] .

domain.local = DOMAIN.LOCAL domain.local = DOMAIN.LOCAL

Хотя клиент будет работать даже в такой конфигурации:

[libdefaults] default_realm = DOMAIN.LOCAL

Важным моментом для Kerberos является синхронизация часов сервера и клиента.

Можно установить службу ntpd — она будет поддерживать правильное время:

sudo apt-get install ntp

С помощью ktutil создадим файл keytab, в котором будут храниться данные для аутентификации пользователя ddns:

sudo ktutil ktutil: addent -password -p [email protected] -k 1 -e rc4-hmac ktutil: write_kt krb5.keytab ktutil: quit

Теперь вы можете проверить, все ли было сделано правильно:

kinit -k -t krb5.keytab ddns

Никакого вывода быть не должно.

Вы можете просмотреть полученные билеты:

klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: [email protected] Valid starting Expires Service principal 29.04.2014 14:50:39 30.04.2014 00:50:39 krbtgt/[email protected] renew until 30.04.2014 14:50:39

Если keytab размещен по умолчанию (etc/krb5.keytab), то команду можно сократить:

kinit -k ddns

Теперь осталось настроить openvpn. Для этого в файле конфигурации сервера openvpn должна быть опция:

learn-address /etc/openvpn/learn-address.sh

Сам скрипт Learn-address.sh:

#!/bin/bash dnsserver=192.168.2.200 fwdzone=domain.local revzone=7.168.192.in-addr.arpa ttl=300 op=$1 addr=$2 revaddr=`echo $addr | sed -re 's:([0-9]+)\.

([0-9]+)\.

([0-9]+)\.

([0-9]+):\4.\3.\2.\1.in-addr.arpa:'` cn=$3 fqdn=$cn.$fwdzone dir=/etc/openvpn/dns addfile=$dir/add_$addr delfile=$dir/del_$addr keytab_file=/etc/openvpn/krb5.keytab user=ddns addRecord() { kinit -k -t $keytab_file $user cat > $addfile << EOF gsstsig server $dnsserver zone $fwdzone update delete $fqdn a update add $fqdn $ttl a $addr send zone $revzone update delete $revaddr ptr update add $revaddr $ttl ptr $fqdn send EOF cat > $delfile << EOF gsstsig server $dnsserver zone $fwdzone update delete $fqdn a send zone $revzone update delete $revaddr ptr send EOF nsupdate -v $addfile rm -f $addfile } delRecord() { kinit -k -t $keytab_file $user nsupdate -v $delfile rm -f $delfile } case $op in add|update) addRecord ;; delete) delRecord ;; *) echo "Unable to handle operation $op. Exiting" exit 1 esac

Подводя итог: Ключевым моментом является возможность gsstsig в файле, который передается утилите нсупдате .

В этом случае билет необходимо получить от контроллера домена с помощью кинит &ltuser&gt .

Теги: #Системное администрирование #openvpn #настройка Linux #dns #kerberos #active каталог #Active Directory #dynamic dns #gss-tsig #nsupdate #gsstsig #Динамическое обновление #Только безопасные #Только безопасные обновления

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.