Директива $ORIGIN в файлах зоны IPv6

Нет никакого способа изменить рабочий каталог процесса от за пределами него, корень или нет. Это было бы чрезвычайно тревожащим для процесса жертвы, и нет только никакого API для него.

Теперь Вы могли использовать злые шутки. Один из них присоединяет отладчик к Вашему целевому процессу и вызывает a chdir на нем - посмотрите этот вопрос на Переполнении стека. Некоторые операционные системы могли бы предложить другие API, чтобы сделать такие задачи (вводящий syscalls в не подозревающих процессах).

Что касается Вашей цели перемонтирования файловой системы из-под кого-то, это чрезвычайно безнадежно, даже если Вам технически удается взломать его - возможности являются процессом, будет иметь открытые дескрипторы файлов на "старом" монтировании, и нет никакого портативного способа правильно повторно прикрепить их к файлам на "новом" монтировании, даже если соответствующие файлы все еще там.
Подход, который, казалось бы, работал бы в теории, должен будет отсортировать, в спящем режиме процессы, которые Вы хотите из пути к тому обслуживанию. Но существует много проблем с этим, особенно рассматривая не просто файлы, но сетевые сокеты. (См. этот другой вопрос для некоторых интересных моментов.)

Короче говоря, Вы более обеспечены с вежливым kill (с льготным периодом), нет никакого сообщения, с чем неожиданные последствия могли явиться результатом того, чтобы играть в игры cwd на вероятностном процессе.

3
19.07.2013, 18:00
2 ответа

Любая директива $ORIGIN только применяется от той точки вперед. Посмотрите, например, Pro DNS и BIND - Главу 8 - Директива $ORIGIN.

Первая директива $ORIGIN помогает относиться к 2001:db8:302::/48, который покрыт зоной.

Вторая директива $ORIGIN помогает относиться к 2001:db8:302:0::/64, который является подсетью разумного размера (/64 быть подсетью стандартного размера в IPv6).

Это избегает, чтобы четверка обнулила, который с в других отношениях громоздкими именами RR реверса IPv6 может сделать ее довольно трудно для отслеживания вещи. Я для каждый не рассчитывал, имел ли Ваш пример 19, 20 или 21 0 в нем. Конечно, можно было бы надеяться, что я не имею к количеству 15, 16 или 17 также, но по крайней мере это немного короче.

Обратите внимание, что Вы не должны делать свой сервер имен авторитетным для всей зоны реверса/48, если весь/48 блок на самом деле не находится под Вашим контролем и присвоен Вам.

Pro подсказка: Особенно в случае подсетей IPv6 и обратных записей DNS, имейте в виду, что Вам разрешают использовать неполностью определенное имя в директиве $ORIGIN. Например:

$ORIGIN 2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa. ;; Below this applies to 2001:db8:302::/48
@ SOA ...
; ... whatever else applies ...

$ORIGIN 0.0.0.0 ;; Below this applies to 2001:db8:302:0::/64
; ... whatever applies ...

Особенно в этом случае я настоятельно рекомендую оставить комментарий рядом с директивой $ORIGIN, чтобы ясно дать понять намерение. Отсутствие завершающихся периодов в конце маркировок является общим источником проблем DNS, таким образом, хорошо явно вызвать это, Вы не намеревались сделать полностью определенное имя раз так.

Также обратите внимание, что этот прием только работает на более длинные источники, таким образом, можно пойти от 2001:db8:302::/48 к 2001:db8:302:0::/64, но не от 2001:db8:302:0::/64 к 2001:db8:302:1::/64. (Но Вы могли пойти от 2001:db8:302::/60 к 2001:db8:302:1::/64, если бы Вы были так склонны.)

2
27.01.2020, 21:23

Только для добавления к ответу @MichaelKjörling я делаю что-то подобное в моем DNS связывает установку. Именно так, что я не должен продолжать копировать блоки имен, являются повторяющимися.

$ORIGIN .
$TTL 604800 ; 1 week
bubba.net       IN SOA  ns.bubba.net. hostmaster.bubba.net. (
                2000075011 ; serial
                28800      ; refresh (8 hours)
                7200       ; retry (2 hours)
                3600000    ; expire (5 weeks 6 days 16 hours)
                86400      ; minimum (1 day)
                )
            NS  ns.bubba.net.
            A   192.168.1.1
            MX  10 mail.bubba.net.
            MX  20 mail.bubba.net.
            TXT "v=spf1 mx/24 ~all"

Я затем могу запустить свой домен "bubba.net" путем установки $ORIGIN, продвигающегося в файле отсюда:

$ORIGIN bubba.net.
apu         A   192.168.1.112
            HINFO   "VZ12" "VZ12"
            MX  10 mail
            TXT "v=spf1 redirect=bubba.net"
bart            A   192.168.1.103
            HINFO   "VZ3" "VZ3"
            MX  10 mail
            TXT "v=spf1 redirect=bubba.net"

Я затем позже в том же файле устанавливаю $ORGIN снова, на этот раз на "somedom.com.bubba.net". таким образом, я могу сделать вещи как это:

$ORIGIN somedom.com.bubba.net.
$TTL 172800 ; 2 days
bender                      CNAME   bender.bubba.net.
blog                        CNAME   blogs.bubba.net.
db                          CNAME   db.bubba.net.

Таким образом в вышеупомянутом существует запись, которая при расширении говорит это:

bender.somedom.com.bubba.net.   CNAME   bender.bubba.net.

Я делаю это неоднократно в файле для добавления дополнительных доменов в соединение. Причина я делаю это этот путь, состоит в том так, чтобы я мог установить серверы в первичном домене (bubba.net), но создать CNAMEs для серверов и сервисных названий в других доменах и наложить их на мой первичный домен.

Например:

У меня есть домен в Интернете, somedom.com. Я создаю a CNAME в пространстве имен того домена под названием blog.somedom.com. Установка сервиса и конфигурирование его, я буду использовать blog.somedom.com везде, но проложенный под землей в моем DNS, связывают сервер, который я имею CNAME отображение blog.somedom.com, который связывает это имя к фактическому серверу blog.bubba.net, который предоставляет услугу.

Ссылки

1
27.01.2020, 21:23

Теги

Похожие вопросы