LINUX.ORG.RU
решено ФорумAdmin

dnsmasq как авторитативный ДНС или что-то в этом духе

 


0

1

Хочу странного: есть тачка с кучей виртуалок. И есть ipv6 по которому виртуалки управляются. Вот надоело с ручным прописыванием параметров париться. Хочу чтобы виртуалка тупо сообщала dhcp6-серверу свой хостнейм, а мастер-машина делала следующее:

1) выдавала айпишник с бесконечным лизом (гусары, молчать) и днс-сервера для резолвинга

2) сообщала роуты (radvd?)

3) прописывала тачку в днс в виде <hostname>.domain.org

4) по возможности куда-то складывала выданные айпишники для учёта (это не обязательно)

Как осуществить задуманное?

Я пока вижу два варианта:

1) dnsmasq + radvd + текущий ДНС-сервер на bind9 в котором можно было бы делегировать зону типа v6.domain.org на dnsmasq

2) Поставить bind10, (там, вроде, dhcp-сервер интегрирован) но как-то не хочется

★★★★★
Ответ на: комментарий от Pinkbyte

колись, что с ключем сделал?
Неужто патченный ssh? :-)

Нет и нет. Сейчас ктулхя ответит и я кое-что объясню.

tazhate ★★★★★
()
Ответ на: комментарий от tazhate

ДА ЗНАЮ Я ЭТО. Я НЕ ПРО ПАРОЛИ ГОВОРЮ.

фух, отлегло от сердца. Вкупе с твоим недавним вопросом по генту я уж испугался худшего, но, слава Б-гу, всё в порядке :-)

Pinkbyte ★★★★★
()
Ответ на: комментарий от true_admin

Можно так же просто забыть зачем то или иное правило было добавлено.

Для этого существует документация, по хорошему надо документировать каждый чих. Особенно, когда работаетшь не один.

tazhate ★★★★★
()
Ответ на: комментарий от Pinkbyte

Вкупе с твоим недавним вопросом по генту я уж испугался худшего, но, слава Б-гу, всё в порядке :-)

Да я просто ключик не увидел сразу в мане, поэтому быстрее показалось спросить :)

tazhate ★★★★★
()
Ответ на: комментарий от true_admin

А может дать юзерам веб-морду для управления фаерволом?

Адекватных людей в организации - максимум 10 человек. Включая нас с напарником, зама по технической части, пары эникейщиков(не всех, увы) и нескольких админов подразделений.

А запросы приходят отовсюду(пишутся они под руководством эникейщиков, потому что люди про «проброс портов» знать не знают)

Pinkbyte ★★★★★
()
Ответ на: комментарий от tazhate

Все не так очевидно

на самом деле это DSA или что? :). Ты нам убогим потом расскажешь что ты с ключом сделал? :)

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

Короче, я за то чтобы убирать мартышкин труд по управлению сетью. Собстно, об этом и был изначально этот топик.

Смирись, это лор :) Теперь тут ipv6 vs nat хуливар.

tazhate ★★★★★
()
Ответ на: комментарий от true_admin

на самом деле это DSA или что? :). Ты нам убогим потом расскажешь что ты с ключом сделал? :)

Ничего :) Я просто его сгенерил обычным ssh-keygen. Тут не техническая фишка, а терминологическая.

tazhate ★★★★★
()
Ответ на: комментарий от tazhate

надо документировать каждый чих. Особенно, когда работаетшь не один.

Эт да. Я уже и позабыл почти как выглядит файл правил iptables или конфиг сквида без комментариев :-)

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Эт да. Я уже и позабыл почти как выглядит файл правил iptables или конфиг сквида без комментариев :-)

В этом плане еще часто помогают всякие etc-keeper и история изменений + внутренняя wiki.

tazhate ★★★★★
()
Ответ на: комментарий от tazhate

А что тогда значило это:

Покажи мне ключ в НЕ зашифрованном виде, пжлст

?

Или base64 это считается кодированием? Ну тогда вот:

base64.decodestring(b'MIIEowIBAAKCAQEAzAeQHdbgbBP8wv0o5BTFLbfRr/8b+XLLyZJtsmHqTTiD...')
b'0\x82\x04\xa3\x02\x01\x00\x02\x82\x01\x01\x00\xcc\x07\x90\x1d\xd6\xe0l\x13\xfc\xc2\xfd(\xe4\x14\xc5-\xb7\xd1\xaf\xff\x1b\xf9r\xcb\xc9\x92m\xb2a\xeaM8\x83...'
true_admin ★★★★★
() автор топика
Ответ на: комментарий от tazhate

-----END RSA PRIVATE KEY-----

Объясни мне это, гений шифрования :)

Это конец «оформения», который прописан в соответствующем стандарте. Как XML.
END - конец
RSA - тип асимметричного шифрования
PRIVATE KEY - закрытый ключ

Я не совсем понимаю, о чём ты. Это обычно paintext-ключ.

Закрытый ключ хранится у клиента, открытый - на сервере. RSA позволяет клиенту проверить подлинность сервера (хотя, в случае ssh, если мне не изменяет память, используется глобальные самосгенерированные ключи, которые (только публичный) клиент проверяет по отпечатку, а далее (уже после открытия туннеля с симметричным шифрованием через передачу клиенту открытого ключа, а далее передачу клиентом серверу ключа симметричного шифрования (или DH как следующего этапа) через зашифровку открытым ключем и расшифровку на сервере открытым) производится аутентификация по пользовательским ключам, причём напрямую ключ не передается серверу, сервер отсылает эталонный зашифрованный текст, клиент его расшифровывает, возвращает серверу плейн или md5, тот проверяет. либо может быть обратный метод, когда клиент подписывает эталонный текст, я хз, как оно там реализовано.).

ktulhu666 ☆☆☆
()
Ответ на: комментарий от true_admin

А может дать юзерам веб-морду для управления фаерволом?

Лол, может им ещё рута дать на всех серверах? Если говорить о частом пробросе портов, тот тут просто можно сделать веб-морду для упрощения подачи заявки, но не более того.

Короче, я за то чтобы убирать мартышкин труд по управлению сетью. Собстно, об этом и был изначально этот топик.

На трёх с половиной калеках у тебя будет мартышкин труд при управлении подсистемой менеджмента, а потом (без HA) у тебя ещё факап появится. Я тебе уже писал о методах и конкретном софте выше, если реально надо.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от tazhate

Смирись, это лор :) Теперь тут ipv6 vs nat хуливар.

Нет. Тут теперь ipv6 only vs ipv4 only и ipv6 global vs ipv6 nat.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от true_admin

Я тоже хз. У меня есть ощущение, что он меня хотел подловить на том, что ключи конкретного юзера проверяются уже после установления туннеля или на какой-нибудь хитрой прослойке, типа DH (хотя, я хз, используется ли это тут вообще, только в openvpn сталкивался). Вероятно, он хочет мне показать, что не разбираюсь с теоретической криптографии, но это нисколько не отрицаю, я и в практической не разбираюсь. Тем более, чем я - простой менеджер по продажам, сижу себе в кресле, никого не трогаю, сеть только дома админю, на звание «Лучший ИБшник 2012» не претендую.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от tazhate

Так что ты хотел про ssh рассказать. Срывай покровы.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от ktulhu666

Лол, может им ещё рута дать на всех серверах?

Если ты не видел вэбморды для клиентов по управлению ихним фаерволом то это не значит что этого нет. Это гораздо лучше чем ручная обработка заявок. При чём тут рут я не понял.

На трёх с половиной калеках у тебя будет мартышкин труд при управлении подсистемой менеджмента, а потом (без HA) у тебя ещё факап появится.

Не распарсил про калек. А HA для сетевого оборудования легко делается (проще чем для бд или вебсервера) потому что для него не обязательно хранить состояние. А если уж так надо то, по-моему, я видел описание того как на линуксе настроить репликацию conntrack-таблиц. Поэтому тут не проблема.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от ktulhu666

Покажу целиком. Шифрование по паролю - это одно. Шифрование, как понятие - это другое. Цитата:

ssh-ключи к серверам в незашифрованном виде
RSA - тип асимметричного шифрования

tazwork ~ # ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/test
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/test.
Your public key has been saved in /root/.ssh/test.pub.
The key fingerprint is:
f8:a9:e3:fe:a3:11:65:6b:91:54:b6:51:6f:db:d8:71 root@tazwork
The key's randomart image is:
+--[ RSA 2048]----+
|        ..+..    |
|       . o o .   |
|        = .   o.E|
|       + o   . =o|
|      o S     o o|
|       + .       |
|      . o        |
|      .o.        |
|     o=+..       |
+-----------------+
tazwork ~ # cat .ssh/test
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAv+k3P/rNO/dnSlMwe020ZSdNUXecw6XcDC0IbE1AUHzzAIez
rEatwL+khh7+fTrrLuCF2pE/Z8uCnmCiK0WUIYv5TU8arUGuoyeDplXAUD23x81O
2Tirb01CdDfk4mb0SM3dHwhixtYzDrdgIJ5MuN5gzIxGC65LSxD/Z/vdxaBFTxAM
Sp4i2OIuKT8O9Ac+zXtGcdkqiTfxKyuHmQSH1bbSBeP1H/zBW8Qx7fQYH2D4SEcZ
YWa+U8szNga5uZ7LSMy5xHiGWmE6f8M2x/o04gjY2MzN1CmXZWtfCyLhSzRSaTqE
JzVNzBG03/NB3BKhLZ0bRQ1z+YlNIeeANHl/UwIDAQABAoIBACEYcQTBlb8vrUpu
CkBZaDDBlF3mSMycv9QBuCAlOmAnDCkdPekJz1EcO509nxmtnX1aDvtgbRTTTdVO
SOk5eJBIeVfRuoICf8F3QQbgZufvnNACIgTn9vic1EcClKBOrPYZOnbtlUtBCVES
Yqt9YTHId90Om83L4wQxDDq8fsRj0BkBD+m/S+Y2RESDXMZKd16CitzixCQz2kOu
+vwRvjaI7KyfxSaiPjt6IPvsckSYi1Yi+0RP8hbzPAmsJhwpWd42Hi9iEfa8o4Tp
hE5opu6olvBYfiAy7MtVO7qpgVrZZ0DJtlVBNxhLe5m2T+rIy685313W2czbLlp6
PNG4HYECgYEA/1CfUskCJKKqFZ7R19AQhKxV2JfMLJVX95nGaOXbxomim2Uh+xKT
qUUAuRd8E0k7ZAvrYSeR7DKmfQl/1NGMAxKZXmm/MA+5rA5BreOVuZ8O3rKYbEgS
158j/NbwFK55HvNacDDAiIRyzfcCX7MwiTkQjn1c4t8SLmEFY7A1OCECgYEAwG0K
dTfgRU0jVjlYTVifHwoii0P5fS7nNmstbdFzFrrcdwMNaMK4wpxlO+fgqVlG4Jlb
AiEGGZhkkI2PGUSuqiQrvLgVxHJ2CS0IGTmg7czLjVA2UX6n35ILm0lTjVFU/367
ihZzCo6kBgFQtHiB6EwglR9AxTT9aY3nyj/uOPMCgYEAi+9UY7toQUwmjNMPkImp
hA4wvxX0AjuYi0ztQnE5lAe76A/2H/Z+mDgJvWjxyGBK/PrLd+SIRj08oyuhtLNl
WgnHpcev0lfMHFF0Diq+1Y4oSEb6495c9XFz+BCWZb97A0u+Nd+Cp1Bw3BKWan18
DLoKKQ7s6iv5exISMiFSCgECgYBhvoHTbSCk0zwh7lsmXt/lGnbVmx++MPcNs3+O
CxiU8TJP2eMT1eWYJW1e8rgyDcFtETkjabb5hWl/7AhGY5b9ogX9hNy5vxKqMo+s
kJNod+Dl1VriJp4LeNogdSzV2fx9E9kbma+yKyayTjS6l4QVhaX/WbLC+dnHpmeZ
WsQddQKBgQDLcLa8Dq0qxlEFQCxFkwU4WQx6ph/lGsaeIV4elMNwR9XHw+CBSuvo
DKU52eyD29+8bkGWXeYimCsqDx6la0KQO6bVzGilXhspvM5tvso1lk5aK/fICav9
8kWVD4fvcieR7tiTWghABXFkK0oNc170oQB8ttVwo1t2mFwgzHStNw==
-----END RSA PRIVATE KEY-----

So if you want to send a message to everyone and you want them to verify that it came from you and was unaltered while it was being delivered, you would send your message and include a hash of the message encrypted with Key A. Then anyone who has Key B can decrypt the hash, compare it to the message they received, and verify that the message came from you (due to the fact that only a person with Key A could have generated the encrypted payload that successfully decrypted hash, and because you are the only person with Key A it could only come from you). This is called Signing.

Now lets say someone wants to send you a secret message but does not want to reveal who they are. They can encrypt their message with a symmetric key (as Zoredache mentioned symmetric is much cheaper to do) then take that key and encrypt it with Key B and send it to you. Because only Key A can Decrypt something that was encrypted with Key B no other person can see what is in the message that was sent to you. This is how normal encryption works and how SSH exchanges data.

Вывод сам сделаешь? :)

tazhate ★★★★★
()
Ответ на: комментарий от ktulhu666

Тем более, чем я - простой менеджер по продажам, сижу себе в кресле, никого не трогаю, сеть только дома админю, на звание «Лучший ИБшник 2012» не претендую.

Так а что ты с натом то своим лезешь то тогда? :)

tazhate ★★★★★
()
Ответ на: комментарий от true_admin

Есть такой фразеологизм «три калеки». Пример: «и ты на этих трёх калеках с бедными хардами будешь mysql-кластер поднимать?».

А HA для сетевого оборудования легко делается (проще чем для бд или вебсервера) потому что для него не обязательно хранить состояние.

Ага, только тебе нужен будет резервный dhcp-сервер, сервер конфигураций, менеджемент-сервер и т.д. Автоматизация при малых масштабах может нести больший геморрой, чем ручная работа. Это как переименовать папки в соответствии с датой. При трёх папках проще вручную.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от ktulhu666

Ага, только тебе нужен будет резервный dhcp-сервер, сервер конфигураций, менеджемент-сервер и т.д.

Без проблем, виртуалку со всеми сервисами целиком склонирую. Мы так и делали с помощью carp, квагги и rsync (который запускался только в момент обновления конфигурации). Серьёзно, это работает, обычный сценарий failover.

При трёх папках проще вручную.

Я «тренируюсь на кошках». Кто знает чем я буду заниматься через пол года или год.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Погуглил, conntrackd занимается этим.

Я более того скажу, мне рассказывали чудные истории о софте с полным failover которое даже tcp-сессии с того же места поднимало если сервер умирал. Но, имхо, это совсем упорин :).

true_admin ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Мне этот упорин актуален становится :)

Речь о вебе? Имхо, проще на уровне клиента в ajax сделать перепосылку запроса если связь порвалась. А на стороне серверов обернуть всё в БД с транзакциями и разруливаь это.

А все эти игрища с репликацией tcp, имхо, хрень полная. Ты представь сколько там оверхеда, там же все sequence numbers, всё-всё-всё синкается. Но, если очень надо, такое есть :).

true_admin ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Вывод сам сделаешь? :)

Нет поясни. Я считаю, что я всё верно сказал.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от tazhate

Вывод сам сделаешь? :)

Не томи, в чём суть? :) Зачитываение манов в слух это интересно, но к чему это?

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

WTF? Нет, конечно. Только публичный ключ для первичного туннеля. Я говорил о том, что в случае взлома (или временного получения доступа с ФС) рабочей станции с незашифрованными паролем закрытыми ключами от ssh можно весело спереть все ключи и сразу же получить доступ ко всем серверам. Видимо, таз просто ищет, куда бы меня уколоть, не выдержав критики про безопасность и нужность ipv6. :)

ktulhu666 ☆☆☆
()
Ответ на: комментарий от ktulhu666

в случае взлома (или временного получения доступа с ФС) рабочей станции с незашифрованными паролем закрытыми ключами

Если ключ в памяти то его не проблема вытащить. Достаточно сдампить /proc/`pidof ssh-agent`/mem и потом посидеть с дебагером.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

Достаточно сдампить /proc/`pidof ssh-agent`/mem и потом посидеть с дебагером.

Это в других дистрибутивах не проблема. А в hardened gentoo весьма проблема :)

ktulhu666 ☆☆☆
()
Ответ на: комментарий от true_admin

Маловероятно, что сработает. Если писали всё как надо, то после подключения к серверу и авторизации закрытый ключ уже не нужен, поэтому его можно просто затереть в памяти. Особо «умные» прогеры могут оставить его висеть в памяти, или сделать простое free() без зануления. В этом случае страница (но это как повезет, более вероятен второй вариант) может быть отозвана ядром, как неиспользуемая память, а может (если имеет другие нужные данные) просто и висеть в памяти процесса. В первом случае может пригодиться /dev/mem.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от true_admin
host -t AAAA http://www.yandex.ru
http://www.yandex.ru has IPv6 address 2a02:6b8::3

Как я рассказывал, у нас сделан DNS view для тех ASN, про которые мы знаем, что там все нормально со связанностью.

Но можно посмотреть на

host -t aaaa mirror.yandex.ru
mirror.yandex.ru has IPv6 address 2a02:6b8:0:201::1

он открыт на весь интернет без DNS view.

ivlad ★★★★★
()
Ответ на: комментарий от ktulhu666

БОльшинство людей добавляет ключ в ssh-add, потому что иначе затрахаешься его постоянно вбивать (кому охота вбивать сто раз в день длинный пароль?) и есть шанс вбить данные не в то окно итп.

/dev/mem

Это требует рута, я поэтому и не предложил. Многие оставляют пароль и поднятие привилегий это проблема.

Впрочем, у меня sudo безпарольный и как его научить не требовать пароль только из консоли я не знаю.

в hardened gentoo весьма проблема :)

Ты сидишь на hardened gentoo?

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

БОльшинство людей добавляет ключ в ssh-add, потому что иначе затрахаешься его постоянно вбивать (кому охота вбивать сто раз в день длинный пароль?) и есть шанс вбить данные не в то окно итп.

БОльшинство людей используют оффтопик и банальные зонды от гугла на мобильнике. А также не заботятся о приватности, выкладывая всю личную жизнь в Сеть, и о безопасности (не используя пароли или используя дату рождения).
БОльшинство - http://www.kletka.net/uploads/posts/2011-12/1324946617_bydlo-diskar3.jpg http://5an.ru/wp-content/uploads/2009/06/d0b1d18bd0b4d0bbd0be1.jpg http://joyreactor.cc/post/258487
А в IT БОльшинство занимается этим: http://im9.asset.yvimg.kz/userimages/drenotur/8COjSq5J4ZT00Ij0r2Ro73K5wcnn1f.jpg и этим: http://pro100.od.ua/Neyda4_zapravka/neyda4a_zapravka1.jpg . Ну и этим, конечно: http://i011.radikal.ru/1108/28/6658e7cc845d.jpg

Рекомендую быть, как БОльшинство.

Это требует рута, я поэтому и не предложил. Многие оставляют пароль и поднятие привилегий это проблема.

Впрочем, у меня sudo безпарольный и как его научить не требовать пароль только из консоли я не знаю.

Если память не изменяет, PAM может проверять, с какого tty вход производится.
Но это весьма глупая идея. Хотя бы пару символов уж поставь :)
http://turbo.paulstamatiou.com/uploads/2007/03/outpost_firewall_review1.jpg

Ты сидишь на hardened gentoo?

Внезапно! http://globala.ru/uploads/images/00/00/42/2010/10/12/1467b6.jpg У меня одна из аватарок даже такой была.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от ktulhu666

Хотя бы пару символов уж поставь

пароль sudo это пароль от своего аккаунта, в том числе пароль на, скажем, ecryptfs. Нужен другой механизм. Скажем, вызов только из терминала который непосредственно запущен пользователем. Это можно проверить по иерархии процессов.

Так что, ты вбиваешь пароль на ключ каждый раз?

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

пароль sudo это пароль от своего аккаунта, в том числе пароль на, скажем, ecryptfs

Это кто тебе такое сказал? То, что у тебя такие настройки по-дефолту стоят, это ещё не значит, что данный механизм только так работает.

Нужен другой механизм.

Какой?

Скажем, вызов только из терминала который непосредственно запущен пользователем. Это можно проверить по иерархии процессов.

Использование нормального пароля делает данную проверку не особо нужной. По вообще, как я писал выше, PAM поддерживает проверку по tty. Думаю, что если тебе нужно именно по иерархии процессов смотреть, то можно написать bash-скрипт, а затем использовать pam враппер-либу, которая будет проксировать сигнал завершения приложению, которое будет эту либу вызывать (sudo?).

Так что, ты вбиваешь пароль на ключ каждый раз?

Да.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от ktulhu666

Использование нормального пароля

You're doing it wrong. Слишком много возни с паролями. Я думаю что поставлю apparmor (если он нормально на арч натягивается) и просто разрешу доступ к приватным данным только определённым процессам.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

You're doing it wrong.

Нет, это ты хочешь на недовершенной машине использовать ssh с незашифрованными ключами. Это можно делать только на отдельной машине, без доступа к ней из вне (ssh, vnc).

ktulhu666 ☆☆☆
()
Ответ на: комментарий от tazhate

Таз, ты там долго будешь рожать? Или ты окончательно слился?

ktulhu666 ☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.